Lobby module

The lobby module turns a server into a lobby: navigator (server selection), cosmetics (particle trails), double jump, lobby protection, spawn teleport on join and the hotbar items of Autonicker and party.

Note

License: lobby is part of the free base by default (together with core, punishments, reports). Which modules are free can change – the dashboard shows locked modules grayed out.

Enabling

  • Module key: lobby, no dependencies. Conveniently via the lobby preset (core, punishments, reports, chatlog, socialspy, nick, party, lobby). See Modules & Presets.
  • Enable it only on lobby servers. A server counts as a lobby as soon as this module is on – this also determines whether the name tag (Autonicker) and the party head (Party) appear in the hotbar.
  • All settings are in the lobby: section of config.yml.

Spawn

lobby:
  # Fallback spawn. /setlobbyspawn writes to plugins/Eternal/lobby/spawn.yml – that one wins.
  # empty world = no teleport on join.
  spawn:
    world: ""
    x: 0.5
    y: 100.0
    z: 0.5
    yaw: 0.0
    pitch: 0.0

The easiest way: stand at the desired spot and run /setlobbyspawn.

On lobby servers /spawn and /setspawn are the same as /lobby and /setlobbyspawn – there is only one spawn there. In the navigator (compass) the Spawn entry (nether star, middle of the last row; lobby.navigator.spawn) leads back to it.

Lobby map from the dashboard

Instead of building the lobby on every server, upload the map once: Welten → Lobby-Karte (permission eternal.web.lobbymap; with the cloud in the Cloud area, without it in the dashboard).

  • File: a world as .zip (the world folder with level.dat – the folder itself or just its content, up to 200 MB) or a schematic (.schem / .schematic, up to 15 MB). The dashboard checks the file on upload and shows the Minecraft version or size.
  • Loading: every server with the lobby module fetches the map from the database within 15 s, creates it as world lobby_map and makes it the lobby spawn. Players on the server move to the new map at once. Lobbies the cloud starts later load it on start – no setup server, no template copying.
  • Schematic: placed centred on 0/0 in an empty world (floor at height 64). The spawn is the nearest full block with two blocks of room above, searched from the middle.
  • World: the spawn is the one in level.dat. Around the map is void (nothing is generated). If there is no floor at the spawn, the server reports it in the dashboard.
  • Spawn: set coordinates in the dashboard or use /setlobbyspawn on the map in game – it then applies to every lobby. /setlobbyspawn outside the map writes spawn.yml as before.
  • Time & weather: always day, always night or the normal cycle; weather on/off. No mob spawns, no fire spread.
  • Off / remove: turning "Karte verwenden" off sends everyone back to the server's own spawn; "Entfernen" deletes the file too.
  • Status: the list shows every lobby server as loaded, loading, error (with reason) or old map. A world from a newer Minecraft version than the server is refused with a note.

On join

lobby:
  join:
    teleport-spawn: true     # teleport to the spawn
    clear-inventory: true    # clear inventory + give lobby items
    adventure: true          # set adventure mode
    heal: true               # full health + hunger

The lobby items (navigator, cosmetics) are only handed out together with clear-inventory: true, and only to players with eternal.lobby.use (default level All).

The compass opens a server selection menu.

lobby:
  navigator:
    slot: 0                  # hotbar slot, counted from 0 (0-8)
    material: COMPASS
    name: "&b&lNavigator &7(Rechtsklick)"
    gui-title: "&8» &bServer-Auswahl"
    gui-rows: 3              # 1-6
    servers:
      - { name: "&aBedWars",  material: RED_BED, slot: 11, server: "bedwars",  lore: "&7Klicke zum Verbinden" }
      - { name: "&bSkyWars",  material: FEATHER, slot: 13, server: "skywars",  lore: "&7Klicke zum Verbinden" }
      - { name: "&cKnockFFA", material: STICK,   slot: 15, server: "knockffa", lore: "&7Klicke zum Verbinden" }
FieldMeaning
nameDisplay name (color codes with &)
materialIcon
slotPosition in the menu (from 0)
serverBungeeCord server name or task:<Task> for Eternal Cloud
loreDescription; separate multiple lines with |

Cloud tasks in the navigator

With server: "task:<Task>", a click connects to the best running service of that task – handy for dynamic services such as BedWars-1, BedWars-2 … In addition, there are two placeholders for name and lore:

PlaceholderContents
%online%Players on all services of the task
%services%Number of running services of the task
servers:
  - name: "&aBedWars &8(&f%online%&8)"
    material: RED_BED
    slot: 11
    server: "task:BedWars"
    lore: "&7Server: &f%services%|&eKlicke zum Verbinden"

Without its own lore, a task entry automatically shows „Spieler: …“ ("Players: …"), „Server: …“ and „Klicke zum Verbinden“ ("Click to connect"). If no service of the task is running, clicking does nothing.

Cosmetics

lobby:
  cosmetics:
    slot: 4                  # hotbar slot, counted from 0 (0-8)
    material: LEATHER_BOOTS
    name: "&d&lCosmetics &7(Rechtsklick)"
    gui-title: "&8» &dCosmetics"
    gui-rows: 3

The menu offers particle trails that appear behind the player while walking: flames, hearts, notes, clouds, crit, lava, sparks, portal, snow. The selection is stored on the player and persists after relogging. The trails are not individually locked by permission – everyone with eternal.lobby.use can choose all of them.

Double jump

lobby:
  double-jump:
    enabled: true
    forward: 1.0     # forward momentum
    up: 0.85         # upward momentum

Jumping again in the air (double space bar) gives forward and upward momentum. Applies in survival and adventure mode.

World border

lobby:
  border-radius: 300   # blocks around the lobby spawn, 0 = leave the border alone

Every world of the lobby server gets a world border around the spawn (/setlobbyspawn moves it along). Without one, players walk and fly on forever and the world keeps growing on disk.

Lobby protection

lobby:
  protection:
    no-block-edit: true      # no placing/breaking
    no-damage: true
    no-hunger: true
    no-drop: true
    no-pickup: true
    no-weather: true         # always clear
    void-teleport: true      # below Y=0 back to the spawn

eternal.lobby.bypass (default level Team) bypasses the entire protection – e.g. for builders.

Commands

CommandAliasesPermissionDescription
/lobby/hubeternal.lobby.useTeleport to the lobby spawn (Spigot)
/setlobbyspawneternal.lobby.adminSet the lobby spawn to your own position
/navigator/nav, /compasseternal.lobby.useOpen the navigator
/cosmetics/cosmetic, /bootseternal.lobby.useOpen cosmetics

An item on the slot of the name tag or party head (e.g. old configs with cosmetics.slot: 4) moves aside – cosmetics to the 8th slot first.

Permissions

PermissionDefault levelPurpose
eternal.lobby.useAllLobby items on join, /lobby, /navigator, /cosmetics (double jump applies to everyone)
eternal.lobby.bypassTeamBypass lobby protection (build, move items)
eternal.lobby.adminAdmin/setlobbyspawn
eternal.web.lobbymapAdminDashboard: Welten → Lobby-Karte

Common pitfalls

  • No teleport on join: neither was /setlobbyspawn run nor spawn.world set.
  • /fly does not work in the lobby: with double jump active, every flight toggle in survival/adventure mode turns into a jump. Switch to creative mode to fly, or set double-jump.enabled: false.
  • Lobby built below Y=0: void-teleport triggers for everything below Y=0 and keeps pulling players back to the spawn – then use void-teleport: false.
  • Navigator entry does not connect: server must match the name in the proxy configuration exactly (for cloud services, address the task via task:<Task>).
  • No lobby items in the hotbar: they are only handed out with join.clear-inventory: true.
  • Players lose items on entering: join.clear-inventory: true clears the inventory – do not enable the module on non-lobby servers.