Velix Staff sign-in

Developers

Redis topics

Proxies and servers talk over Redis. These are the topics in use.

TopicPayloadPurpose
(channel format)Redis channel is gate:<topic>; message body is <origin>|<payload>All topics below are published on channels prefixed with gate: and carry the sender origin so instances can ignore their own messages.
reload:<module>key name or *Tells all proxies/backends to reload a config module (also reload:messages, reload:nicks, reload:announcements, reload:reasons, reload:reports).
alertJSON {text}Network-wide /alert broadcast.
anticheat:alertJSON {player, server, check, vl?, info?}Anticheat alert from /gatealert to team members on the proxy.
team:lineJSON {perm, off, except, line}Delivers a team notification line to everyone with a permission across proxies.
msg:sendJSON {id, fromUuid, fromName, fromReal, team, fromDisplay, bypass, to, text}Cross-proxy private message delivery.
msg:resultJSON {id, status, toUuid, toName, toDisplay}Delivery result of a private message.
msg:spyJSON {fromUuid, from, toUuid, to, text}Private message copy for social spy.
chat:routeJSON {uuid, text}A staff/team-chat-routed player's chat line, sent from Gate-Paper to the proxy.
chat:mutedJSON {uuid}Gate-Paper tells the proxy that a muted player tried to chat.
friend:eventJSON {type, from, name, to:[uuid]}Friend requests, changes and online notices across proxies.
friends:openJSON {uuid}Gate-Paper (lobby friends item) asks the proxy to open the friends menu.
lobby:openJSON {uuid, menu}LobbySystem hotbar item asks the proxy to open a menu for the player.
lobby:visJSON {uuid, mode, friends:[uuid]}Lobby player visibility mode and friend list for a player.
lobby:prefsJSON {uuid, scoreboard}Lobby scoreboard preference of a player.
player:stateJSON {uuid, chat_mode, profanity, friends:[uuid]}Per-player state pushed to backend servers.
nick:changedJSON {uuid, real, state?}A nick was set (state present) or removed (state absent); Gate-Paper applies or restores the disguise.
staff:tpJSON {staff, target}Gate-Paper teleports the staff member to the target after a server switch.
punish:updateuuid stringA punishment of a player changed; refresh state.
protect:lockdownJSON {until}Lockdown end time synchronised across proxies.
joinme:showJSON {id, owner, name, server, bypass, display}Shows a JoinMe invitation in the lobbies.
joinme:closeJSON {server}Closes the JoinMe of a server (sent by /gatejoinme close or the proxy).
coins:reqJSON {id, op: balance|add|remove, uuid, amount, source?, reason?, key?, server?}Gate-Paper GateCoins request to the proxy (one proxy claims it).
coins:resJSON {id, ok, balance, delta, duplicate} or {id, ok:false, error: INSUFFICIENT|INVALID|UNAVAILABLE, balance?, message?}Answer to a coins request.
coins:changedJSON {uuid, balance, delta, source, reason?, server?}Broadcast after any balance change; fires CoinsChangeEvent on backends.
discord:linkJSON {code, discord_id}Sent by the Discord bot to confirm a link code.
discord:linkedJSON {uuid, discord_id}Tells the player that the Discord link succeeded.
gui:viewJSON {uuid, session, title, rows, fill?, items:[...]}Proxy sends a menu to render on the player's backend server.
gui:closeJSON {uuid}Proxy closes the menu.
gui:promptJSON {uuid, session, question}Proxy asks the player for chat input.
gui:soundJSON {uuid, sound, volume, pitch}Proxy plays a sound for the player.
gui:ackJSONBackend confirms a menu was opened.
gui:clickJSON {uuid, session, slot, click}Backend reports a menu click.
gui:closedJSON {uuid, ...}Backend reports that the player closed the menu.
gui:inputJSON {uuid, ...}Backend reports the chat input of a prompt.