The Rust-powered server emulator for Endless Online 🦀
Before building the server, ensure you have the following installed:
I recommend using rustup to install Rust and Cargo.
To build the server, simply run:
cargo buildFor a release build, use:
cargo build --releaseNote
Set up and configure your database before starting the server. You can use either MySQL/MariaDB or SQLite.
Edit config/Config.toml to match your production database before creating a release build.
Reoserv supports both MySQL/MariaDB and SQLite.
-
Choose a database driver in
config/Config.toml(orconfig/Config.local.toml):driver = "mysql"for MySQL/MariaDBdriver = "sqlite"for SQLite
-
Configure database connection settings:
- For MySQL/MariaDB, set
host,port,name,username, andpassword. - For SQLite, set
name(the server will use<name>.dbin the working directory).
- For MySQL/MariaDB, set
-
Install the database schema:
./reoserv --install
Warning
If you are upgrading from an older schema version, run migrations before starting the server:
./reoserv --migrateBack up your database first. This is especially important if your schema still uses legacy tables such as Bank instead of character_bank.
- If you choose MySQL/MariaDB and are using the provided Compose setup, start only the database service with:
docker compose up -d db
The provided compose.yml starts both services:
db: MariaDB databasereoserv: Reoserv server container
Before starting, make sure your config/Config.toml (or mounted config/Config.local.toml) uses:
driver = "mysql"host = "db"port = "3306"- Matching
name,username, andpasswordvalues
Build/start the stack:
docker compose up -d --buildInstall schema in the container:
docker compose run --rm reoserv ./reoserv --installFor upgrades, run migrations in the container:
docker compose run --rm reoserv ./reoserv --migrateTo run the server, use:
cargo runSee our documentation for instructions on how to setup quests, NPCs, items and more for your server.
See eo-client/README.md for instructions
