Documentation menu

Guides

Lobby-only game servers

Turn on requireTicket so players can only reach a game server through your lobby.

By default, a player can still connect to any of your servers directly, by its address. That is fine for lobbies. For game servers, you usually want every player to arrive through the lobby, with a valid transfer.

Turn it on

Set requireTicket on the game servers:

mods/Link_Link/link.json (other keys left out)JSON
{
  "serverId": "sw-1",
  "group": "skywars",
  "requireTicket": true,
  "fallbackGroup": "lobby"
}

Now, when a player joins sw-1 without a valid transfer, Link sends them straight on to a server in fallbackGroup, picked like /play does. The player sees a short reconnect, then the lobby.

If no server in fallbackGroup can take them, because there are none or all are full, the connection is refused with This server is only reachable through the lobby.

Leave requireTicket off on the servers in fallbackGroup itself. Link ignores it there anyway, so a lobby never sends players to itself.

What counts as a valid transfer

A player arrives with a valid transfer when another server in your network sent them with /server, /play or the Java API, less than 30 seconds ago, and they have not used that transfer before. Everything else is a direct join. See the security model for the details.

Something wrong or missing on this page? Open an issue on GitHub.