The server reads configuration fromDocumentation 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.
prototype/server/appsettings.json using the standard ASP.NET configuration pipeline. The Prototype section contains all game-specific options and is bound at startup to a PrototypeOptions instance via builder.Services.Configure<PrototypeOptions>(...). Standard ASP.NET keys control logging behaviour and the database connection string.
Full appsettings.json
Prototype options
These keys live inside thePrototype JSON object and map directly to properties on PrototypeOptions in prototype/server/host/PrototypeOptions.cs.
The WebSocket protocol version string sent during the session handshake. Clients must present a matching version or the handshake is rejected. Increment this value when making a breaking change to the shared protocol contract.
How long, in minutes, a session may remain idle before it expires. The debug endpoint
POST /debug/sessions/{accountName} uses this value to compute the expires_at timestamp when creating a test session.Seconds after an item is dropped on the ground during which only the character who dropped it can see it. Once this window elapses, the
GroundItemVisibilityWorker background service makes the item publicly visible to all players in the zone.When
true, the server emits a verbose log entry for every individual movement step resolved by the authoritative movement system. Leave this false in normal operation — it produces significant log volume during active gameplay.Maximum allowed size, in bytes, of a single incoming WebSocket message. Messages larger than this limit are rejected. 65 536 bytes (64 KiB) is the default; adjust downward to tighten the attack surface or upward only if a specific protocol message requires it.
Connection string
A standard Npgsql connection string used by
PrototypeDatabase to open connections to PostgreSQL. The minimum required parameters are Host, Database, Username, and Password. Example:Logging
TheLogging.LogLevel section follows the standard Microsoft.Extensions.Logging hierarchy. The defaults are:
| Logger | Default level |
|---|---|
Default (all namespaces) | Information |
Microsoft.AspNetCore | Warning |
Environment overrides
appsettings.Development.json is layered on top of appsettings.json automatically when ASPNETCORE_ENVIRONMENT=Development. Only the keys present in the override file are changed; everything else falls through to the base file.
The committed development override lowers log levels to ease debugging:
appsettings.json, add it to appsettings.Development.json: