98 lines
3.7 KiB
Markdown
98 lines
3.7 KiB
Markdown
# FireflySR
|
|
|
|
A Server emulator for the game [`Honkai: Star Rail`](https://hsr.hoyoverse.com/en-us/)
|
|
![screenshot](https://git.xeondev.com/reversedrooms/FireflySR/raw/branch/master/screenshot.png)
|
|
|
|
## Prerequisites
|
|
|
|
- [MongoDB](https://www.mongodb.com/try/download/community)
|
|
|
|
## Installation
|
|
|
|
### From Source
|
|
|
|
#### Requirements
|
|
|
|
- [Rust](https://www.rust-lang.org/tools/install)
|
|
- [MongoDB](https://www.mongodb.com/try/download/community-edition)
|
|
- [Protobuf Compiler (protoc)](https://github.com/protocolbuffers/protobuf/releases/download/v26.1/protoc-26.1-win64.zip). You should manually extract it to somewhere and add `bin` subfolder to the system environment variable `PATH`.
|
|
|
|
#### Building
|
|
|
|
#### Using xtasks (recommended)
|
|
|
|
```sh
|
|
git clone https://git.xeondev.com/reversedrooms/FireflySR.git
|
|
cd FireflySR
|
|
cargo xtask run
|
|
```
|
|
|
|
##### To run it with automatic recompilation when any Rust files are changed
|
|
|
|
```sh
|
|
cargo xtask watch
|
|
```
|
|
|
|
### From Pre-built Binaries
|
|
|
|
Navigate to the [Releases](https://git.xeondev.com/reversedrooms/FireflySR/releases)
|
|
page and download the latest release for your platform.
|
|
|
|
## Usage
|
|
|
|
To begin using the server, you need to run three servers: `sdkserver`, `dispatch` and `gameserver`
|
|
|
|
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:
|
|
|
|
```sh
|
|
./gameserver
|
|
./dispatch
|
|
./sdkserver
|
|
```
|
|
|
|
##### Note: the `assets` folder should be in the same directory with the `gameserver`, otherwise it will not boot up.
|
|
|
|
## Configuration
|
|
By default, servers will try to use local mongodb (at 127.0.0.1:27017),
|
|
this should work out of box if you installed MongoDB on your machine.
|
|
<br>
|
|
You can change this in configuration file of specific server.
|
|
Currently only sdkserver and gameserver communicate with database, so if you **need** to configure it,
|
|
edit sdkserver.json and gameserver.json files.
|
|
|
|
## Connecting
|
|
|
|
### For the latest 2.3 Beta patch
|
|
|
|
If you want to play the latest Beta patch, the `mhypbase.dll` patch for 2.2.51 OS is not usable. You should use a separate proxy like [FireflySR.Tool.Proxy](https://git.xeondev.com/YYHEggEgg/FireflySR.Tool.Proxy) (Prebuilt binary can be downloaded [here](https://git.xeondev.com/YYHEggEgg/FireflySR.Tool.Proxy/releases)).
|
|
|
|
Also, you need to configure `disable_password_check` in `sdkserver.json`. That is to say, if you have used a older version, you should go to the configuration file **in the root directory** and check if it's `true`.
|
|
|
|
Clients (2.3 Beta v3):
|
|
|
|
- [CN - 2.2.53](https://autopatchcn.bhsr.com/client/beta/20240517110535_d7lJoh4jYXkVGXI1/StarRail_2.2.53.zip)
|
|
- [OS - .2.53](https://autopatchos.starrails.com/client/Beta/20240517111205_PZfNSHVLH509e76v/StarRail_.2.53.zip)
|
|
|
|
Notice: **CN Package may not have languages other than Chinese, and vice versa**. Be careful when choosing which to download; luckily they are all compatiable with this server.
|
|
|
|
### For v1 Players
|
|
|
|
[Get 2.3 beta client v1(.51)](https://autopatchos.starrails.com/client/Beta/20240501125700_dUBAjS7YiX9nF7mJ/StarRail_2.2.51.zip),
|
|
replace [mhypbase.dll](https://git.xeondev.com/reversedrooms/FireflySR/raw/branch/master/mhypbase.dll)
|
|
file in your game folder, it will redirect game traffic (and disable in-game censorship)
|
|
|
|
## Contributing
|
|
|
|
Pull requests are welcome. For major changes, please open an issue first to discuss
|
|
what you would like to change, and why.
|
|
|
|
## Bug Reports
|
|
|
|
If you find a bug, please open an issue with as much detail as possible. If you
|
|
can, please include steps to reproduce the bug.
|
|
|
|
Bad issues such as "This doesn't work" will be closed immediately, be _sure_ to
|
|
provide exact detailed steps to reproduce your bug. If it's hard to reproduce, try
|
|
to explain it and write a reproducer as best as you can.
|