Skip to main content

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

The Godot client is a Godot 4 desktop application written entirely in GDScript. It connects to the prototype backend over a persistent WebSocket session at 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 the tools/ directory at the repository root. Run them from the repo root.

Launch the client

./tools/run-godot-client.sh
Starts the Godot runtime in the prototype/client/ project directory with --verbose output. All stdout and stderr are captured to:
prototype/client/logs/godot-runtime.log

Open the editor

./tools/run-godot-editor.sh
Opens the Godot editor with --editor flag against the same project. Output is captured to:
prototype/client/logs/godot-editor.log

Headless validation

./tools/validate-godot-client.sh
Runs a headless scene-tree validation by loading 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:
prototype/client/logs/godot-headless-validation.log
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.
Run the server health check before launching the client to confirm the backend is up:
curl http://localhost:5000/health

Build docs developers (and LLMs) love