Server emulator for Zenless Zone Zero 1.1.1
Find a file
YYHEggEgg 55b7ed3beb Gacha System implementation
## Abstract

This PR implements

- The Gacha System for client. Player can pull in defined pools with a similar experience to zenless & mihoyo gacha, and these status can be saved through player save and recovered.
- `player kick` command in extra. Command `player kick [player_uid] (optional: [reason_id])` can be used to kick a player to offline.

## Support list

- Similar probability to mihoyo gacha
- QingYi & Jane Doe's Agent & W-Engine banner
- Standard Banner:
  - Get a S Agent in the first 50 pulls
  - Get a 20% discount for the first 5 10-pulls
  - Choose a S Agent once you pulled for 300
- ~~Bangboo Banner~~ (not working due to other reasons)
  - Choosing your demanded S bangboo for 100% UP

## Principle

- A complex configuration file `gacha.jsonc` is introduced to define all behaviours.
- Gacha status is saved via `GachaModelBin`.

For more informations about the config and save, an article is available [here](https://yyheggegg.github.io/mihomo-gio-blogs/zzz-gacha-impl-en/).

## Known issues

- You can not see any bangboos in the collection when choosing Bangboo.
- **Specifically for 1.1 Beta**, performing gacha may lead to random client issues, including:
  - The TVs showing rarity ending up in blank after its flash.
  - Game become black screen.
  - If clicking 'Skip' but not fast enough, game'll stuck and not able to do anything. You may try to click 'Skip' scarcely when 'REC' shows, or after all animations has stopped.

Co-authored-by: YYHEggEgg <53960525+YYHEggEgg@users.noreply.github.com>
Reviewed-on: #1
Co-authored-by: YYHEggEgg <yyheggegg@xeondev.com>
Co-committed-by: YYHEggEgg <yyheggegg@xeondev.com>
2024-08-04 11:41:23 +00:00
assets Gacha System implementation 2024-08-04 11:41:23 +00:00
nap_common simple CLI command system 2024-07-22 19:47:04 +03:00
nap_data Gacha System implementation 2024-08-04 11:41:23 +00:00
nap_gameserver Gacha System implementation 2024-08-04 11:41:23 +00:00
nap_proto Gacha System implementation 2024-08-04 11:41:23 +00:00
nap_sdk simple CLI command system 2024-07-22 19:47:04 +03:00
.gitignore Hi 2024-07-20 15:59:36 +03:00
Cargo.toml simple CLI command system 2024-07-22 19:47:04 +03:00
LICENSE Initial commit 2024-07-20 10:51:17 +00:00
README.md Hi 2024-07-20 15:59:36 +03:00
screenshot.png Hi 2024-07-20 15:59:36 +03:00

JaneDoe-ZS

Zenless Zone Zero 1.1.1 server emulator written in Rust.

screenshot

Current features

  • Logging in
  • Fully playable prologue
  • Player progress saving with PostgreSQL
  • Unlock all characters
  • Training battle

Requirements

NOTE: Nightly Rust is required to build the project. To install it, first install Rust itself, then run the following command:

rustup toolchain install nightly
rustup default nightly

Setup

Server

a) building from sources
git clone https://git.xeondev.com/NewEriduPubSec/JaneDoe-ZS.git
cd JaneDoe-ZS
cargo run --bin nap-sdk
cargo run --bin nap-gameserver
b) using pre-built binaries

Navigate to the Releases page and download the latest release for your platform.
Launch nap-sdk and nap-gameserver

Database

You have to put your PostgreSQL database credentials in both nap_sdk.toml and nap_gameserver.toml configuration files.

[database]
username = "root"
password = "root"
host = "localhost:5432"
name = "nap"

Connecting

Get ZZZ 1.1.1 beta client, apply encryption patch and follow its instructions.
NOTE: You should create a game account. By default, you can do so at http://127.0.0.1:21000/account/register

Troubleshooting

Visit our discord if you have any questions/issues

Support

If you want to support this project, feel free to send a tip via boosty