Files
Archive/retro/TROUBLESHOOTING.md

282 lines
7.5 KiB
Markdown
Raw Normal View History

2025-12-09 06:52:43 +00:00
# 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.