Yet another attempt on implementing a server emulator for the game Zenless Zone Zero.
Find a file
2026-07-08 17:23:26 +03:00
assets Update all of the appropriate resources for CNBetaWin3.1.4 2026-07-05 14:35:12 +02:00
build build: implement serve-all 2026-06-25 19:36:15 +03:00
dpsv assets: bump resource revision to 17281815 2026-07-05 16:55:19 +03:00
gamesv config: remove random_equipment 2026-07-08 17:23:26 +03:00
rmcli/src Revert #8 (#13) 2026-06-08 17:11:17 +03:00
rmcrypt/src gamesv: remove messaging.auth.playerGetToken 2026-07-05 20:16:48 +03:00
rmctl/src rmctl: implement random-equip 2026-07-08 17:21:15 +03:00
rmio/src rmio.MultiSocket: avoid redundancy in names, add more documentation 2026-07-04 17:14:17 +03:00
rmmem/src rmmem: introduce LimitedString 2026-06-27 15:36:25 +03:00
rmnet/src ctl: implement CreateEquip operation 2026-07-08 16:48:27 +03:00
rmpb rmpb: fix scene_time_in_minutes misname 2026-07-05 17:14:15 +03:00
sdksv sdksv: bump coroutine stack size to 512KB 2026-06-30 10:55:18 +03:00
.gitignore gitignore: ignore whole cs_proto directory 2026-06-26 17:23:58 +03:00
build.zig rmctl: implement random-equip 2026-07-08 17:21:15 +03:00
build.zig.zon Revert #8 (#13) 2026-06-08 17:11:17 +03:00
envrc all: init 2026-05-31 23:46:20 +03:00
envrc.ps1 Add basic documentation to README.md (#30) 2026-06-21 14:28:27 +03:00
LICENSE Revert #8 (#13) 2026-06-08 17:11:17 +03:00
README.md readme: update supported client version number 2026-07-05 16:56:19 +03:00

Remielle

segs

Remielle is a Zenless Zone Zero server emulator that prioritizes efficiency, stability and correctness.

Remielle makes heavy use of comptime semantics in order to ensure logic correctness on the level of the type system, this eliminates most common bugs and pitfalls that occur in most implementations.

We maintain our own implementation of Io interface, RemiellIo. It's based on coroutines and supports both Linux and Windows. It utilizes high-end APIs these systems offer (Linux: io_uring; Windows: I/O Completion Ports).

We also maintain an in-house implementation of protobuf serializer and compiler, rmpb. This allows us to avoid a dependency on, for example, protoc. The replacement fulfilling the needs of this server is just ~600 lines of code!

Requirements

To build Remielle from sources you need:

For use with the game client, the client patch is required: vortex (a replacement is being worked on)

Currently supported client version: CNBetaWin3.1.4, it can be found in our discord server

Steps to compile and run

Linux:

# git(1) must be available in the $PATH
git clone https://git.xeondev.com/remielle/remielle.git
cd remielle
. ./envrc # The `envrc` script will setup the zig compiler for you.
zig build serve-all

Windows (powershell):

# git(1) must be available in the $PATH
git clone https://git.xeondev.com/remielle/remielle.git
cd remielle
./envrc.ps1 # The `envrc.ps1` script will setup the zig compiler for you.
zig build serve-all

Configuration

The configuration of Remielle is done by editing dpsv/config.zon and gamesv/config.zon and (re)compiling the source code.

Some of the server behavior can be also overridden through command line options.

Contributing

Donate.

Join project-specific discord server.

Join ReversedRooms discord server.

Join ReversedRooms telegram channel.

The contributions (in form of patches) can be submitted in one of our discord servers. You can also get an account on our git instance after a number of accepted contributions.

License

This repository was made public in the hopes that it will be useful. However, it comes with no warranty whatsoever (expressed or implied). It's licensed under GNU Affero General Public License v3.