feat(backend): Keen online-backend emulator (Enshrouded co-op) #11
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
splitux-gg/splitux!11
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "keen-backend"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Adds
keenas a multiplayer backend alongside goldberg/eos/photon/facepunch/standalone, for titles gated on Keen Games' proprietary auth server (e.g. Enshrouded,eonlinedb.enshrouded.com:27503). Until the game authenticates to Keen it staysHost_Offlineand creates no lobby — goldberg alone can't bridge it.What it does
src/backend/keen.rs— runs the bundledkeen-emuauth server as a shared sidecar (start_services) and injects--keenonline-server-data-file(extra_launch_args).requires_overlay=false. Pairs with goldberg (keen = auth gate, goldberg = Steam P2P lobby + data).Backendtrait — two additive, default-impl'd hooks (extra_launch_args,start_services); all existing backends unchanged.backend.rs(register +collect_backend_launch_args/start_backend_services),build_cmds.rs(append args),session.rs(start sidecar before launch, kill at teardown),handler.rs(keen: Option<KeenSettings>+keen_ref()/has_keen()).Asset
The
keen-emubinary is fetched intoassets/keen/(gitignored, like goldberg) from the new keen-emu-splitux repo (v0.1.0).Handler
Verified
2-instance Enshrouded co-op end-to-end: keen-emu auth → host
Host_Online→ joiner discovers + joins over goldberg LAN → joiner loads into the host's world. (Requires the goldberg loopback peer-endpoint fix, gbe_fork-splituxrelease-p2p-loopback-fix.)Superseded by main - verified file-by-file: every change here (backend registration, handler config, launch-arg injection, sidecar lifecycle in session.rs, splitux.sh fetch, .gitignore) already exists on main via a different commit path (
41046bb+ follow-up fixes), with additional improvements (concurrency-safe data file path, presence guard, stdio inherit, generalized sidecar-service lifecycle). Closing as redundant.Pull request closed