Running a Server
Audience: Operators running a public or private instance · Prereqs: Getting Started
This section covers actually operating a LegacyShell deployment: the database, user ranks, connecting multiple game servers, keeping it alive unattended, and moderating it once it's public.
What's here
- Architecture overview - the services/game/client split, who talks to whom, why services must be singular.
- The database - opening
LegacyShellData.db, the EDITABLE/READONLY table tags, what not to touch by hand. - Users and ranks -
adminRoles, granting yourself/others admin, banning. - Adding game servers -
game_serversrows,auth_key, running more than one region. - Client mirrors - running extra client servers pointed at one services instance.
- Hosting for someone else's instance - volunteering a mirror or game server to an instance you don't own.
- Perpetual - the process manager: crash restarts, daily restart schedule, auto git-pull, Discord webhook alerts.
- Backups - rotation and retention, how to restore one.
- Rate limiting - the regular/sensitive buckets and how
auth_keybypasses them. - Moderation - in-game admin commands, booting players, locking rooms, the cheats flag.
- Closed mode - taking the client server into maintenance mode.
- Deployment - reverse proxy, ports, TLS, keeping it running long-term.
- Troubleshooting - services unreachable, restart loops, desync between servers.
- Items and inventory, Codes - granting items, redemption codes,
ownedItemIds. (Not yet written - see The Database in the meantime for direct table access.)
If you're extending gameplay rather than operating a server, you want Plugin Development instead.
This page was drafted with AI assistance and reviewed for accuracy. If something looks wrong, please open a PR or flag it.
