Skip to main content

Common Issues

Characters Vanishing

Symptom: Characters disappear after page refresh Cause: Missing Privy credentials—each refresh creates a new anonymous identity Solution: Configure Privy authentication:

Assets Not Loading

Symptom: 404 errors for models/avatars Cause: CDN container not running (development) or wrong CDN URL (production) Solutions: Development:
Production:
Verify CDN is accessible:
Production:
  1. Verify PUBLIC_CDN_URL is set correctly in server environment
  2. Check manifests are publicly accessible:
  3. Check server logs for manifest fetch errors:
Manifest fetch failures:
  • Server logs “Failed to fetch manifests from CDN”
  • Verify CDN URL is accessible
  • Check CORS headers allow server origin
  • In development, manifests can be local (skips CDN fetch)

Manifests Not Loading

Symptom: Server logs show “Failed to fetch manifests” or “No manifests available” Causes:
  • CDN not accessible at PUBLIC_CDN_URL
  • Manifests not deployed to CDN
  • Network connectivity issues
Solutions: Development:
Production:
Test Environment:
Production: Verify PUBLIC_CDN_URL points to the correct R2 bucket:
  • Production: https://assets.hyperscape.club
  • Staging: https://staging-assets.hyperscape.club

Manifest Fetch Failures

Symptom: Server logs show “Failed to fetch manifests from CDN” Causes:
  • CDN URL incorrect or unreachable
  • R2 bucket not configured
  • Network connectivity issues
Solution: Development:
Production:
Test environment:

Database Schema Errors

Symptom: Errors about missing columns or tables Cause: Schema changed but migrations not run Solution:
For a complete reset (destroys data):

Port Conflicts

Symptom: “Port already in use” errors Solution: Kill processes on conflicting ports:

Build Errors

Symptom: Compilation fails Solution: Clean rebuild:

PhysX Build Fails

Symptom: Errors during PhysX compilation Cause: PhysX WASM build requires emscripten Solution: PhysX is pre-built and committed. If you must rebuild:

Tests Failing

Symptom: Tests timeout or fail unexpectedly Causes:
  • Server running during tests
  • Stale test data
  • Port conflicts
Solution:

WebSocket Connection Failed

Symptom: Can’t connect to game server Causes:
  • Server not running
  • Wrong port configuration
  • Firewall blocking
  • CORS issues
Solutions:
  1. Verify server is running: lsof -i:5555
  2. Check client config: PUBLIC_WS_URL
  3. Ensure no firewall blocks
  4. Verify CORS configuration includes your client domain
CORS Debugging:

Hot Reload Not Working

Symptom: Changes don’t appear in browser Causes:
  • Build cache stale
  • Wrong directory
Solution:

UI Windows Not Positioning Correctly

Symptom: Windows cluster in corner or overlap after resize Causes:
  • Saved layout from different screen size
  • Missing anchor data in saved layout
  • Mobile-to-desktop transition
Solution:
  1. Press L to enter edit mode
  2. Manually reposition windows
  3. Save new layout
  4. Or reset to default layout:

Drag-and-Drop Not Working

Symptom: Can’t drag items or windows Causes:
  • Edit mode not enabled (for windows)
  • Drop zone not registered
  • Race condition in drag state
Solution:
  • For windows: Press L to enable edit mode
  • For items: Ensure inventory panel is open
  • Check browser console for errors
  • Try refreshing the page

Trade Not Completing

Symptom: Trade stuck on confirmation screen Causes:
  • Players moved too far apart
  • Inventory full
  • Items no longer available
Solution:
  1. Check distance to trade partner (must be within 2 tiles)
  2. Free up inventory space
  3. Verify items still in inventory
  4. Cancel and restart trade if stuck

Logs

Server Logs

Check terminal output where bun run dev is running.

Test Logs

Docker Logs

Deployment Issues

Railway Build Failing

Symptom: Railway deployment fails during build Common Causes:
  1. Lockfile frozen error:
    Solution: Regenerate lockfile locally and commit:
  2. Out of memory during build: Solution: Railway provides 8GB RAM for builds. If exceeded, optimize build:
  3. Missing environment variables: Solution: Verify all required vars are set in Railway dashboard:
    • DATABASE_URL (auto-set if using Railway PostgreSQL)
    • PRIVY_APP_ID and PRIVY_APP_SECRET
    • PUBLIC_CDN_URL

Cloudflare Pages Build Failing

Symptom: Pages deployment fails Common Causes:
  1. Build command not found: Solution: Ensure build command includes cd packages/client:
  2. Environment variables not set: Solution: Add in Pages dashboard → Settings → Environment variables:
    • PUBLIC_PRIVY_APP_ID
    • PUBLIC_API_URL
    • PUBLIC_WS_URL
    • PUBLIC_CDN_URL
  3. Build output directory wrong: Solution: Set to packages/client/dist in Pages settings

Manifest Fetch Errors

Symptom: Server logs show manifest fetch failures Causes:
  • CDN URL incorrect
  • R2 bucket not public
  • Manifests not uploaded to R2
Solutions:

Frontend Can’t Connect to Backend

Symptom: Client shows “Connecting…” indefinitely Causes:
  • Wrong PUBLIC_API_URL or PUBLIC_WS_URL
  • CORS blocking requests
  • Railway server not running
Solutions:
  1. Verify environment variables in Cloudflare Pages:
  2. Check Railway server status:
  3. Verify CORS configuration in server logs:
  4. Test WebSocket connection:

Getting Help

  1. Check GitHub Issues
  2. Search existing discussions
  3. Join Discord for community support
  4. Open a new issue with:
    • Error message (full stack trace)
    • Steps to reproduce
    • Environment details (OS, Node version, Bun version)
    • Deployment platform (Railway, Cloudflare Pages, local)