282 lines
7.5 KiB
Markdown
282 lines
7.5 KiB
Markdown
|
|
# Habbo Retro - Troubleshooting Guide
|
||
|
|
|
||
|
|
## Browser Console Errors Explained
|
||
|
|
|
||
|
|
### ✅ Normal (Can Ignore)
|
||
|
|
|
||
|
|
These are expected and won't affect functionality:
|
||
|
|
|
||
|
|
#### "Access to storage is not allowed from this context"
|
||
|
|
- **Cause**: Browser privacy settings preventing localStorage access
|
||
|
|
- **Impact**: None - Nitro handles this gracefully
|
||
|
|
- **Fix**: Not needed, or enable storage in browser settings
|
||
|
|
|
||
|
|
#### "apple-mobile-web-app-capable is deprecated"
|
||
|
|
- **Cause**: Old meta tag in HTML
|
||
|
|
- **Impact**: None - just a warning
|
||
|
|
- **Fix**: Not needed for desktop use
|
||
|
|
|
||
|
|
### ⚠️ Minor Issues (Partial Functionality)
|
||
|
|
|
||
|
|
#### "Failed to load c_images/album1584/[badge].gif"
|
||
|
|
- **Cause**: Badge images not included in your asset pack
|
||
|
|
- **Impact**: User badges won't display (images only)
|
||
|
|
- **Fix**:
|
||
|
|
```bash
|
||
|
|
# Create directory structure
|
||
|
|
mkdir -p /Users/matt/DEV/retro/nitro-assets/nitro-assets/c_images/album1584
|
||
|
|
|
||
|
|
# Download badge pack from community or Habbo.com
|
||
|
|
# Place .gif files in the album1584 folder
|
||
|
|
```
|
||
|
|
|
||
|
|
### ❌ Critical Errors (Need Fixing)
|
||
|
|
|
||
|
|
#### "WebSocket connection failed"
|
||
|
|
- **Cause**: Emulator not running or WebSocket plugin not loaded
|
||
|
|
- **Check**:
|
||
|
|
```bash
|
||
|
|
netstat -an | grep 2096
|
||
|
|
# Should show: tcp46 0 0 *.2096 *.* LISTEN
|
||
|
|
```
|
||
|
|
- **Fix**: Restart emulator with WebSocket plugin in plugins/ folder
|
||
|
|
|
||
|
|
#### "Failed to load ExternalTexts.json"
|
||
|
|
- **Status**: FIXED in your setup! ✅
|
||
|
|
- **Was caused by**: Incorrect URL format `?v= + Math.random()`
|
||
|
|
- **Fixed by**: Removing the malformed cache-busting parameter
|
||
|
|
|
||
|
|
#### "Cannot connect to game server"
|
||
|
|
- **Cause**: Emulator offline or wrong ports
|
||
|
|
- **Check**:
|
||
|
|
```bash
|
||
|
|
ps aux | grep Habbo
|
||
|
|
netstat -an | grep 30000
|
||
|
|
```
|
||
|
|
- **Fix**: Restart emulator
|
||
|
|
|
||
|
|
## Current Status of Your Setup
|
||
|
|
|
||
|
|
### ✅ Working
|
||
|
|
- Nitro client loads (v2.1.1)
|
||
|
|
- PixiJS renderer active (WebGL 2)
|
||
|
|
- WebSocket connection ready (port 2096)
|
||
|
|
- Asset server running (port 8080)
|
||
|
|
- Configuration files correct
|
||
|
|
|
||
|
|
### ⚠️ Known Limitations
|
||
|
|
- Badge images not available (minor cosmetic issue)
|
||
|
|
- `c_images` directory missing (badges only)
|
||
|
|
|
||
|
|
### 🔧 How to Test Everything Works
|
||
|
|
|
||
|
|
1. **Open the client**: http://localhost:5173/?sso=test_sso_2024
|
||
|
|
|
||
|
|
2. **Check browser console** (F12):
|
||
|
|
- Should see: "Nitro 2.1.1 - Renderer 1.6.6"
|
||
|
|
- Should see: "PixiJS 6.5.10 - WebGL 2"
|
||
|
|
|
||
|
|
3. **Look for WebSocket connection**:
|
||
|
|
- Open Network tab in browser tools
|
||
|
|
- Filter by "WS" (WebSockets)
|
||
|
|
- Should see connection to `ws://localhost:2096`
|
||
|
|
- Status should be "101 Switching Protocols" (success!)
|
||
|
|
|
||
|
|
4. **Test gameplay**:
|
||
|
|
- Avatar should load
|
||
|
|
- Hotel view should appear
|
||
|
|
- Navigator should work
|
||
|
|
- Can enter rooms
|
||
|
|
- Can chat
|
||
|
|
|
||
|
|
## Quick Fixes
|
||
|
|
|
||
|
|
### Refresh Configuration Changes
|
||
|
|
If you changed `renderer-config.json`:
|
||
|
|
```bash
|
||
|
|
# Just reload the browser page
|
||
|
|
# Vite hot-reloads automatically in dev mode
|
||
|
|
```
|
||
|
|
|
||
|
|
### Clear Browser Cache
|
||
|
|
```bash
|
||
|
|
# Chrome/Edge: Ctrl+Shift+Delete
|
||
|
|
# Firefox: Ctrl+Shift+Delete
|
||
|
|
# Safari: Cmd+Option+E
|
||
|
|
```
|
||
|
|
|
||
|
|
### Restart All Services
|
||
|
|
```bash
|
||
|
|
# Stop everything
|
||
|
|
pkill -f "Habbo-3.6.0"
|
||
|
|
pkill -f "python3 -m http.server 8080"
|
||
|
|
pkill -f "vite"
|
||
|
|
|
||
|
|
# Start MySQL
|
||
|
|
brew services start mysql
|
||
|
|
|
||
|
|
# Start Emulator
|
||
|
|
cd /Users/matt/DEV/retro/emulator
|
||
|
|
java -jar Habbo-3.6.0-jar-with-dependencies.jar &
|
||
|
|
|
||
|
|
# Start Assets
|
||
|
|
cd /Users/matt/DEV/retro/nitro-assets/nitro-assets
|
||
|
|
python3 -m http.server 8080 &
|
||
|
|
|
||
|
|
# Start Client
|
||
|
|
cd /Users/matt/DEV/retro/nitro-react/nitro-react
|
||
|
|
npm start
|
||
|
|
```
|
||
|
|
|
||
|
|
## Asset Issues
|
||
|
|
|
||
|
|
### Missing Furniture Icons
|
||
|
|
- **Symptom**: Furniture shows as blank squares
|
||
|
|
- **Cause**: Icons not in asset pack
|
||
|
|
- **Fix**: Download complete asset pack from community
|
||
|
|
|
||
|
|
### Missing Avatar Parts
|
||
|
|
- **Symptom**: Avatar appears naked or incomplete
|
||
|
|
- **Cause**: Missing figure .nitro files
|
||
|
|
- **Check**:
|
||
|
|
```bash
|
||
|
|
ls /Users/matt/DEV/retro/nitro-assets/nitro-assets/bundled/figure/
|
||
|
|
# Should have many .nitro files
|
||
|
|
```
|
||
|
|
|
||
|
|
### Game Data Not Loading
|
||
|
|
- **Symptom**: Empty catalog, no items
|
||
|
|
- **Cause**: Database or gamedata JSON issues
|
||
|
|
- **Check**:
|
||
|
|
```bash
|
||
|
|
curl http://localhost:8080/gamedata/FurnitureData.json | head
|
||
|
|
# Should return JSON data
|
||
|
|
```
|
||
|
|
|
||
|
|
## Database Issues
|
||
|
|
|
||
|
|
### "Access denied for user"
|
||
|
|
- **Cause**: Wrong database credentials
|
||
|
|
- **Fix**: Check emulator/config.ini matches database user
|
||
|
|
|
||
|
|
### "Unknown database 'habbo_retro'"
|
||
|
|
- **Cause**: Database not created
|
||
|
|
- **Fix**:
|
||
|
|
```bash
|
||
|
|
mysql -u root -e "CREATE DATABASE habbo_retro;"
|
||
|
|
```
|
||
|
|
|
||
|
|
### "Table doesn't exist"
|
||
|
|
- **Cause**: Database not imported
|
||
|
|
- **Fix**: Import FullDB.sql again
|
||
|
|
|
||
|
|
## Network Issues
|
||
|
|
|
||
|
|
### "ERR_CONNECTION_REFUSED"
|
||
|
|
- **Cause**: Service not running on that port
|
||
|
|
- **Check**: `netstat -an | grep [PORT]`
|
||
|
|
- **Fix**: Start the service
|
||
|
|
|
||
|
|
### "ERR_EMPTY_RESPONSE"
|
||
|
|
- **Cause**: Server crashed or restarting
|
||
|
|
- **Fix**: Check server logs, restart service
|
||
|
|
|
||
|
|
### CORS Errors
|
||
|
|
- **Cause**: Assets served from different origin
|
||
|
|
- **Impact**: Usually just warnings, assets should still load
|
||
|
|
- **Fix**: Use proper web server (nginx/apache) in production
|
||
|
|
|
||
|
|
## Emulator Logs
|
||
|
|
|
||
|
|
View emulator logs:
|
||
|
|
```bash
|
||
|
|
# Real-time viewing
|
||
|
|
tail -f /Users/matt/DEV/retro/emulator/logging/*.log
|
||
|
|
|
||
|
|
# Search for errors
|
||
|
|
grep ERROR /Users/matt/DEV/retro/emulator/logging/*.log
|
||
|
|
```
|
||
|
|
|
||
|
|
Common log messages:
|
||
|
|
```
|
||
|
|
✅ "Nitro Websockets Listening" - WebSocket ready
|
||
|
|
✅ "GameEnvironment -> Loaded!" - Emulator ready
|
||
|
|
✅ "Arcturus Morningstar has successfully loaded" - All good
|
||
|
|
⚠️ "Column 'cost_happiness' not found" - Minor, ignore
|
||
|
|
❌ "Failed to initialize pool" - Database connection failed
|
||
|
|
❌ "Plugin failed to load" - Check plugins folder
|
||
|
|
```
|
||
|
|
|
||
|
|
## Performance Issues
|
||
|
|
|
||
|
|
### Client Loading Slowly
|
||
|
|
- Check asset server is running: `curl http://localhost:8080`
|
||
|
|
- Check network tab for slow requests
|
||
|
|
- Large FurnitureData.json (23MB) is normal, takes time
|
||
|
|
|
||
|
|
### High CPU Usage
|
||
|
|
- Emulator: Normal at 10-30% CPU
|
||
|
|
- Client: Normal at 5-15% CPU while idle
|
||
|
|
- Spikes during room loading are normal
|
||
|
|
|
||
|
|
### Memory Leaks
|
||
|
|
- Emulator should stay under 200MB
|
||
|
|
- If memory grows continuously, restart emulator
|
||
|
|
- Check for "memory leak" in logs
|
||
|
|
|
||
|
|
## Getting Help
|
||
|
|
|
||
|
|
### Information to Provide
|
||
|
|
When asking for help, include:
|
||
|
|
|
||
|
|
1. **Browser console output** (F12 → Console tab)
|
||
|
|
2. **Emulator log snippet** (last 50 lines)
|
||
|
|
3. **What you were trying to do**
|
||
|
|
4. **What happened instead**
|
||
|
|
5. **Your setup**:
|
||
|
|
- OS: macOS
|
||
|
|
- Emulator: Arcturus Morningstar 3.6.1
|
||
|
|
- Client: Nitro React 2.1.1
|
||
|
|
- Database: MySQL 9.5.0
|
||
|
|
|
||
|
|
### Useful Commands
|
||
|
|
```bash
|
||
|
|
# Check all services
|
||
|
|
netstat -an | grep LISTEN | grep -E "2096|3000|5173|8080|30000"
|
||
|
|
|
||
|
|
# View processes
|
||
|
|
ps aux | grep -E "java|python3|vite|mysql"
|
||
|
|
|
||
|
|
# Test asset server
|
||
|
|
curl -I http://localhost:8080/gamedata/FurnitureData.json
|
||
|
|
|
||
|
|
# Test database
|
||
|
|
mysql -u habbo_user -phabbo_password_2024 habbo_retro -e "SELECT COUNT(*) FROM users;"
|
||
|
|
|
||
|
|
# Check WebSocket
|
||
|
|
curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" http://localhost:2096
|
||
|
|
```
|
||
|
|
|
||
|
|
## Success Criteria
|
||
|
|
|
||
|
|
Your setup is working if:
|
||
|
|
- ✅ No red errors in browser console (warnings OK)
|
||
|
|
- ✅ WebSocket shows "Connected" in Network tab
|
||
|
|
- ✅ Avatar loads and displays
|
||
|
|
- ✅ Can navigate hotel
|
||
|
|
- ✅ Can enter rooms
|
||
|
|
- ✅ Can see furniture
|
||
|
|
- ✅ Chat works
|
||
|
|
|
||
|
|
Minor issues you can ignore:
|
||
|
|
- ⚠️ Storage access warnings
|
||
|
|
- ⚠️ Missing badge images
|
||
|
|
- ⚠️ CORS warnings (in dev mode)
|
||
|
|
- ⚠️ Deprecated meta tag warnings
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**Your Current Status**: ✅ FULLY OPERATIONAL
|
||
|
|
|
||
|
|
All critical systems working, only minor cosmetic issues (badges) which don't affect core functionality.
|