The Godot client is a Godot 4 desktop application written entirely in GDScript. It connects to the prototype backend over a persistent WebSocket session atDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/TaylorZaneKirk/MMO-Project/llms.txt
Use this file to discover all available pages before exploring further.
ws://localhost:5000/session and relies on the server as the single authority for movement, inventory, equipment, and world state. No gameplay logic runs on the client side — the client gathers input, sends intent messages, and renders authoritative server responses.
Prerequisites
- Godot 4.x (desktop export template, mono build). The run scripts expect the binary at
tools/godot/Godot_v4.7-stable_mono_linux.x86_64. Place your Godot binary there or update the scripts to point at your local install. - Prototype server running locally. The client defaults to
ws://localhost:5000/session. Start the server before launching the client — see Server › Setup for instructions. - Extracted game assets in
prototype/client/assets/. This directory is git-ignored; assets must be placed there locally before the client can render tiles, actors, or item icons.
Run scripts
All three scripts are in thetools/ directory at the repository root. Run them from the repo root.
Launch the client
prototype/client/ project directory with --verbose output. All stdout and stderr are captured to:
Open the editor
--editor flag against the same project. Output is captured to:
Headless validation
GameScreen.tscn with --headless --quit. Useful in CI or when checking that the scene tree loads without errors after adding new nodes. Output is captured to:
All three scripts write to
prototype/client/logs/. Check the relevant log
file first whenever you encounter a Godot error or GDScript stack trace — the
console output from the binary is fully captured there.What happens on launch
When the client starts,LoginScreen appears and prompts for account credentials. Enter the account_name and password for a seeded account from the prototype database. After a successful login handshake the client progresses through character_load_response and enter_world_response, then transitions automatically to GameScreen. The world viewport renders a 3×3 chunk neighborhood of 17×9-tile chunks around the player’s starting position, and the right-side HUD initialises with the player’s status bars, inventory, and equipment panels populated from the initial world_snapshot.