fireflysr with easy setup. PLEASE SCROLL DOWN!!!
Find a file
2024-05-27 12:42:56 +00:00
.cargo First push 2024-05-13 22:03:59 +03:00
assets First push 2024-05-13 22:03:59 +03:00
common Ignore SceneGroups that shouldn't be loaded by server (fixes loading stuck for some maps) 2024-05-14 21:06:00 +03:00
dispatch 2.2.53 hotfix url 2024-05-22 17:20:53 +08:00
gameserver bugfix & command help 2024-05-22 19:18:22 +08:00
proto Disable password check 2024-05-22 17:17:14 +08:00
sdkserver bugfix & command help 2024-05-22 19:18:22 +08:00
tutorial Upload files to "tutorial" 2024-05-27 12:34:05 +00:00
xtask First push 2024-05-13 22:03:59 +03:00
.gitignore First push 2024-05-13 22:03:59 +03:00
Cargo.toml First push 2024-05-13 22:03:59 +03:00
LICENSE Initial commit 2024-05-13 18:53:02 +00:00
mhypbase.dll First push 2024-05-13 22:03:59 +03:00
README.md Update README.md 2024-05-27 12:42:56 +00:00
screenshot.png First push 2024-05-13 22:03:59 +03:00

FireflySR

A Server emulator for the game Honkai: Star Rail screenshot ...BUT I edited this text to make it easier to compile for goobers.

I just want to run the server! I don't care about modifying the code.

  • First, get MongoDB
  • Go to Reversedrooms FireflySR Releases Tab
  • On that page download "FireflySR-win64.zip". DO NOT DOWNLOAD SOURCE CODE!!! screenshot
  • Unzip the compressed archive to a NEW folder with nothing else in it.
  • Run "start_all.bat"
  • Allow admin permission for all three tabs that should open
  • Now, scroll down to Connecting

I want to edit the code and build the project to how I like it!

First, get these prerequesites:

  • Rust
  • MongoDB
  • Protobuf Compiler (protoc) (ONLY IF YOU ARE USING MICROSOFT WINDOWS). You should manually extract it to somewhere and add bin subfolder to the system environment variable PATH. Look online for how to add a folder to "path"

Building

To run it with automatic recompilation when any Rust files are changed
cargo xtask watch

From Pre-built Binaries

Navigate to the 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:

./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.
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 (Prebuilt binary can be downloaded here).

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):

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), replace 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.