#Live Cross-Server Sync (Admin Console Internals)
AdminService (server) exposes a flat table of named actions (ACTIONS.GiveSpeed, ACTIONS.SetCode, …),
all dispatched through a single remote (RequestAdminAction) and re-validated server-side regardless of
what the client claims. AdminPanel (client) is a command-line UI over the same actions — adding a new
admin command means adding one ACTIONS.X function and one define({...}) block in the panel; nothing
else needs to change. See Admin Console — Basics for the
player/admin-facing command list.
Two systems fan out across every live server via MessagingService, not just RequestAdminAction's own
server:
- Broadcast (topic
AdminBroadcast) — every server subscribes and relays incoming messages to its own players via theBroadcastremote;Client.UI.Announcementsrenders the banner. See Admin — Broadcast. - Admin-set codes (topic
AdminCodesSync, DataStoreAdminCodes) —ExtrasServicekeeps an in-memoryruntimeCodestable layered on top ofConfig.Codes.List;/setcodeand/removecodeupdate it locally, persist it to the DataStore, and publish the change so every other live server updates its own copy immediately rather than waiting on a DataStore poll. See Admin — Codes.
Both of these degrade gracefully if MessagingService/DataStoreService are unavailable (most commonly:
Studio without "Enable Studio Access to API Services" checked) — they log a warning and keep working for
the rest of that session on the current server only. See
Why do I see DataStore/MessagingService warnings in Studio?.