7 releases
0.1.6 | Nov 18, 2021 |
---|---|
0.1.5 | Sep 25, 2021 |
#392 in Games
27 downloads per month
125KB
3.5K
SLoC
RSHub
Unofficial game launcher for UnityStation.
RSHub is a terminal application written in Rust for listing and connecting to UnityStation game servers. UnityStation is a modern remake of Space Station 13 in Unity.
Feature comparison to official Hub
feature | RSHub | StationHub |
---|---|---|
auth[1] | no | yes |
list online servers | yes | yes |
connect to server | yes | yes |
ping servers | no | yes |
manage installations (add/remove) | yes | yes |
run local installation | yes | broken |
news/commits section | yes | yes |
show servers on map (useless) | yes | no |
written in rust | yes | no |
ian icon | no | broken |
[1] I am not planning to support firebase auth, unitystation is switching to their own provider.
Platform support
- Linux: developed and tested on.
- Windows: seem to work, though I do not have machine to test it.
- Mac: it might work, but most likely it would not because of platform limitations. I have no machine to test it.
Installation
Prebuilt binaries can be found in releases.
RSHub requires nightly rust toolchain to build (unstable strip feature).
If you do not have nightly toolchain, you can prefix cargo commands with RUSTC_BOOTSTRAP=1 cargo ...
as a workaround.
Install from crates.io (stable version): cargo install rshub
Or with geolocation feature: cargo install rshub --feature geolocation
Run from source (latest version):
cargo run
or cargo run --release
(slow)
Usage
- Use
--help
to get CLI usage. - Press F1 on any screen to show hotkeys.
Issues
Possible problems and fixes:
- Linux, i3 specific: game starts in fullscreen in bad resolution. Solution: uncheck fullscreen mode in game settings.
- rshub 0.1.5 only supports servers of version UnityStationDevelop-21092504 and later because of auth changes. If you need to connect to older builds, you must use rshub 0.1.4.
Geolocation
Currently geolocation feature (world map) is opt-in at compile time because of security cencerns.
You will have to add --features geolocation
to cargo commands to enable it.
This is because service I use for geolocation has too high ratelimits and I had to set up my own instance.
While solves ratelimits problem, it lets me gather IP addresses (and locations) of hub users, so I made it strictly opt-in.
Special thanks (random order)
- PotatoAlienOf13: for testing and suggestions during initial development and original idea
- kalmari: for answering Rust questions
- gitui and bottom for inspiration
- Unitystation developers for the game
More screenshots
Dependencies
~20–34MB
~517K SLoC