Skip to content
minecraft · paper · lobby · velocity

PaperMC landing &fallback

A PaperMC 1.21.11 lobby server that sits alongside the Fabric survival backend in the KBVE MC stack. It is the first server new players land on and the fallback when the Fabric backend disconnects — instead of being kicked, players are moved here until Fabric comes back.

Superflat peaceful world

A vanilla superflat preset (bedrock + 2 dirt + grass, plains biome, no structures, no mob spawning) with DIFFICULTY=peaceful for zero combat. Nether and End are disabled, keeping all activity on the overworld.

  • Default — the proxy's first try target.
  • Fallback — catches players when mc disconnects.
mc-lobbyApp
PaperMC 1.21.11Type
Superflat peacefulWorld
Lobby + fallbackRole

What it gives you

Features

Default landing target

The first server new players connect to, listed as the Velocity proxy's default try target.

Failover fallback

failover-on-unexpected-server-disconnect routes disconnected mc players back here instead of kicking them.

Superflat peaceful world

Vanilla superflat, plains biome, peaceful difficulty, Nether and End disabled — zero combat.

Cross-server permissions

LuckPerms syncs permissions over the pluginmsg channel, same wire format as Fabric + Velocity.

Velocity forwarding

Paper native Velocity forwarding via the paper-global.yml secret, registered with the proxy as lobby.

World

World & plugins

PaperMC-based lobby server that sits alongside the Fabric survival backend in the KBVE MC stack. It’s the first server new players land on when they connect, and the fallback when the Fabric backend disconnects unexpectedly — instead of getting kicked, players get moved here until Fabric comes back.

The world is a vanilla superflat preset (bedrock + 2 dirt + grass, plains biome, no structures, no mob spawning) with DIFFICULTY=peaceful so there’s zero combat. Nether and End dimensions are disabled (ALLOW_NETHER=false, ALLOW_END=false) — portals stay inert and /execute in commands targeting those dimensions fail, keeping all activity on the overworld. No custom spawn structures are baked in — admins build with WorldEdit after first boot, then lock the spawn point in with /setspawn.

PluginPurpose
LuckPermsCross-server permission sync via the pluginmsg channel (same wire format as Fabric + Velocity).
EssentialsXCore /sethome, /tpa, /back, kit system. Required base dependency for every EssentialsX addon below.
EssentialsX-Spawn/spawn, /setspawn, spawn-on-join. Separate addon JAR — the /spawn command lives here, not in the core EssentialsX jar.
EssentialsXAntiBuildBlocks build/break/interact for non-permissioned players — grief-proofs the lobby by default.
WorldEditAdmin building tool; same version line as Fabric for consistency.
AdvancedPortalsPhysical portal regions that fire proxy commands on player entry. Lets us place decorative portals that teleport players to other backends via the Velocity command plugin.

Proxy

Architecture & Velocity

itzg/minecraft-server:java25
└─► TYPE=PAPER, VERSION=1.21.11
└─► Superflat peaceful world (LEVEL_TYPE=minecraft:flat)
└─► Paper native Velocity forwarding (paper-global.yml secret)
└─► Kubernetes Deployment (1 replica, Recreate strategy)
└─► ClusterIP Service: mc-lobby-backend
└─► Registered with Velocity as `lobby`

The Velocity proxy (see mc-velocity) has the lobby as its default try target:

[servers]
lobby = "mc-lobby-backend.arc-runners.svc.cluster.local:25565"
mc = "mc-fabric-backend.arc-runners.svc.cluster.local:25565"
try = ["lobby", "mc"]

Combined with failover-on-unexpected-server-disconnect = true in the Velocity advanced section, this means players on mc who get disconnected (fleet restart, pod recycle, Fabric crash) are automatically sent back to the lobby instead of getting kicked to their client disconnect screen.

Questions

Frequently asked

What is the MC Lobby server?

It is a PaperMC 1.21.11 lobby server in the KBVE Minecraft stack. It is the first server new players land on and the fallback when the Fabric survival backend disconnects, so players are moved here instead of being kicked until Fabric returns.

What kind of world does the lobby run?

A vanilla superflat preset (bedrock plus two dirt and grass, plains biome, no structures, no mob spawning) with DIFFICULTY=peaceful for zero combat. The Nether and End are disabled, keeping all activity on the overworld.

How does the lobby integrate with the Velocity proxy?

The Velocity proxy lists the lobby as its default try target and uses failover-on-unexpected-server-disconnect, so players disconnected from the mc backend are automatically routed back to the lobby rather than kicked to the disconnect screen.