Hi
This commit is contained in:
commit
010abd49b9
1277 changed files with 84523 additions and 0 deletions
6
.gitignore
vendored
Normal file
6
.gitignore
vendored
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Rust build directory
|
||||
target/
|
||||
/lib/crates/proto/cs_proto
|
||||
|
||||
# Server configuration directory
|
||||
/config/
|
2953
Cargo.lock
generated
Normal file
2953
Cargo.lock
generated
Normal file
File diff suppressed because it is too large
Load diff
57
Cargo.toml
Normal file
57
Cargo.toml
Normal file
|
@ -0,0 +1,57 @@
|
|||
[workspace]
|
||||
members = ["lib/*", "servers/*"]
|
||||
resolver = "2"
|
||||
|
||||
[workspace.package]
|
||||
version = "0.0.1"
|
||||
|
||||
[workspace.dependencies]
|
||||
tokio = { version = "1.44.2", features = ["full"] }
|
||||
tokio-util = "0.7.15"
|
||||
axum = "0.8.3"
|
||||
ureq = { version = "3.0.11", features = ["json"] }
|
||||
sqlx = { version = "0.8.5", features = ["postgres", "runtime-tokio-rustls"] }
|
||||
|
||||
const_format = "0.2.34"
|
||||
thiserror = "2.0"
|
||||
scc = "2.3.3"
|
||||
num_enum = "0.7.3"
|
||||
itertools = "0.14"
|
||||
|
||||
serde = { version = "1.0", features = ["derive"] }
|
||||
serde_json5 = "0.2.1"
|
||||
toml = "0.8"
|
||||
|
||||
rsa = { version = "0.9.8", features = ["sha2"] }
|
||||
rand = "0.8.5" # locked on 0.8 due to RSA crate issues
|
||||
base64-simd = "0.8.0"
|
||||
rand_mt = "5.0.0"
|
||||
xxhash-rust = { version = "0.8.15", features = ["const_xxh64"] }
|
||||
|
||||
# Protobuf
|
||||
prost = "0.13.5"
|
||||
prost-types = "0.13.5"
|
||||
prost-build = "0.13.5"
|
||||
|
||||
# Flatbuffers
|
||||
flatbuffers = "25.2.10"
|
||||
flatc-rust = "0.2.0"
|
||||
|
||||
# Logging
|
||||
tracing = "0.1"
|
||||
tracing-subscriber = "0.3"
|
||||
|
||||
# Code Generation
|
||||
proc-macro2 = "1.0"
|
||||
syn = "2.0"
|
||||
prettyplease = "0.2"
|
||||
paste = "1.0"
|
||||
quote = "1.0"
|
||||
|
||||
common = { path = "lib/common" }
|
||||
config = { path = "lib/config" }
|
||||
vivian-codegen = { path = "lib/codegen" }
|
||||
vivian-proto = { path = "lib/proto" }
|
||||
vivian-logic = { path = "lib/logic" }
|
||||
vivian-encryption = { path = "lib/encryption" }
|
||||
vivian-service = { path = "lib/service" }
|
57
README.md
Normal file
57
README.md
Normal file
|
@ -0,0 +1,57 @@
|
|||
# Vivian-rs
|
||||
##### Experimental server emulator for the game Zenless Zone Zero
|
||||

|
||||
|
||||
## Features
|
||||
- Microservices Architecture
|
||||
- Quest System
|
||||
- "TV Mode" aka Monitor Array
|
||||
- VR Training
|
||||
- Gacha (with configurable banner schedule)
|
||||
- NPC Interactions
|
||||
- Miscellaneous items (Skins, W-Engines, Wallpapers)
|
||||
#### NOTE: vivian-rs is currently under active development
|
||||
|
||||
## Getting started
|
||||
### Requirements
|
||||
- [Rust 1.86+](https://www.rust-lang.org/tools/install)
|
||||
- [PostgreSQL](https://www.postgresql.org/download/)
|
||||
- [SDK server](https://git.xeondev.com/reversedrooms/hoyo-sdk)
|
||||
##### NOTE: this server doesn't include the sdk server as it's not specific per game. You can use `hoyo-sdk` with this server.
|
||||
|
||||
#### For additional help, you can join our [discord server](https://discord.xeondev.com)
|
||||
|
||||
### Setup
|
||||
#### a) building from sources
|
||||
```sh
|
||||
git clone https://git.xeondev.com/vivian-rs/vivian-rs.git
|
||||
cd vivian-rs
|
||||
cargo run --bin vivian-dispatch-server
|
||||
cargo run --bin vivian-gate-server
|
||||
cargo run --bin vivian-dbgate-server
|
||||
cargo run --bin vivian-game-server
|
||||
```
|
||||
#### b) using pre-built binaries
|
||||
Navigate to the [Releases](https://git.xeondev.com/vivian-rs/vivian-rs/releases) page and download the latest release for your platform.
|
||||
Start each service in order from option `a)`.
|
||||
|
||||
### Configuration
|
||||
The configuration of each server is located under the `config` directory (created upon first startup)
|
||||
- To change network settings for internal server communication, edit the: `config/00-service/environment.toml`
|
||||
- To change network settings for outer communication (e.g. with the game client), edit the dispatch-server and gate-server configuration, located in `config/10-dispatch-server/config.toml` and `config/20-gate-server/config.toml` respectively.
|
||||
- To change database connection settings, edit the dbgate-server configuration, located in: `config/30-dbgate-server/config.toml`
|
||||
- To change gameplay-related settings, edit one of game-server configuration files, for example: gacha banner schedule is located in: `config/40-game-server/gacha_schedule.toml`
|
||||
|
||||
### Logging in
|
||||
Currently supported client version is `OSPRODWin1.7.0`, you can get it from 3rd party sources (e.g. game launcher). Next, you have to apply the necessary [client patch](https://git.xeondev.com/vivian-rs/vivian-patch). It allows you to connect to the local server and replaces encryption keys with custom ones.
|
||||

|
||||
|
||||
### Obtaining characters without gacha
|
||||
While playing on the server, you may want to obtain the characters that are not available in current gacha schedule. In order to do so, you can use in-game debug menu: find the 'Vivian' NPC in the WorkShop location, and interact with it. It'll send you to a debug TV mode scene, where you can select the characters to obtain. (The NPC will spawn as soon as you progress in starting quests!)
|
||||

|
||||
|
||||
### Gameplay customization
|
||||
The MainCity quests and TV mode levels are highly customizable by their nature. You may look around the `assets/LevelProcess` directory.
|
||||
|
||||
### Support
|
||||
Your support for this project is greatly appreciated! If you'd like to contribute, feel free to send a tip [via Boosty](https://boosty.to/xeondev/donate)!
|
BIN
assets/Filecfg/10010808373864040182
Normal file
BIN
assets/Filecfg/10010808373864040182
Normal file
Binary file not shown.
BIN
assets/Filecfg/10032827072742742911
Normal file
BIN
assets/Filecfg/10032827072742742911
Normal file
Binary file not shown.
BIN
assets/Filecfg/10033721018158574140
Normal file
BIN
assets/Filecfg/10033721018158574140
Normal file
Binary file not shown.
BIN
assets/Filecfg/10052379260018520201
Normal file
BIN
assets/Filecfg/10052379260018520201
Normal file
Binary file not shown.
BIN
assets/Filecfg/10057086654148717548
Normal file
BIN
assets/Filecfg/10057086654148717548
Normal file
Binary file not shown.
BIN
assets/Filecfg/10075508127800540987
Normal file
BIN
assets/Filecfg/10075508127800540987
Normal file
Binary file not shown.
BIN
assets/Filecfg/10083105974566030817
Normal file
BIN
assets/Filecfg/10083105974566030817
Normal file
Binary file not shown.
BIN
assets/Filecfg/10096306203537588307
Normal file
BIN
assets/Filecfg/10096306203537588307
Normal file
Binary file not shown.
BIN
assets/Filecfg/10101100291003037823
Normal file
BIN
assets/Filecfg/10101100291003037823
Normal file
Binary file not shown.
BIN
assets/Filecfg/10104767631211237325
Normal file
BIN
assets/Filecfg/10104767631211237325
Normal file
Binary file not shown.
BIN
assets/Filecfg/101768390240629794
Normal file
BIN
assets/Filecfg/101768390240629794
Normal file
Binary file not shown.
BIN
assets/Filecfg/10184537830501628523
Normal file
BIN
assets/Filecfg/10184537830501628523
Normal file
Binary file not shown.
BIN
assets/Filecfg/10212618236512783304
Normal file
BIN
assets/Filecfg/10212618236512783304
Normal file
Binary file not shown.
BIN
assets/Filecfg/10246105568315798383
Normal file
BIN
assets/Filecfg/10246105568315798383
Normal file
Binary file not shown.
BIN
assets/Filecfg/10251007154862986708
Normal file
BIN
assets/Filecfg/10251007154862986708
Normal file
Binary file not shown.
BIN
assets/Filecfg/10259695595062109759
Normal file
BIN
assets/Filecfg/10259695595062109759
Normal file
Binary file not shown.
BIN
assets/Filecfg/10264605482804442491
Normal file
BIN
assets/Filecfg/10264605482804442491
Normal file
Binary file not shown.
BIN
assets/Filecfg/10275201845600476470
Normal file
BIN
assets/Filecfg/10275201845600476470
Normal file
Binary file not shown.
BIN
assets/Filecfg/10278020695907736598
Normal file
BIN
assets/Filecfg/10278020695907736598
Normal file
Binary file not shown.
BIN
assets/Filecfg/10287818805481961745
Normal file
BIN
assets/Filecfg/10287818805481961745
Normal file
Binary file not shown.
BIN
assets/Filecfg/1029785068136330720
Normal file
BIN
assets/Filecfg/1029785068136330720
Normal file
Binary file not shown.
BIN
assets/Filecfg/10321696286355204017
Normal file
BIN
assets/Filecfg/10321696286355204017
Normal file
Binary file not shown.
BIN
assets/Filecfg/10323332383746031993
Normal file
BIN
assets/Filecfg/10323332383746031993
Normal file
Binary file not shown.
BIN
assets/Filecfg/10330313329325452558
Normal file
BIN
assets/Filecfg/10330313329325452558
Normal file
Binary file not shown.
BIN
assets/Filecfg/1033767438085951951
Normal file
BIN
assets/Filecfg/1033767438085951951
Normal file
Binary file not shown.
BIN
assets/Filecfg/10352424718517234029
Normal file
BIN
assets/Filecfg/10352424718517234029
Normal file
Binary file not shown.
BIN
assets/Filecfg/10361992832664957090
Normal file
BIN
assets/Filecfg/10361992832664957090
Normal file
Binary file not shown.
BIN
assets/Filecfg/10382719409245932107
Normal file
BIN
assets/Filecfg/10382719409245932107
Normal file
Binary file not shown.
BIN
assets/Filecfg/10390586540095996558
Normal file
BIN
assets/Filecfg/10390586540095996558
Normal file
Binary file not shown.
BIN
assets/Filecfg/10411003461693016918
Normal file
BIN
assets/Filecfg/10411003461693016918
Normal file
Binary file not shown.
BIN
assets/Filecfg/10417110590820963172
Normal file
BIN
assets/Filecfg/10417110590820963172
Normal file
Binary file not shown.
BIN
assets/Filecfg/10436032873024071162
Normal file
BIN
assets/Filecfg/10436032873024071162
Normal file
Binary file not shown.
BIN
assets/Filecfg/10455405343599765752
Normal file
BIN
assets/Filecfg/10455405343599765752
Normal file
Binary file not shown.
BIN
assets/Filecfg/10464897963229082692
Normal file
BIN
assets/Filecfg/10464897963229082692
Normal file
Binary file not shown.
BIN
assets/Filecfg/10480563344334136587
Normal file
BIN
assets/Filecfg/10480563344334136587
Normal file
Binary file not shown.
BIN
assets/Filecfg/10484454735791987522
Normal file
BIN
assets/Filecfg/10484454735791987522
Normal file
Binary file not shown.
BIN
assets/Filecfg/10485730717761884545
Normal file
BIN
assets/Filecfg/10485730717761884545
Normal file
Binary file not shown.
BIN
assets/Filecfg/10493597931472549480
Normal file
BIN
assets/Filecfg/10493597931472549480
Normal file
Binary file not shown.
BIN
assets/Filecfg/10502849963740494435
Normal file
BIN
assets/Filecfg/10502849963740494435
Normal file
Binary file not shown.
BIN
assets/Filecfg/10549316106634130085
Normal file
BIN
assets/Filecfg/10549316106634130085
Normal file
Binary file not shown.
BIN
assets/Filecfg/10560361692354968202
Normal file
BIN
assets/Filecfg/10560361692354968202
Normal file
Binary file not shown.
BIN
assets/Filecfg/10575436549903431580
Normal file
BIN
assets/Filecfg/10575436549903431580
Normal file
Binary file not shown.
BIN
assets/Filecfg/10581101117693960649
Normal file
BIN
assets/Filecfg/10581101117693960649
Normal file
Binary file not shown.
BIN
assets/Filecfg/10583926392046091507
Normal file
BIN
assets/Filecfg/10583926392046091507
Normal file
Binary file not shown.
BIN
assets/Filecfg/10594836358011099052
Normal file
BIN
assets/Filecfg/10594836358011099052
Normal file
Binary file not shown.
BIN
assets/Filecfg/10605684946193948530
Normal file
BIN
assets/Filecfg/10605684946193948530
Normal file
Binary file not shown.
BIN
assets/Filecfg/10623379200565565688
Normal file
BIN
assets/Filecfg/10623379200565565688
Normal file
Binary file not shown.
BIN
assets/Filecfg/10637721454916405633
Normal file
BIN
assets/Filecfg/10637721454916405633
Normal file
Binary file not shown.
BIN
assets/Filecfg/10672647921413984319
Normal file
BIN
assets/Filecfg/10672647921413984319
Normal file
Binary file not shown.
BIN
assets/Filecfg/10713666088169839691
Normal file
BIN
assets/Filecfg/10713666088169839691
Normal file
Binary file not shown.
BIN
assets/Filecfg/10755349437026649161
Normal file
BIN
assets/Filecfg/10755349437026649161
Normal file
Binary file not shown.
BIN
assets/Filecfg/10771863132607138542
Normal file
BIN
assets/Filecfg/10771863132607138542
Normal file
Binary file not shown.
BIN
assets/Filecfg/1080965030186094106
Normal file
BIN
assets/Filecfg/1080965030186094106
Normal file
Binary file not shown.
BIN
assets/Filecfg/10820371194779877509
Normal file
BIN
assets/Filecfg/10820371194779877509
Normal file
Binary file not shown.
BIN
assets/Filecfg/10829278488199004950
Normal file
BIN
assets/Filecfg/10829278488199004950
Normal file
Binary file not shown.
BIN
assets/Filecfg/10832272359333086737
Normal file
BIN
assets/Filecfg/10832272359333086737
Normal file
Binary file not shown.
BIN
assets/Filecfg/10863168905291409325
Normal file
BIN
assets/Filecfg/10863168905291409325
Normal file
Binary file not shown.
BIN
assets/Filecfg/10883875657856637824
Normal file
BIN
assets/Filecfg/10883875657856637824
Normal file
Binary file not shown.
BIN
assets/Filecfg/10891989980564329405
Normal file
BIN
assets/Filecfg/10891989980564329405
Normal file
Binary file not shown.
BIN
assets/Filecfg/10918995900770977827
Normal file
BIN
assets/Filecfg/10918995900770977827
Normal file
Binary file not shown.
BIN
assets/Filecfg/10921070745563497265
Normal file
BIN
assets/Filecfg/10921070745563497265
Normal file
Binary file not shown.
BIN
assets/Filecfg/10929851831336572039
Normal file
BIN
assets/Filecfg/10929851831336572039
Normal file
Binary file not shown.
BIN
assets/Filecfg/10985729176151035082
Normal file
BIN
assets/Filecfg/10985729176151035082
Normal file
Binary file not shown.
BIN
assets/Filecfg/10997546003453637036
Normal file
BIN
assets/Filecfg/10997546003453637036
Normal file
Binary file not shown.
BIN
assets/Filecfg/11001884627201219264
Normal file
BIN
assets/Filecfg/11001884627201219264
Normal file
Binary file not shown.
BIN
assets/Filecfg/11061877619978527403
Normal file
BIN
assets/Filecfg/11061877619978527403
Normal file
Binary file not shown.
BIN
assets/Filecfg/11095720218123099694
Normal file
BIN
assets/Filecfg/11095720218123099694
Normal file
Binary file not shown.
BIN
assets/Filecfg/11118086357799758036
Normal file
BIN
assets/Filecfg/11118086357799758036
Normal file
Binary file not shown.
BIN
assets/Filecfg/11133396948744986753
Normal file
BIN
assets/Filecfg/11133396948744986753
Normal file
Binary file not shown.
BIN
assets/Filecfg/11145421422043089170
Normal file
BIN
assets/Filecfg/11145421422043089170
Normal file
Binary file not shown.
BIN
assets/Filecfg/11147918958690334441
Normal file
BIN
assets/Filecfg/11147918958690334441
Normal file
Binary file not shown.
BIN
assets/Filecfg/11160220569733161756
Normal file
BIN
assets/Filecfg/11160220569733161756
Normal file
Binary file not shown.
BIN
assets/Filecfg/11176191658388455544
Normal file
BIN
assets/Filecfg/11176191658388455544
Normal file
Binary file not shown.
BIN
assets/Filecfg/11177589371513043525
Normal file
BIN
assets/Filecfg/11177589371513043525
Normal file
Binary file not shown.
BIN
assets/Filecfg/11180705407392119105
Normal file
BIN
assets/Filecfg/11180705407392119105
Normal file
Binary file not shown.
BIN
assets/Filecfg/11209594489292861369
Normal file
BIN
assets/Filecfg/11209594489292861369
Normal file
Binary file not shown.
BIN
assets/Filecfg/11257951261350679402
Normal file
BIN
assets/Filecfg/11257951261350679402
Normal file
Binary file not shown.
BIN
assets/Filecfg/11259055931781962670
Normal file
BIN
assets/Filecfg/11259055931781962670
Normal file
Binary file not shown.
BIN
assets/Filecfg/11261572877249488737
Normal file
BIN
assets/Filecfg/11261572877249488737
Normal file
Binary file not shown.
BIN
assets/Filecfg/11263845697733264881
Normal file
BIN
assets/Filecfg/11263845697733264881
Normal file
Binary file not shown.
BIN
assets/Filecfg/11313388998170933063
Normal file
BIN
assets/Filecfg/11313388998170933063
Normal file
Binary file not shown.
BIN
assets/Filecfg/11325527673350078476
Normal file
BIN
assets/Filecfg/11325527673350078476
Normal file
Binary file not shown.
BIN
assets/Filecfg/11328306938234893396
Normal file
BIN
assets/Filecfg/11328306938234893396
Normal file
Binary file not shown.
BIN
assets/Filecfg/11333261129400886137
Normal file
BIN
assets/Filecfg/11333261129400886137
Normal file
Binary file not shown.
BIN
assets/Filecfg/11346621172623076142
Normal file
BIN
assets/Filecfg/11346621172623076142
Normal file
Binary file not shown.
BIN
assets/Filecfg/1137361337225950086
Normal file
BIN
assets/Filecfg/1137361337225950086
Normal file
Binary file not shown.
BIN
assets/Filecfg/11378968201971191474
Normal file
BIN
assets/Filecfg/11378968201971191474
Normal file
Binary file not shown.
BIN
assets/Filecfg/11391034716444242591
Normal file
BIN
assets/Filecfg/11391034716444242591
Normal file
Binary file not shown.
BIN
assets/Filecfg/11405729873520551596
Normal file
BIN
assets/Filecfg/11405729873520551596
Normal file
Binary file not shown.
BIN
assets/Filecfg/11425768876013818663
Normal file
BIN
assets/Filecfg/11425768876013818663
Normal file
Binary file not shown.
BIN
assets/Filecfg/1146581695882370054
Normal file
BIN
assets/Filecfg/1146581695882370054
Normal file
Binary file not shown.
BIN
assets/Filecfg/1146981540653313102
Normal file
BIN
assets/Filecfg/1146981540653313102
Normal file
Binary file not shown.
BIN
assets/Filecfg/11503985408089543183
Normal file
BIN
assets/Filecfg/11503985408089543183
Normal file
Binary file not shown.
BIN
assets/Filecfg/11508638128627741009
Normal file
BIN
assets/Filecfg/11508638128627741009
Normal file
Binary file not shown.
BIN
assets/Filecfg/11532086544599591982
Normal file
BIN
assets/Filecfg/11532086544599591982
Normal file
Binary file not shown.
BIN
assets/Filecfg/11538510762943324782
Normal file
BIN
assets/Filecfg/11538510762943324782
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue