Files
Archive/retro/TROUBLESHOOTING.md

7.5 KiB

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:
    # 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:
    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:
    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:

# Just reload the browser page
# Vite hot-reloads automatically in dev mode

Clear Browser Cache

# Chrome/Edge: Ctrl+Shift+Delete
# Firefox: Ctrl+Shift+Delete
# Safari: Cmd+Option+E

Restart All Services

# 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:
    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:
    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:
    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:

# 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

# 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.