Skip to content

sorokya/reoserv

Repository files navigation

Rust

REOSERV

The Rust-powered server emulator for Endless Online 🦀

Prerequisites

Before building the server, ensure you have the following installed:

I recommend using rustup to install Rust and Cargo.

Building

To build the server, simply run:

cargo build

For a release build, use:

cargo build --release

Note

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.

Database setup and configuration

Reoserv supports both MySQL/MariaDB and SQLite.

  1. Choose a database driver in config/Config.toml (or config/Config.local.toml):

    • driver = "mysql" for MySQL/MariaDB
    • driver = "sqlite" for SQLite
  2. Configure database connection settings:

    • For MySQL/MariaDB, set host, port, name, username, and password.
    • For SQLite, set name (the server will use <name>.db in the working directory).
  3. 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.

  1. If you choose MySQL/MariaDB and are using the provided Compose setup, start only the database service with:
    docker compose up -d db

Docker Compose (Reoserv + MariaDB)

The provided compose.yml starts both services:

  • db: MariaDB database
  • reoserv: 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, and password values

Build/start the stack:

docker compose up -d --build

Start the server in the container to let startup migrations create or upgrade the schema:

docker compose run --rm reoserv ./reoserv

Start the server

To run the server, use:

cargo run

Setup quests, NPCs and items for your server

See our documentation for instructions on how to setup quests, NPCs, items and more for your server.

Setup the Endless Online client

See eo-client/README.md for instructions

About

The rust powered endless online server emulator

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages