EndyStudio
Плагины

Калькулятор RAM для сервера Minecraft

Укажите число игроков и плагинов и получите оценку ОЗУ вместе с расчётом, подходящие -Xms и -Xmx, флаги Aikar и скрипт запуска, готовый для Linux, Windows или Pterodactyl.

  • Бесплатно
  • Без аккаунта
  • Работает в браузере

Ваш сервер

Ядро
Версия Minecraft

Оценка

Рекомендуется
5 GB
Минимум
3 GB
Тариф или контейнер
6 GB
  • Heap (-Xms = -Xmx) 5 GB
  • Запас для Java 1 GB
  • Минимум

база 2 ГБ + игроков: 20 × 75 MB + плагинов: 25 × 40 MB = 4,5 GB, с округлением вверх до 5 ГБ.

    Дополнительно

    Сборщик мусора

    Надёжный выбор при любом объёме. Флаги Aikar рекомендует сам Paper.

    Необязательно, в ГБ. Если сервер у вас уже есть, укажите объём, и флаги впишутся в него.

    Скрипт запуска

    Сохраните его как start.sh рядом с jar-файлом и запускайте командой ./start.sh. Машине нужно 6 ГБ свободной памяти для этого сервера плюс то, что занимает система.

    Java 25 · -Xmx5G

    Сколько ОЗУ нужно серверу Minecraft?

    Большинству серверов на Paper хватает от 3 до 8 ГБ heap: 3–4 ГБ для компании друзей, 5–6 ГБ для 20–30 игроков с обычным набором плагинов и 8 ГБ или больше, если игроков больше 50. Тариф, который вы арендуете, должен быть немного больше, потому что Java использует память и вне heap.

    Игроков онлайн Плагинов Минимум Рекомендуется Тариф или контейнер
    5 10 2 ГБ 3 ГБ 4 ГБ
    10 15 3 ГБ 4 ГБ 5 ГБ
    20 25 3 ГБ 5 ГБ 6 ГБ
    30 40 4 ГБ 6 ГБ 7 ГБ
    50 50 5 ГБ 8 ГБ 10 ГБ
    100 80 8 ГБ 13 ГБ 15 ГБ

    Калькулятор выше делает тот же расчёт с вашими числами. Считайте результат отправной точкой: реальное потребление зависит от того, насколько разбросаны игроки, от дальности прорисовки и от того, что делает каждый плагин.

    Как считается оценка

    Калькулятор складывает heap — память, которую Java отдаёт Minecraft (та, что задаётся через -Xmx):

    • 2 ГБ базы для Paper или Purpur с загруженными мирами и без игроков онлайн. Folia начинает с 3 ГБ, потому что рассчитана на много игроков, разбросанных по карте.
    • 75 МБ на каждого игрока, который онлайн одновременно. Каждый игрок держит загруженными чанки вокруг себя вместе с мобами и предметами в них. Игроки, разбросанные по миру, стоят дороже, чем игроки, стоящие вместе в лобби.
    • 40 МБ на плагин в среднем. Большинство плагинов используют гораздо меньше, а некоторые — гораздо больше.
    • Ещё 2 ГБ на тяжёлые плагины или большой мир: веб-карты (Dynmap, BlueMap), кастомные модели (ItemsAdder, ModelEngine), много мобов или ферм или дальность прорисовки больше 10.
    • Три четверти от суммы на 1.8 – 1.11, где чанки легче.

    Результат округляется вверх до целых ГБ и никогда не опускается ниже 3 ГБ (2 ГБ на 1.8 – 1.11). Минимум — примерно две трети от него: сервер работает, но почти без запаса на пиковые моменты, генерацию новых чанков и бэкапы. Калькулятор останавливается на 31 ГБ, потому что примерно выше 32 ГБ Java отключает сжатые указатели на объекты, и если немного превысить этот порог, полезной памяти станет меньше, а не больше.

    Эти числа намеренно завышены. Нехватка памяти заставляет сервер подтормаживать, а потом падать, а небольшой избыток лишь немного дороже обходится каждый месяц.

    Оставьте место для Java: heap и тариф

    -Xmx ограничивает только heap. Java также использует память под классы каждого плагина, свои потоки, компилируемый код, сетевые буферы и служебные данные сборщика мусора. Калькулятор оставляет на это 1 ГБ или 15 % от heap, смотря что больше, — в духе совета Paper давать -Xmx на 1000–1500 МБ меньше доступной памяти. На практике:

    • Арендуете тариф: ориентируйтесь на размер тарифа, который показывает калькулятор, а не на heap. Heap на 8 ГБ требует тарифа на 10 ГБ.
    • Тариф уже есть: укажите его в поле ОЗУ вашего тарифа, и флаги будут рассчитаны так, чтобы вписаться в него. Тариф на 8 ГБ оставляет heap на 6,5 ГБ.
    • Pterodactyl, Docker и большинство хостингов ограничивают весь контейнер. Если Java выйдет за предел, сервер будет убит на месте, часто без единой ошибки в консоли.
    • Свой ПК или VPS: оставьте память операционной системе и всему остальному, что там работает.

    Почему -Xms равен -Xmx

    Флаги Aikar дают -Xms и -Xmx одно и то же значение и добавляют -XX:+AlwaysPreTouch, который резервирует весь heap при запуске сервера. G1 лучше работает с heap, который никогда не растёт и не сжимается, а если памяти на самом деле нет, вы узнаете об этом при запуске. Побочный эффект: график памяти в панели с первой минуты показывает весь heap занятым. Так и должно быть.

    Флаги Aikar и ZGC

    Флаги Aikar настраивают сборщик мусора G1 под то, как Minecraft использует память: огромное количество объектов, живущих один тик, и паузы, которые должны оставаться короткими. Paper их рекомендует, и они подходят серверам любого размера. При heap больше 12 ГБ калькулятор переключается на значения Aikar для большого heap: G1NewSizePercent=40, G1MaxNewSizePercent=50, G1HeapRegionSize=16M, G1ReservePercent=15 и InitiatingHeapOccupancyPercent=20.

    ZGC — другой сборщик, который делает почти всю работу, пока сервер продолжает работать, поэтому паузы остаются короче миллисекунды. Взамен он расходует больше CPU и имеет смысл только на большом heap (от 16 ГБ) при свободных ядрах. Используйте поколенческую версию: на Java 21 для неё нужен -XX:+ZGenerational, а начиная с Java 23 она включена по умолчанию, поэтому калькулятор этот флаг не добавляет. Если сомневаетесь, оставайтесь на G1.

    Какая версия Java

    Minecraft Java
    26.1 и новее 25
    1.20 – 1.21.11 21
    1.17 – 1.19.4 17
    1.16.5 16
    1.12 – 1.16.4 11
    1.8 – 1.11 8

    Это таблица из документации Paper. Проверить свою версию можно командой java -version. Если установлено несколько, скрипт запустит ту, которую запускает команда java.

    Запуск сервера

    1. Заполните игроков, плагины, ядро и версию, а также ОЗУ тарифа, если он у вас уже есть.
    2. Выберите Скрипт запуска:
      • start.sh для Linux и macOS. Сохраните его рядом с jar-файлом, один раз выполните chmod +x start.sh, а затем ./start.sh.
      • start.bat для Windows. Сохраните его рядом с jar-файлом и запустите двойным щелчком. pause в конце оставляет окно открытым, если сервер остановится, чтобы вы могли прочитать ошибку.
      • Pterodactyl выдаёт команду запуска с {{SERVER_JARFILE}}, чтобы панель сама подставила jar-файл. Затем задайте серверу в панели память не меньше размера тарифа.
      • Только флаги — для хостингов с полем аргументов JVM. Если хостинг сам задаёт память, уберите -Xms и -Xmx.
    3. Нажмите Копировать. Копировать ссылку сохраняет ваши настройки в ссылке.

    Когда больше ОЗУ не поможет

    Лаги обычно идут от CPU: обычный сервер выполняет большую часть работы в одном основном потоке, поэтому быстрое ядро помогает больше, чем лишняя память. Прежде чем переходить на тариф побольше, выполните /spark health, чтобы увидеть память и TPS, и /spark profiler, чтобы увидеть, что отнимает время. spark встроен в Paper начиная с 1.21. Снижение view-distance и simulation-distance экономит и память, и CPU, а предварительная генерация мира плагином вроде Chunky избавляет от спайков при генерации новых чанков во время игры.

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

    Сколько ОЗУ нужно на 10 или 20 игроков?

    На Paper с обычным набором плагинов — около 4 ГБ heap на 10 игроков и 15 плагинов и 5 ГБ на 20 игроков и 25 плагинов. Сверху Java нужен ещё примерно 1 ГБ, так что ищите тариф на 5 или 6 ГБ. Тяжёлые плагины, например веб-карты, добавляют около 2 ГБ.

    Сервер станет быстрее, если дать ему больше ОЗУ?

    Только до тех пор, пока памяти не станет достаточно. Дальше лишняя ОЗУ просто простаивает, а лаги идут от CPU, плагинов или дальности прорисовки. Прежде чем платить за большее, проверьте сервер через /spark health и /spark profiler.

    Почему -Xms и -Xmx должны быть одинаковыми?

    Флаги Aikar резервируют весь heap при запуске с помощью AlwaysPreTouch, поэтому Java не приходится увеличивать или уменьшать его во время игры. А если у машины нет столько памяти, вы узнаете об этом при запуске, а не в разгар вечернего онлайна.

    Сколько ОЗУ оставить вне heap?

    Не меньше 1 ГБ, а на больших серверах — 15 % от heap. Java также нужна память под классы плагинов, потоки, сетевые буферы и сборщик мусора. На Pterodactyl или в Docker, если весь процесс превысит лимит контейнера, сервер будет убит без предупреждения.

    Что выбрать, G1 или ZGC?

    G1 с флагами Aikar — надёжный выбор при любом объёме, и именно его рекомендует Paper. Generational ZGC (Java 21 и новее) удерживает паузы короче миллисекунды, но расходует больше CPU и памяти, поэтому пробовать его стоит только на heap от 16 ГБ при свободных ядрах.

    Какая версия Java нужна моему серверу?

    Minecraft 26.1 и новее требует Java 25. Paper рекомендует Java 21 для 1.20 – 1.21.11, Java 17 для 1.17 – 1.19.4, Java 16 для 1.16.5, Java 11 для 1.12 – 1.16.4 и Java 8 для 1.8 – 1.11.

    Другие бесплатные инструменты