5 KiB
HollowPS TV experiments
A Server emulator for closed beta test 1 version (cbt1) of the game Zenless Zone Zero
with 5 custom levels and a few new features. Based on HollowPS
.
It's just a glimpse at how custom levels for TV mode can be built for ZZZ private servers.
I'm nowhere close Xeon's skill level, so my code is held together by dact-tape and "if" statements and definitely isn't accurate to cbt1, but I wanted this version of the game to have a bit more content to play and new TV-mode levels in general. Also it was pretty fun to make.
They were balanced for lvl 5 3-star characters with fully unlocked talents. That's what you'll get by default (can be freely adjusted in the config file). All characters are restored to full hp at the end of combat and fallen allies are revived, you lose only if your entire team has fallen or if you fail a time trial
A separate server that spawns you in the city is included with prebuilt binaries. I didn't do anything with it, so there is nothing to do there, but if you are curious how the sixth street looked back then, you can take a look.
Levels:
- Prologue remix
- Rescue
- Lost and found - rework of the "disaster level" I made previously
- Engulfed by the Hollow - a very strict time limit challenge. I tested it and every character is viable for beating it.
- High-Risk (descent) - A combat gauntlet with overleveled enemies akin to the battle tower.
Changes from normal HollowPS:
-
New levels can be added (quests themselves are added in "../gameserver/src/net/handlers/world.rs") and quests actually will send you to different grid maps instead of every HDD quest sending you to the same map (you need to specify which quest links to which map in "../gameserver/src/net/handlers/hollow.rs" and the maps themselves are hardcoded into the server in "../gameserver/src/game/manager/hollow_grid.rs" and can be edited there)
-
5 Custom levels designed by me and built into the server, sorted by difficulty in the HDD. I wanted them to be non-linear except for 1 which is just a strict time trial(don't get fooled by it being lvl 1, it's the hardest level in the Cretan Hollow). Idk how well I accomplished that though.
-
Different time of day and weather for every commission. ChessboardID ultimately controls this and some battle encounters have set parameters, but the time of day is left blank for most IDs so it can be changed in "hollow.rs". (ChessboardIDs with their weather and time of day params can be found in ChessBoardPerformTemplateCollection in extras)
-
Levels can be replayed now without logging out
-
Separate battle lists for every level (again, hardcoded in "hollow_grid.rs" and can be edited there. All of the game's battle Ids can be found in BattleEventConfigTemplateCollection in extras).
-
Character parameters (level, ascension, star rank, talents(proto mindscapes), skill levels) and use of manual chain attacks can now be set in the config file
-
EvenGraphTemplateCollection in "../assets" is edited for new levels and is no longer accurate to the original game
-
VisibleAtGridAround tiles
-
TV screens in the room light up
Installation
From Source
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
Building
git clone https://git.xeondev.com/inkursion/HollowPS_TV_experiments.git
cd HollowPS
cargo install --path gameserver
cargo install --path sdkserver
From Pre-built Binaries
Navigate to the Releases page and download the latest release.
Usage
To begin using the server, you need to run both the SDK server and the game server.
If you installed from source, Rust's installer should have added .cargo/bin to your path, so simply run the following:
nap-gameserver
nap-sdkserver
If you installed from pre-built binaries, navigate to the directory where you downloaded the binaries and either a) double-click on the following executable names or b) run the following in a terminal:
./nap-gameserver
./nap-sdkserver
If you get stuck on the login screen with "loading config data" at 13% - change your Windows region format to any of the english ones.
Once you get into the game world, DON'T TOUCH THE SOFA! You will be stuck on a black screen until you restart the game
Configuration
The game server can be configured using a gameserver.json
file.
Configuration file with default settings will be created in
the working directory upon first startup.
By default tutorial isn't skipped and manual chain attacks are disabled, so if you want to change these things, use it right away and restart the server
Further questions
For further questions visit the Reversed Rooms Discord server discord.gg/reversedrooms