Zenless Zone Zero server emulator written in Rust
Find a file
xeon 29cba80126 Handle PlayerLogoutCsReq
Next commit will probably nuke everything
2025-01-01 15:36:24 +03:00
autopatch Better error messages, service environment configuration, some struct adjustments 2024-12-22 13:38:19 +03:00
crates Handle PlayerLogoutCsReq 2025-01-01 15:36:24 +03:00
.gitignore Hi! 2024-12-21 00:12:56 +03:00
Cargo.lock make retcode fields in RpcRet structures use actual Retcode enum type 2024-12-22 23:44:13 +03:00
Cargo.toml make retcode fields in RpcRet structures use actual Retcode enum type 2024-12-22 23:44:13 +03:00
README.md Hi! 2024-12-21 00:12:56 +03:00
screenshot.png Hi! 2024-12-21 00:12:56 +03:00

evelyn-rs

screenshot

About

evelyn-rs is an open source server emulator for the game Zenless Zone Zero.

Features

  • Training battles
  • A bit of main city logic (changing character and time period)
  • NPC spawn and interaction system via EventGraph as intended
  • Inventory (currently only W-Engines)
  • Player data persistence
  • A version-agnostic protocol library, allowing to modify protocol capabilities in most painless way

Getting started

Requirements

NOTE: to start SurrealDB, use this command: surreal start -u root -p root surrealkv://evelyn

Setup

a) building from sources (preferred)

git clone https://git.xeondev.com/evelyn-rs/evelyn-rs.git
cd evelyn-rs
cargo run --bin evelyn-autopatch-server
cargo run --bin evelyn-sdk-server
cargo run --bin evelyn-dispatch-server
cargo run --bin evelyn-gate-server
cargo run --bin evelyn-game-server

b) using pre-built binaries

Navigate to the Releases page and download the latest release for your platform.
Launch all services: evelyn-autopatch-server, evelyn-sdk-server, evelyn-dispatch-server, evelyn-gate-server, evelyn-game-server

Configuration

You should configure each service using their own config files. They're being created in current working directory upon first startup.

Connecting

You have to get a compatible game client. Currently supported one is CNBetaWin1.5.0, you can get it here. Next, you have to apply this patch, it allows you to connect to local server and replaces RSA encryption keys with custom ones.

NOTE: you have to create in-game account, by default, you can do so at http://127.0.0.1:10001/account/register
NOTE2: to register an account, you should have evelyn-sdk-server up and running!

Community

Our Discord Server is open for everyone who's interested in our projects!

Support

Your support for this project is greatly appreciated! If you'd like to contribute, feel free to send a tip via Boosty!

Friendly reminder

The server is in a very early state. Right now, it's NOT recommended to run this on a production environment. Please don't open issues about missing features, I'm well aware of this.

Sanity

If you want to lose your sanity, consider checking this