Zenless Zone Zero Server Emulator
Find a file
2025-12-09 20:27:16 +01:00
assets CNBetaWin2.5.4 support 2025-12-09 20:27:16 +01:00
common/src fix(FileSystem): add missing fs.watchers.deinit call 2025-12-03 16:38:44 +03:00
dpsv/src feat(dpsv): use SIGINT handler in dpsv as well 2025-12-03 18:50:02 +03:00
gamesv/src feat(scene): add a stub SectionRefreshCsReq handler 2025-12-03 19:19:55 +03:00
proto CNBetaWin2.5.4 support 2025-12-09 20:27:16 +01:00
state CNBetaWin2.5.4 support 2025-12-09 20:27:16 +01:00
.gitignore Hi 2025-11-23 14:12:26 +03:00
build.zig Hi 2025-11-23 14:12:26 +03:00
build.zig.zon build!: update to zig 0.16.0-dev.1470 2025-11-26 21:43:24 +03:00
LICENSE misc: add AGPLv3 license 2025-11-24 23:48:20 +03:00
README.md CNBetaWin2.5.4 support 2025-12-09 20:27:16 +01:00

Yoshunko

title

Yoshunko is a server emulator for the game Zenless Zone Zero. Its main goal is to provide rich functionality and customization capabilities, while keeping the codebase simple. Yoshunko doesn't use any third-party dependencies, except for the zig standard library, of course.

Getting started

Requirements

NOTE: this server doesn't include the sdk server as it's not specific per game. You can use hoyo-sdk with this server.
NOTE 2: this server only works on real operating systems, such as GNU/Linux. If you don't have one, you can use WSL.

For additional help, you can join our discord server

Setup

building from sources

git clone https://git.xeondev.com/yoshunko/yoshunko.git
cd yoshunko
zig build run-dpsv &
zig build run-gamesv

Configuration

Yoshunko doesn't have a config file in particular, however its behavior can be modified with a different approach. The users are intended to manipulate the state directory of their servers. For example, list of regions the dpsv serves to clients is defined under the state/gateway directory. Another example is player data: state of each player is represented as a file system. It's located under state/player/[UID] directory. The state files can be edited at any time and the servers will apply these changes immediately. The moment you write to a file under player state directory, server hot-reloads it and synchronizes the state with the client.

Logging in

Currently supported client version is CNBetaWin2.5.4, you can get it from 3rd party sources. Next, you have to apply the necessary client patch. It allows you to connect to the local server and replaces encryption keys with custom ones.

Community

Donations

Continuing to produce open source software requires contribution of time, code and -especially for the distribution- money. If you are able to make a contribution, it will go towards ensuring that we are able to continue to write, support and host the high quality software that makes all of our lives easier. Feel free to make a contribution via Boosty!