Repository navigation
Deployment
Production deployment combines compatible builds, stable configuration, persistent databases, network routing, TLS, logs, and a controlled update process.
A typical deployment contains:
- master-server build;
- spawner build when rooms are started on demand;
- room-server build;
- client build for each supported platform;
- matching
application.cfgfiles and imported config files; - database and platform provider configuration;
- persistent MST security key ring.
Build all processes from the same MST revision. Mixed client/master or room/master revisions can break packet serialization, opcodes, permission protocol, and persistence contracts.
- Start and verify the database service when an external provider is used.
- Start the master and confirm that its socket and HTTP endpoints bind successfully.
- Start each spawner and confirm that it receives the
spawnerpermission and registers. - Spawn or start room processes and confirm
room_serverregistration. - Release clients only after the backend health checks pass.
- Bind internal database ports to trusted networks only.
- Keep room-management and spawner endpoints private where possible.
- Expose public WebSocket traffic through WSS.
- Use dedicated ports and document every firewall rule.
- Configure the public room endpoint separately from an internal or redirected endpoint when NAT or a reverse proxy is involved.
Back up and preserve:
- production databases;
-
mst-security.keys.jsonor the configured key-ring file; - production config files;
- TLS certificates and renewal procedures;
- logs required for diagnostics and audit.
Do not place mutable database files inside a directory replaced wholesale during deployment.
Use separate main configs for master, room, spawner, and client roles when they run as independent builds. Shared defaults can be imported:
@import "common.cfg"
@import "security.cfg"A spawner may pass room startup arguments supplied by the master. Confirm the actual process command line instead of assuming a spawned room reads a standalone config file.
- Back up databases, configs, and key rings.
- Build and stage the complete compatible process set.
- Run automated tests and focused local integration tests.
- Stop traffic or drain rooms according to the game's policy.
- Apply required database migrations.
- Deploy master, spawner, room, and client revisions in the planned compatibility window.
- Verify login, profile loading, room registration, spawning, and persistence.
- Keep the previous binaries and migration rollback procedure available.
- public WSS connection succeeds;
- invalid permission credentials are rejected;
- valid room and spawner credentials are accepted;
- duplicate user login follows the configured session policy;
- profile changes persist after reconnect;
- room termination does not leave stale registry state;
- logs are written to the expected path and do not expose protected values;
- database backups can be restored.
Master Server Toolkit 5 documentation | Repository | Issues