sakura-rs is an open source Genshin Impact server emulator. Built on top of Bevy ECS, it prioritizes performance and implementation completeness to provide a smooth and efficient gameplay.
sakura-proto: a version-agnostic library defining protocol structures with ability to convert their format between different protocol versions.sakura-data: a library for parsing game data, supporting their initial form of binary blobs, without having to rely on 3rd-party data providers.- Authentication and encryption protocols are implemented with the same specifications as the official server.
- Extensible and easy-to-understand codebase with use of Bevy's plugin system.
git clone https://git.xeondev.com/sakura-rs/sakura-rs.git
cd sakura-rs
cargo run --release --bin sakura-sdk-server
cargo run --release --bin sakura-dispatch-server
cargo run --release --bin sakura-gate-server
cargo run --release --bin sakura-game-serverNavigate to the Releases page and download the latest release for your platform.
Launch all services: sakura-sdk-server, sakura-dispatch-server, sakura-gate-server, sakura-game-server
You should configure each service using their own config files. They're being created in current working directory upon first startup.
You have to specify credentials to work with PostgreSQL
[database]
host = "localhost:5432"
user_name = "postgres"
password = ""
db_name = "sakura"All necessary assets are present in this repository. This includes ExcelBinOutput, BinOutput and regional keys & configuration.
You have to get a compatible game client. Currently supported one is OSCBWin5.1.50, you can get it here. Next, you have to apply this patch, it allows you to connect to local server and replaces RSA encryption keys with custom ones.
Our Discord Server is open for everyone who's interested in our projects!
Your support for this project is greatly appreciated! If you'd like to contribute, feel free to send a tip via Boosty!
