A certain game server emulator written in Rust
Find a file
2024-09-13 12:01:15 +02:00
assets Hi 2024-09-11 19:37:46 +03:00
common Hi 2024-09-11 19:37:46 +03:00
config-server Hi 2024-09-11 19:37:46 +03:00
docker docker-test (#1) 2024-09-12 21:29:40 +00:00
game-server JSPatch Notify 2024-09-13 12:01:15 +02:00
gateway-server Hi 2024-09-11 19:37:46 +03:00
hotpatch-server Hi 2024-09-11 19:37:46 +03:00
login-server Hi 2024-09-11 19:37:46 +03:00
shorekeeper-data Hi 2024-09-11 19:37:46 +03:00
shorekeeper-database Hi 2024-09-11 19:37:46 +03:00
shorekeeper-http Hi 2024-09-11 19:37:46 +03:00
shorekeeper-network Hi 2024-09-11 19:37:46 +03:00
shorekeeper-protocol Hi 2024-09-11 19:37:46 +03:00
shorekeeper-protokey Hi 2024-09-11 19:37:46 +03:00
.dockerignore docker-test (#1) 2024-09-12 21:29:40 +00:00
.gitignore Hi 2024-09-11 19:37:46 +03:00
builder.bat docker-test (#1) 2024-09-12 21:29:40 +00:00
builder.sh docker-test (#1) 2024-09-12 21:29:40 +00:00
Cargo.lock Hi 2024-09-11 19:37:46 +03:00
Cargo.toml Hi 2024-09-11 19:37:46 +03:00
docker-compose.yml docker-test (#1) 2024-09-12 21:29:40 +00:00
Dockerfile-builder docker-test (#1) 2024-09-12 21:29:40 +00:00
Dockerfile-service JSPatch Notify 2024-09-13 11:33:31 +02: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