1.5 KiB
1.5 KiB
Forge Server Extension
The Forge server extension is the Rust backend for server-side game systems.
It exposes domain commands through arma-rs, runs a shared Tokio runtime, and
persists durable state through SurrealDB.
This extension build targets SurrealDB 3.x.
Launch Prerequisites
Before starting the Arma server with Forge enabled:
- Start SurrealDB.
- Copy
config.example.tomltoconfig.tomlbesideforge_server_x64.dll. - Match the
config.tomlendpoint, namespace, database, username, and password to the running SurrealDB instance.
The extension reads configuration during startup. If SurrealDB is offline or the config values do not match, persistence-backed commands are not ready for normal gameplay.
Responsibilities
- Register extension command groups for actor, bank, garage, locker, org, phone, store, task, CAD, terrain, and transport systems.
- Load extension configuration from
@forge_server/config.toml. - Connect to SurrealDB and apply schema modules on startup.
- Keep SQF-facing command handlers thin while service crates own domain rules.
Configuration
[surreal]
endpoint = "127.0.0.1:8000"
namespace = "forge"
database = "main"
username = "root"
password = "root"
connect_timeout_ms = 5000
Status
"forge_server" callExtension ["status", []];
"forge_server" callExtension ["surreal:status", []];
Status values are initializing, connected, or failed.
Build
cargo test -p forge-server
cargo build -p forge-server