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:- Verify
PUBLIC_CDN_URLis set correctly in server environment - Check manifests are publicly accessible:
- Check server logs for manifest fetch errors:
- 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
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
Database Schema Errors
Symptom: Errors about missing columns or tables Cause: Schema changed but migrations not run Solution: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
WebSocket Connection Failed
Symptom: Can’t connect to game server Causes:- Server not running
- Wrong port configuration
- Firewall blocking
- CORS issues
- Verify server is running:
lsof -i:5555 - Check client config:
PUBLIC_WS_URL - Ensure no firewall blocks
- Verify CORS configuration includes your client domain
Hot Reload Not Working
Symptom: Changes don’t appear in browser Causes:- Build cache stale
- Wrong directory
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
- Press L to enter edit mode
- Manually reposition windows
- Save new layout
- 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
- 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
- Check distance to trade partner (must be within 2 tiles)
- Free up inventory space
- Verify items still in inventory
- Cancel and restart trade if stuck
Logs
Server Logs
Check terminal output wherebun run dev is running.
Test Logs
Docker Logs
Deployment Issues
Railway Build Failing
Symptom: Railway deployment fails during build Common Causes:-
Lockfile frozen error:
Solution: Regenerate lockfile locally and commit:
-
Out of memory during build:
Solution: Railway provides 8GB RAM for builds. If exceeded, optimize build:
-
Missing environment variables:
Solution: Verify all required vars are set in Railway dashboard:
DATABASE_URL(auto-set if using Railway PostgreSQL)PRIVY_APP_IDandPRIVY_APP_SECRETPUBLIC_CDN_URL
Cloudflare Pages Build Failing
Symptom: Pages deployment fails Common Causes:-
Build command not found:
Solution: Ensure build command includes
cd packages/client: -
Environment variables not set:
Solution: Add in Pages dashboard → Settings → Environment variables:
PUBLIC_PRIVY_APP_IDPUBLIC_API_URLPUBLIC_WS_URLPUBLIC_CDN_URL
-
Build output directory wrong:
Solution: Set to
packages/client/distin 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
Frontend Can’t Connect to Backend
Symptom: Client shows “Connecting…” indefinitely Causes:- Wrong
PUBLIC_API_URLorPUBLIC_WS_URL - CORS blocking requests
- Railway server not running
-
Verify environment variables in Cloudflare Pages:
-
Check Railway server status:
-
Verify CORS configuration in server logs:
-
Test WebSocket connection:
Getting Help
- Check GitHub Issues
- Search existing discussions
- Join Discord for community support
- 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)