A certain game server emulator written in Rust
Find a file
2024-11-03 00:27:17 +01:00
assets Update config server, allows multi version support 2024-11-01 20:13:29 +01:00
common Log improvement 2024-11-01 20:27:31 +01:00
config-server Update config server, allows multi version support 2024-11-01 20:13:29 +01:00
docker Update docker 2024-11-03 00:21:51 +01:00
game-server [PATCH] feat: implement formation and switch roles functionality 2024-10-24 13:15:50 +02:00
gateway-server 1.4 Walking simulator, rest of features incoming during weekend. 2024-10-19 14:57:25 +02:00
hotpatch-server Update docker 2024-11-03 00:21:51 +01:00
login-server Update docker 2024-11-03 00:21:51 +01:00
shorekeeper-data 1.4 Walking simulator, rest of features incoming during weekend. 2024-10-19 14:57:25 +02:00
shorekeeper-database Hi 2024-09-11 19:37:46 +03:00
shorekeeper-http Update config server, allows multi version support 2024-11-01 20:13:29 +01:00
shorekeeper-network Support for Nested combat messages and JSPatch Notify from files (#2) 2024-09-14 09:05:17 +00:00
shorekeeper-protocol Update banner and proto 2024-10-25 11:33:23 +02:00
shorekeeper-protokey Support for Nested combat messages and JSPatch Notify from files (#2) 2024-09-14 09:05:17 +00:00
.dockerignore docker-test (#1) 2024-09-12 21:29:40 +00:00
.gitignore 1.4 Walking simulator, rest of features incoming during weekend. 2024-10-19 14:57:25 +02:00
builder.bat Update docker 2024-11-03 00:27:17 +01:00
builder.sh Update docker 2024-11-03 00:27:17 +01:00
Cargo.lock Update config server, allows multi version support 2024-11-01 20:13:29 +01:00
Cargo.toml Update config server, allows multi version support 2024-11-01 20:13:29 +01:00
docker-compose-hotpatch.yml Update docker 2024-11-03 00:27:17 +01:00
docker-compose.yml Update docker 2024-11-03 00:27:17 +01:00
Dockerfile-builder Update docker 2024-11-03 00:21:51 +01:00
Dockerfile-service Update docker 2024-11-03 00:27:17 +01:00
LICENSE Initial commit 2024-09-11 15:05:41 +00:00
README.md docker-test (#1) 2024-09-12 21:29:40 +00:00
screenshot.png Hi 2024-09-11 19:37:46 +03:00

Shorekeeper

Screenshot

About

Shorekeeper is an open-source Wuthering Waves server emulator written in Rust. The goal of this project is to ensure a clean, easy-to-understand code environment. Shorekeeper uses tokio for asynchronous networking operations, axum as http framework and ZeroMQ for communication between servers. It also implements performant and extensible ECS for emulation of the game world.

Getting started

Requirements

Setup

a) building from sources
git clone https://git.xeondev.com/Shorekeeper/Shorekeeper.git
cd Shorekeeper
cargo run --bin config-server
cargo run --bin hotpatch-server
cargo run --bin login-server
cargo run --bin gateway-server
cargo run --bin game-server
b) building from sources(docker edition)

If you are to wheelchair'd for option A, you can fallback to option b. In this case you will need Docker Desktop

Once installed, to build the images, run:

# or builder.bat if you run it on windows
./builder.sh

And to run the containers:

docker compose up -d
c) using pre-built binaries

Navigate to the Releases page and download the latest release for your platform.
Launch all servers: config-server, hotpatch-server, login-server, gateway-server, game-server

NOTE: you don't have to install Rust and Protoc if you're going to use pre-built binaries, although the preferred way is building from sources.
We don't provide any support for pre-built binaries.

Configuration

You should configure each server using their own config files. They're being created in current working directory upon first startup.

Database section

You have to specify credentials for PostgreSQL

An example of database configuration:
[database]
host = "localhost:5432"
user_name = "postgres"
password = ""
db_name = "shorekeeper"
NOTE: don't forget to create database with specified db_name (default: shorekeeper). For example, you can do so with PgAdmin.

Data

The data files: Logic JSON collections (assets/logic/json) and config/hotpatch indexes (assets/config, assets/hotpatch) are included in this repository. Keep in mind that you need to have the assets subdirectory in current working directory.

Connecting

You have to download client of Wuthering Waves Beta 1.3, apply the shorekeeper-patch and add necessary .pak files, which you can get here: shorekeeper-pak

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