Свой сервер

Файл запуска сервера

Серверный jar не запускается двойным щелчком — рядом с ним нужен файл запуска. Соберите его здесь: память, флаги и подсказка, какая нужна Java.

Нужна Java 25 или новее — и ванильному серверу, и Paper.

Как файл называется на диске — вместе с расширением. Windows его прячет: если в проводнике написано «paper-1.21.8», на диске это «paper-1.21.8.jar».

Флаги JVM

Настройка сборщика мусора, которую советует документация Paper. Подходит и ваниле, и модам.

Что стоит на сервере

Paper, Spigot и десяток-другой плагинов.

Наша оценка — 3 ГБ: 2 на саму сборку плюс 1 на игроков (по гигабайту на каждые 20). Это прикидка, а не закон.

Ещё
@echo off
java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar --nogui
pause
Нужна Java
25 или новее
Памяти серверу
3 ГБ
Свободной памяти на машине
от 5 ГБ

Положите рядом с jar и запустите двойным щелчком.

Запускаете через панель или systemd?

Одной строкой

Panel (Pterodactyl, Pufferpanel) запускает сервер сам и просит команду, а не файл: обёртку с циклом он не примет — перезапуск это его работа. Та же строка годится для screen и tmux.

java -Xms3G -Xmx3G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 -XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch -XX:G1NewSizePercent=30 -XX:G1MaxNewSizePercent=40 -XX:G1HeapRegionSize=8M -XX:G1ReservePercent=20 -XX:G1HeapWastePercent=5 -XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 -XX:G1MixedGCLiveThresholdPercent=90 -XX:G1RSetUpdatingPauseTimePercent=5 -XX:SurvivorRatio=32 -XX:+PerfDisableSharedMem -XX:MaxTenuringThreshold=1 -Dusing.aikars.flags=https://mcflags.emc.gs -Daikars.new.flags=true -jar server.jar --nogui

Что дальше

  • Положите файл рядом с jar — в ту же папку, а не в соседнюю. Все пути в команде относительные, и запущенный из другого места сервер создаст мир там, откуда его позвали.
  • Первый запуск закончится через секунду — сервер создаст eula.txt и остановится. Откройте файл, поменяйте eula=false на eula=true и запустите снова.
  • UnsupportedClassVersionError при запуске — это не про сервер, а про Java. Стоит слишком старая: для вашей версии игры нужна Java 25 или новее. Проверить, какая стоит: java -version.
  • Окно закрылось мгновенно и ничего не показало — значит сервер упал на старте. В start.bat для этого и стоит pause в конце: он оставляет окно открытым вместе с текстом ошибки.

Про память и флаги

  • -Xms равен -Xmx намеренно. Так советует Aikar: куча сразу берётся целиком и не растёт по ходу игры, а память, отданная серверу, всё равно принадлежит только ему. Разные значения дают паузы там, где куча расширяется.
  • Не отдавайте серверу всю память машины. Документация Paper советует оставить системе и самой JVM 1000–1500 МБ: «есть 8 ГБ — ставьте 6500 МБ, для запаса». Отсюда и строка «свободной памяти на машине» выше.
  • Больше — не значит лучше. Paper пишет, что серверу с плагинами стоит дать 6–10 ГБ независимо от числа игроков, а 32 ГБ — это уже впустую потраченные деньги. Pufferfish советует никогда не давать одному серверу больше 16 ГБ.
  • Набор флагов для большой кучи включается сам, начиная с 12 ГБ и выше. Отдельной кнопки у него нет намеренно: Aikar пишет «при 12 ГБ и меньше эти параметры менять не нужно», а кнопка позволила бы поставить их на четырёх — и стало бы хуже, чем без флагов вовсе.
  • Без флагов — тоже вариант, и его советует сама PaperMC: на Java 17 и новее стоит сначала попробовать запуск без единого флага, а к набору Aikar идти, если начнутся лаги от сборщика мусора.

Флаги сверены с публикацией Aikar и документацией PaperMC и Velocity. Требования к Java — с Minecraft Wiki и docs.papermc.io.

Частые вопросы

Почему сервер Minecraft не запускается двойным щелчком?

Серверный jar так не запускается: нужен файл запуска, который вызывает Java с нужными аргументами. Это первое, что заводят — ещё до eula.txt.

Почему окно консоли закрывается сразу?

Сервер упал на старте, а окно закрылось вместе с ним, не показав ошибки. В .bat помогает pause в конце — он оставит сообщение на экране.

Сколько оперативной памяти выделить серверу?

Не всю, что есть на машине: системе надо оставить около гигабайта. PaperMC советует серверу с плагинами 6–10 ГБ независимо от числа игроков и называет 32 ГБ потраченными зря.