Server setup
Requirements
- Rust pinned by
rust-toolchain.toml - MariaDB
10.6or newer protocpinned by.protoc-versionfor protobuf-dependent crates- Trinity/TDB-style
auth,characters,world, andhotfixesdatabases - Extracted client data required by the runtime configuration
Detailed database preparation is maintained in the repository's DB bootstrap guide. Use it only for the intended, authorized environment and data. Building this project does not authorize service interruptions or database mutations. Normal server startup validates schemas; rustycore-db is the separate migration authority.
Build
git clone --branch 3.4.3 https://github.com/alseif0x/rustycore.git
cd rustycore
PROTOC=/path/to/protoc cargo build --locked -j 1 -p bnet-server -p world-server --releaseConfigure and run
Create local bnetserver.conf and worldserver.conf files for your environment. These files and their .conf.d override directories are ignored at the repository root. Never commit passwords, database URLs, private keys, certificates, or runtime configuration.
Start the services in separate terminals, in this order. Wait for Battle.net to finish its startup before launching the world service.
Terminal 1:
./target/release/bnet-server --config /absolute/path/to/bnetserver.confTerminal 2:
./target/release/world-server --config /absolute/path/to/worldserver.confCheck the logs for successful database validation, realm activation, and listeners on the configured ports before connecting a client.