A launcher for Space Station 13 servers, using Tauri and managing BYOND versions internally.
| CM-SS13 Game Servers | Authentication Options (Steam only available in Steam builds) | Automatic Relay Selection |
|---|---|---|
![]() |
![]() |
![]() |
- Automatically installs the correct version for the game server you are connecting to.
- Private WebView2 install location to avoid conflicts with system BYOND.
- CM-SS13 Authentication via web browser authentication flow
- Handles tokens refresh to stay logged in indefinitely
- BYOND Authentication via pager
- Steam Authentication via Authentication ticket flow/Authentik backend
- Supports Steam and Discord rich presence
- Displays currently launched server, as well as the number of players online
- Allows friends to join directly from the friends list
- Automatically deploys tagged versions to GitHub Releases and Steam
- Steam releases are pushed to a
latestbranch for manual deployment todefault.
Install frontend dependencies first:
npm installThe launcher has two variants controlled by Cargo features and Tauri config overlays:
| Variant | Feature flag | Config overlay | Description |
|---|---|---|---|
| SS13 (generic) | (none) | (none) | Generic SS13 server browser |
| CM-SS13 | cm_ss13 |
--config src-tauri/tauri.cm.conf.json |
CM-SS13 specific launcher |
Both variants can optionally include Steam support by adding the steam feature.
# SS13 (generic)
npm run tauri -- dev
# CM-SS13
npm run tauri -- dev --features cm_ss13 --config src-tauri/tauri.cm.conf.json
# Either variant with Steam support
npm run tauri -- dev --features steam
npm run tauri -- dev --features cm_ss13,steam --config src-tauri/tauri.cm.conf.jsonTo run a Steam build in development, place a file named steam_appid.txt in src-tauri/ containing 4313790. Otherwise, the app will immediately close and attempt to reopen via Steam.
# SS13 (generic)
npm run tauri -- build
# CM-SS13
npm run tauri -- build --features cm_ss13 --config src-tauri/tauri.cm.conf.jsonDownload the WebView2 fixed runtime (bundled into the installer so users don't need system WebView2):
./scripts/download-webview2.ps1No other platform-specific setup is needed on Windows.
Install system dependencies (Ubuntu 24.04):
sudo apt-get install -y \
libwebkit2gtk-4.1-0 libwebkit2gtk-4.1-dev \
libjavascriptcoregtk-4.1-0 libjavascriptcoregtk-4.1-dev \
gir1.2-javascriptcoregtk-4.1 gir1.2-webkit2-4.1 \
libappindicator3-dev librsvg2-dev \
patchelf musl-tools cabextractLinux builds require bundled sidecars (Wine, WebView2, cabextract) for running BYOND.
-
Download Wine, winetricks, and cabextract (bundles Wine so Linux users can run BYOND via Wine):
./scripts/download-wine.sh
-
Download the WebView2 fixed runtime:
./scripts/download-webview2.sh
-
Prepare the sidecar directory for AppImage bundling. The directory name must match the
productNamein tauri.conf.json:# For SS13 (generic) - productName is "SS13 Launcher" mkdir -p "/tmp/lib/SS13 Launcher" cp src-tauri/wine.tar.zst "/tmp/lib/SS13 Launcher/" cp src-tauri/winetricks "/tmp/lib/SS13 Launcher/" cp src-tauri/cabextract "/tmp/lib/SS13 Launcher/" chmod +x "/tmp/lib/SS13 Launcher/winetricks" "/tmp/lib/SS13 Launcher/cabextract" cp -r src-tauri/webview2-runtime "/tmp/lib/SS13 Launcher/webview2-runtime" # For CM-SS13 - productName is "CM-SS13 Launcher" mkdir -p "/tmp/lib/CM-SS13 Launcher" cp src-tauri/wine.tar.zst "/tmp/lib/CM-SS13 Launcher/" cp src-tauri/winetricks "/tmp/lib/CM-SS13 Launcher/" cp src-tauri/cabextract "/tmp/lib/CM-SS13 Launcher/" chmod +x "/tmp/lib/CM-SS13 Launcher/winetricks" "/tmp/lib/CM-SS13 Launcher/cabextract" cp -r src-tauri/webview2-runtime "/tmp/lib/CM-SS13 Launcher/webview2-runtime"
-
Linux AppImage builds also require a custom tauri-cli fork and the linux config overlay:
cargo install tauri-cli --git https://github.com/tauri-apps/tauri --branch feat/truly-portable-appimage --force
-
Build with the linux config overlay and the
ADD_DIRenv var:# SS13 (generic) ADD_DIR="/tmp/lib/SS13 Launcher" cargo tauri build --config src-tauri/tauri.linux.conf.json # CM-SS13 ADD_DIR="/tmp/lib/CM-SS13 Launcher" cargo tauri build --features cm_ss13 \ --config src-tauri/tauri.cm.conf.json --config src-tauri/tauri.linux.conf.json
When Tauri commands or types change, regenerate the TS bindings:
cd src-tauri && cargo test --features steam --lib export_bindingsThe steam feature is required so that Steam-specific bindings are included.
See issues tagged with https://github.com/cmss13-devs/cm-launcher/labels/feature-request or https://github.com/cmss13-devs/cm-launcher/labels/bug as an easy place to start contributing.


