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.
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 thelobbypreset (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 ofconfig.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 withlevel.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
lobbymodule fetches the map from the database within 15 s, creates it as worldlobby_mapand 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
/setlobbyspawnon the map in game – it then applies to every lobby./setlobbyspawnoutside the map writesspawn.ymlas 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).
Navigator
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" }
| Field | Meaning |
|---|---|
name | Display name (color codes with &) |
material | Icon |
slot | Position in the menu (from 0) |
server | BungeeCord server name or task:<Task> for Eternal Cloud |
lore | Description; 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:
| Placeholder | Contents |
|---|---|
%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
| Command | Aliases | Permission | Description |
|---|---|---|---|
/lobby | /hub | eternal.lobby.use | Teleport to the lobby spawn (Spigot) |
/setlobbyspawn | eternal.lobby.admin | Set the lobby spawn to your own position | |
/navigator | /nav, /compass | eternal.lobby.use | Open the navigator |
/cosmetics | /cosmetic, /boots | eternal.lobby.use | Open 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
| Permission | Default level | Purpose |
|---|---|---|
eternal.lobby.use | All | Lobby items on join, /lobby, /navigator, /cosmetics (double jump applies to everyone) |
eternal.lobby.bypass | Team | Bypass lobby protection (build, move items) |
eternal.lobby.admin | Admin | /setlobbyspawn |
eternal.web.lobbymap | Admin | Dashboard: Welten → Lobby-Karte |
Common pitfalls
- No teleport on join: neither was
/setlobbyspawnrun norspawn.worldset. /flydoes 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 setdouble-jump.enabled: false.- Lobby built below Y=0:
void-teleporttriggers for everything below Y=0 and keeps pulling players back to the spawn – then usevoid-teleport: false. - Navigator entry does not connect:
servermust match the name in the proxy configuration exactly (for cloud services, address the task viatask:<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: trueclears the inventory – do not enable the module on non-lobby servers.