How to make a Minecraft server lobby or hub

By Kosy · · 2 min read

A lobby, or hub, is the first place players land. It is small, safe, and has a way to pick where to go next: survival, creative, minigames. If you run more than one server, you want one.

What a lobby needs

  • A protected spawn. No building, breaking, damage, hunger or mob spawning, so nothing can go wrong while people wait.
  • A void or a small platform. Lobbies are tiny, which keeps memory and view distance low. A 700 MB server is enough in theory, though newer versions of Paper are happier with a gigabyte.
  • A selector. A compass or menu item that lists the servers and sends players to one.
  • A way back. Players on other servers should be able to return with one command.

The two ways to connect servers

  1. A proxy network (Velocity). Players join the proxy and are moved between servers without disconnecting. Good for a fixed set of servers you own, see how to make a network with Velocity. On Saryno the network builder sets it up with a drag-and-drop screen.
  2. Transfers. Since Minecraft 1.20.5 a server can tell the game to reconnect to another address. No proxy is needed, the other server can be anywhere, and it works for friends' servers too.

The Saryno hub, ready made

play.saryno.com is a lobby that already works this way. It lists every public server hosted on Saryno, wakes a sleeping one before moving you, and has friends and favourites. Players on any Saryno server type /saryno to open the same menu or return to the hub. You do not have to build anything: make your server public in its Server list tab (new servers are public by default) and it appears in the menu. See the Saryno hub.

Building your own

On a Paper server:

  1. Generate a void world or a flat one and build a small platform.
  2. Install a permissions plugin and give the default group no building rights, see LuckPerms.
  3. Set the gamerules for a lobby: doMobSpawning false, doDaylightCycle false, keepInventory true, see gamerules explained.
  4. Add a menu plugin or command blocks that move players, and set the server to gamemode=adventure with force-gamemode=true.
  5. Put it first in the proxy's try list so players land there.

Keep it fast

A lobby is the busiest server, because everybody passes through it. Keep chunks few, entities none and plugins to the minimum. Pre-generate the small area once and set a low view distance.

More to read