# JaneDoe-ZS

#### Zenless Zone Zero 1.1.1 server emulator written in Rust.
![screenshot](https://git.xeondev.com/NewEriduPubSec/JaneDoe-ZS/raw/branch/master/screenshot.png)

### Current features
- Logging in
- Fully playable prologue
- HollowDeepDive with Combat and Rally commissions
- Archive (playable cutscenes and battles)
- Open world
- World exploration with any character (can be changed with a command)
- Player progress saving with PostgreSQL
- Player management command system
- Training

### Requirements
- [Rust](https://www.rust-lang.org/tools/install)
- [PostgreSQL](https://www.postgresql.org/download/)

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

```sh
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](https://git.xeondev.com/NewEriduPubSec/JaneDoe-ZS/releases)
page and download the latest release for your platform.<br>
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](https://nogatekeep.ing/assets/nap/pc/napcnbeta_1.1.1.7z),
apply [encryption patch](https://git.xeondev.com/NewEriduPubSec/JaneDoe-Patch) and follow its instructions.<br>
**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](https://discord.xeondev.com/) if you have any questions/issues

### Support
If you want to support this project, feel free to [send a tip via boosty](https://boosty.to/xeondev/donate)
