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
-
Start the server normally. It will create the migration log table and apply any missing migrations from
data/migrations/automatically:cargo run
Warning
Back up your database first before upgrading an older installation. Startup now applies pending migrations automatically, including legacy schema transitions.
- 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 --buildStart the server in the container to let startup migrations create or upgrade the schema:
docker compose run --rm reoserv ./reoservTo 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
