Network mode¶
Run one or more lobby servers (players browse and queue) and any number of game servers (arenas run there), connected by Redis behind a Velocity or BungeeCord proxy. Single-server installs ignore all of this.
You need¶
- A Redis server (any recent version).
- A Velocity or BungeeCord proxy with all servers registered.
- SpaceCrews + PacketEvents on every lobby and game server.
- MySQL recommended (
storage.type: mysql) so stats/XP are shared network-wide.
Game servers¶
server-type: GAME
server-name: game-1 # MUST match this server's name in the proxy config
redis:
host: 127.0.0.1
port: 6379
password: ""
network:
rejoin-grace-seconds: 60 # mid-game disconnect: how long the slot waits (0 = off)
main-lobby:
mode: server
server: lobby # players return here when a game ends
storage:
type: mysql
mysql: {host: 127.0.0.1, port: 3306, database: spacecrews, user: sc, password: "..."}
Set up arenas on game servers as usual — template worlds live there.
Lobby servers¶
server-type: LOBBY
server-name: lobby
redis: {host: 127.0.0.1, port: 6379, password: ""}
storage:
type: mysql
mysql: {..same database..}
Lobby servers need no arenas. /sc games there shows every server's live games and
arenas; clicking reserves the slots (whole parties travel together, never
split) and sends players through the proxy straight into the game.
What you get¶
- Cross-server browser — game listings refresh every 5s; a crashed server's listings expire on their own.
- Reservations — capacity is booked before anyone travels; two lobbies can't oversell a game.
- Autoscaling — arena rows auto-pick the least-loaded game server hosting that map, spinning a fresh instance if needed.
- Rejoin grace — a mid-game disconnect becomes a ghost immediately (no gameplay
limbo), but the slot survives
rejoin-grace-seconds; reconnecting to any lobby routes the player back to resume as a ghost (tasks + end-of-game XP intact). - Party travel — members away in a game show "(away playing)" and the party survives their absence.
Graceful degradation
Redis unreachable or server-name missing → the server logs a warning and runs
standalone. Keep one lobby server per network for parties (multi-lobby party
sync is a roadmap item).