Коротко: на одном сервере лобби — это отдельный мир: создайте его через Multiverse-Core и включите join-destination, чтобы каждый вход начинался в нём. В сети серверов лобби — отдельный сервер Paper, первый в списке try в velocity.toml. Дальше одинаково: пустой мир с постройкой на точке спавна, игрок появляется на спавне при каждом входе, урон, голод, PvP и постройка выключены, а режим выбирают через меню, NPC или компас из плагина-хаба.
Лобби-мир или лобби-сервер
| Мир на том же сервере | Отдельный сервер за Velocity | |
|---|---|---|
| Когда подходит | Один режим: выживание, анархия, креатив | Несколько режимов, у каждого свой сервер |
| Чем делается | Плагин Multiverse-Core | Ещё один сервер Paper и прокси Velocity |
| Куда попадает игрок при входе | join-destination в Multiverse | Первый сервер из try в velocity.toml |
| Переход в режим | Телепорт в другой мир | /server <режим> или кнопка меню |
| Нагрузка | Общий основной поток: лаг в одном мире чувствуют во всех | Свой процесс: лобби не мешает режимам |
Чем второй мир отличается от отдельного сервера, подробно — в статье Multiverse-Core, а как устроена сеть с прокси — в статьях сеть серверов и настройка Velocity.
Пустой мир под постройку
Лобби строят с нуля или вставляют готовую постройку через WorldEdit — //schem load и //paste, см. WorldEdit, — поэтому рельеф вокруг не нужен. На отдельном лобби-сервере пустой мир получится без плагинов: плоский мир из одного слоя воздуха с биомом the_void.
# server.properties лобби-сервера — до первого запуска
level-type=minecraft\:flat
generator-settings={"biome":"minecraft:the_void","layers":[{"block":"minecraft:air","height":1}]}Настройки генерации применяются только при создании мира: если мир уже есть, остановите сервер и удалите его папку или задайте другое level-name. На общем сервере лобби-мир создаёт Multiverse-Core, а пустым его делает плагин-генератор — например, VoidGen из списка генераторов в документации Multiverse.
Игрок всегда появляется в лобби
# лобби-мир на общем сервере: Multiverse-Core + генератор VoidGen
/mv create lobby normal --generator VoidGen
/mv tp lobby
# постройте или вставьте площадку, встаньте на неё:
/mv setspawn
/mv config enable-join-destination true
/mv config join-destination lobby- Лобби-мир. С
enable-join-destination: trueMultiverse ставит игрока в мир изjoin-destinationпри каждом входе на сервер, а не там, где он вышел. По умолчанию опция выключена. - Лобби-сервер. Velocity отправляет игрока на сервер из
tryпри входе и когда его кикнуло с другого сервера. Внутри лобби ставьте точку командой/setworldspawnи/setspawnиз EssentialsX Spawn, аspawn-on-join: trueв config.yml EssentialsX телепортирует на спавн каждого входящего — можно указать и отдельные группы. - Возврат в лобби. В одном мире —
/spawnиз EssentialsX Spawn. В сети — встроенная в Velocity/server lobby; привычных/hubи/lobbyв Velocity нет, их добавляют плагины.
Без урона, голода, PvP и постройки
| Что выключить | Средствами игры | WorldGuard или Multiverse |
|---|---|---|
| Голод | difficulty=peaceful: на мирной сложности шкала голода не убывает, а враждебные мобы не появляются | Флаг natural-hunger-drain deny; в Multiverse — /mv modify lobby set hunger false |
| Урон | Правила fall_damage, fire_damage, drowning_damage, freeze_damage → false | Флаг invincible allow — игрок неуязвим целиком |
| PvP | Правило pvp false (с 1.21.9; раньше — pvp=false в server.properties) | Флаг pvp deny; в Multiverse — set pvp false |
| Постройка | Режим приключения: gamemode=adventure и force-gamemode=true — без особых предметов блоки не ломаются и не ставятся | /mv modify lobby set gamemode adventure — Multiverse сам переключает режим при входе в мир |
| Время и погода | Правила advance_time false и advance_weather false | Флаги time-lock и weather-lock — меняют только то, что видит игрок |
| Мобы | Правило spawn_mobs false | Флаг mob-spawning deny |
| Выброс и подбор вещей | — | Флаги item-drop deny и item-pickup deny |
# в лобби-мире: правила для всего мира через регион __global__
/rg flag __global__ pvp deny
/rg flag __global__ invincible allow
/rg flag __global__ natural-hunger-drain deny
/rg flag __global__ mob-spawning deny
/rg flag __global__ item-drop deny
/rg flag __global__ passthrough deny # строят только участники региона
# то же из консоли — с указанием мира
rg flag __global__ pvp -w lobby denyПроверяйте лобби с обычного аккаунта без OP: операторы обходят защиту WorldGuard, и кажется, что флаги не работают. Приоритеты регионов и остальные флаги — в статье WorldGuard.
Выбор режима: меню, NPC и компас
- Меню. Сундук с кнопками режимов. В DeluxeMenus кнопка с действием
[connect] survivalпереводит игрока на сервер сети — на Velocity для этого нуженbungee-plugin-message-channel; для мира на одном сервере кнопка выполняет команду перехода. Подробно — в статье меню и GUI. - NPC. Персонаж у портала: клик открывает меню или выполняет команду. Плагины и первые команды — в статье NPC на сервере, подпись над NPC — голограммы.
- Компас в инвентаре. Предмет, который игрок получает при входе и которым открывает выбор режима. Его дают готовые плагины-хабы — они же закрывают правила мира и спавн.
| DeluxeHub | Hubbly | |
|---|---|---|
| Где опубликован | SpigotMC | Modrinth, открытый код (AGPL-3.0) |
| Версии | На странице отмечены версии до 1.21 | 1.20.6–26.x, на Modrinth — до 26.3 |
| Выбор режима | Предметы при входе, селектор серверов с меню и поддержкой PlaceholderAPI | Компас-селектор серверов, предметы при входе |
| Правила мира | Запрет постройки, урона от падения, голода, PvP, смены погоды, выброса и подбора вещей | Запрет постройки, урона, голода, погоды, выброса и подбора вещей |
| Ещё | Табло, таб, объявления, лаунчпады, двойной прыжок, защита от падения в пустоту | Лаунчпады, боссбар, объявления, скрытие игроков, спавн при входе, защита от падения в пустоту |
Лобби-сервер в сети
Лобби-сервер настраивается как любой сервер за прокси: online-mode=false, передача данных игроков от Velocity и закрытый файрволом порт — по шагам в статье настройка Velocity. Держите его на той же версии, что и режимы, а меню с [connect] проверяйте после каждого переименования серверов в [servers].
Лобби и читеры
Лобби — первое место, где читер включает клиент: Fly и Speed на паркуре, KillAura в PvP-зоне. DGuard — лучший античит для современного сервера Minecraft — ставится и на лобби-сервер, со своим ключом и последним PacketEvents рядом, и проверяет бой, движение, пакеты, инвентарь, постройку и мир одинаково на всех серверах сети. Скрытый режим не подсказывает читеру, что он попался, пока DGuard копит улики, а строгость наказаний задаёте вы.
| Чит | DGuard | GrimAC | Vulcan | Polar | Intave | Matrix |
|---|---|---|---|---|---|---|
| Flyлетает без элитр и креатива | ||||||
| Speedбыстрее, чем позволяет игра | ||||||
| Timerускоряет игру | ||||||
| Blinkкопит пакеты и телепортируется | частично: отдельной проверки нет — частично, экспериментальной BadPacketsR | |||||
| KillAuraбьёт по целям сам | частично: отдельной проверки нет — только косвенно, через Reach и порядок пакетов | |||||
| Reachбьёт дальше досягаемости |
Если лобби — мир на том же сервере, отдельная установка не нужна: античит видит игроков во всех мирах сервера. Отдельный лобби-сервер — это ещё один сервер в панели DGuard; защита на всех тарифах одинаковая, а платите вы за онлайн и число серверов — подробнее в тарифах.
Частые вопросы
Как сделать лобби на сервере Майнкрафт?
На одном сервере — отдельный мир через Multiverse-Core с включённым join-destination, в сети — отдельный сервер Paper первым в списке try у Velocity. Дальше — пустой мир с постройкой, спавн при каждом входе, отключённые урон, голод и PvP и меню выбора режима.
Как сделать, чтобы игрок всегда появлялся в лобби?
В Multiverse-Core выполните /mv config enable-join-destination true и /mv config join-destination lobby. На отдельном лобби-сервере поставьте точку /setspawn и включите spawn-on-join: true в config.yml EssentialsX.
Как отключить голод и урон в лобби?
На отдельном сервере — difficulty=peaceful (на мирной сложности голод не убывает) и правила fall_damage, fire_damage, drowning_damage, freeze_damage со значением false. В лобби-мире общего сервера — флаги WorldGuard invincible allow и natural-hunger-drain deny.
Как сделать компас для выбора сервера?
Проще всего плагином-хабом, например DeluxeHub или Hubbly: они выдают предмет при входе и открывают по нему меню серверов. Перед установкой проверьте, что плагин поддерживает вашу версию.
Нужен ли античит на лобби-сервере?
Да: в лобби читеры появляются первыми — с полётом на паркуре или KillAura в PvP-зоне. В сети за Velocity античит ставится на каждый игровой сервер, включая лобби, а не на прокси.
Источники
- Multiverse-Core: config.yml (join-destination)
- Multiverse-Core: свойства миров (hunger, pvp, gamemode)
- Multiverse-Core: плагины-генераторы (VoidGen)
- Minecraft Wiki: Superflat (мир The Void, generator-settings)
- Minecraft Wiki: server.properties (gamemode, force-gamemode, difficulty)
- Minecraft Wiki: сложность (голод на мирной)
- Minecraft Wiki: правила игры
- WorldGuard: флаги регионов
- EssentialsX: config.yml (spawn-on-join)
- Velocity: настройка (try)
- Paper: конфиг мира (unsupported-settings.ticking)
- DeluxeHub на SpigotMC
- Hubbly на Modrinth
- DGuard — лучший античит для современного сервера Minecraft: сравнение проверок с GrimAC, Vulcan, Polar, Intave и Matrix
- DGuard: установка, требования и решение проблем
- DGuard: поддерживаемые версии Paper и Leaf