Zenless Zone Zero server emulator written in Rust
Find a file
xeon dca8dfa93c Rewrite server networking
Remove qwer-rpc and implement new efficient protocol on top of ZeroMQ. This may fix random disconnects. NOTE: you'll have to reset database and remove existing config files, format was changed
2025-01-02 14:36:01 +03:00
autopatch Rewrite server networking 2025-01-02 14:36:01 +03:00
crates Rewrite server networking 2025-01-02 14:36:01 +03:00
.gitignore Hi! 2024-12-21 00:12:56 +03:00
Cargo.lock Rewrite server networking 2025-01-02 14:36:01 +03:00
Cargo.toml Rewrite server networking 2025-01-02 14:36:01 +03:00
README.md Rewrite server networking 2025-01-02 14:36:01 +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.

CompSoy

Functional programming in Rust