Лучшие ядра Minecraft для высокой производительности
В этой инструкции вы узнаете, как установить и настроить оптимальное ядро для Minecraft сервера на выделенном сервере с Ubuntu в панели Proxmox от proxify.cloud. Правильный выбор ядра позволяет получить максимальный FPS и TPS даже на больших онлайнах, снизить лаги и эффективно использовать ресурсы (CPU, RAM). Мы разберём самые производительные ядра (Paper, Purpur, Pufferfish) и дадим конкретные команды для их настройки.
Шаг 1: Первичная настройка сервера
Подключитесь к вашему серверу через SSH. IP-адрес, имя пользователя (обычно root) и пароль/SSH-ключ берутся из панели proxify.cloud (раздел «Виртуальные машины» → «Консоль» или вкладка «Сеть»).
ssh root@IP_вашего_сервера
После входа обновите систему и установите базовые утилиты:
apt update && apt upgrade -y
apt install -y screen wget curl nano
Шаг 2: Установка Java
Современные ядра требуют Java 17 или 21. Мы установим OpenJDK 21 (рекомендуется для свежих версий Minecraft).
apt install -y openjdk-21-jdk-headless
java -version
Если нужна более старая версия (например, для Minecraft 1.16.5), поставьте Java 11 и используйте соответствующие аргументы JVM.
Шаг 3: Выбор ядра – обзор
Для максимальной производительности рассматривайте следующие ядра (в порядке увеличения агрессивности оптимизаций):
- Paper – стабильный стандарт, предсказуемое поведение.
- Purpur – форк Paper с дополнительными настройками, позволяет отключать неиспользуемые механики.
- Pufferfish – ещё более агрессивные оптимизации, включая Simd и Aikar’s Flags по умолчанию.
- Airplane (устарело, но всё ещё работает) – экстремальная оптимизация для больших серверов.
Рекомендация: для большинства случаев используйте Purpur. Если нужна максимальная производительность и вы готовы тестировать – Pufferfish с аккуратной настройкой.
Шаг 4: Загрузка и настройка ядра
Создайте папку для сервера и перейдите в неё:
mkdir /home/minecraft && cd /home/minecraft
4.1. Скачайте выбранное ядро
Paper (последняя сборка для 1.21.1, уточнить версию можно на сайте):
wget https://api.papermc.io/v2/projects/paper/versions/1.21.1/builds/129/downloads/paper-1.21.1-129.jar -O server.jar
Purpur:
wget https://api.purpurmc.org/v2/purpur/1.21.1/latest/download -O server.jar
Pufferfish (пример для 1.20.4, актуальная версия на GitHub):
wget https://github.com/pufferfish-gg/Pufferfish/releases/download/v1.20.4/pufferfish-paperclip-1.20.4.jar -O server.jar
Примечание: Ядро должно быть переименовано в server.jar для удобства запуска. Версии обновляйте вручную, проверяя официальные источники.
4.2. Создайте скрипт запуска
Создайте файл start.sh:
nano start.sh
Вставьте содержимое (рекомендуемые флаги Aikar для Java 21+):
#!/bin/bash
java -Xms6G -Xmx6G \
-XX:+UseG1GC \
-XX:+ParallelRefProcEnabled \
-XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions \
-XX:+DisableExplicitGC \
-XX:+AlwaysPreTouch \
-XX:+PerfDisableSharedMem \
-XX:G1HeapWastePercent=5 \
-XX:G1MixedGCLiveThresholdPercent=85 \
-XX:G1MixedGCCountTarget=4 \
-XX:G1NewSizePercent=30 \
-XX:G1HeapRegionSize=8M \
-XX:G1ReservePercent=15 \
-XX:G1HeapWastePercent=5 \
-XX:MaxTenuringThreshold=1 \
-jar server.jar nogui
- Измените
-Xmsи-Xmxпод доступную память (не более 80% от общей ОЗУ). - Для первого запуска достаточно
-Xms1G -Xmx1G, затем настройте под нагрузку.
Сделайте скрипт исполняемым:
chmod +x start.sh
4.3. Запустите сервер для генерации файлов
Вы можете запустить в screen-сессии:
screen -S minecraft
./start.sh
Сервер создаст eula.txt, server.properties, бумажные конфиги. Примите лицензионное соглашение:
echo "eula=true" > eula.txt
Шаг 5: Оптимизация конфигурации
После первого запуска остановите сервер (кнопка /stop или Ctrl+C). Отредактируйте следующие файлы для повышения производительности.
5.1. paper-global.yml (ранее paper.yml)
Путь: /home/minecraft/config/paper-global.yml (для Paper 1.20+). Ключевые параметры:
chunks:
max-auto-save-chunks-per-tick: 6 # снижаем нагрузку
delay-chunk-unloads-by: 10s
auto-save-interval: 300 # автосохранение каждые 5 минут (по умолчанию 600)
misc:
optimize-explosions: true # обязательно
redstone-implementation: EIGENSPACE # оптимизация редстоуна
load-inhabited-time: false # ускоряет загрузку чанков
scoreboards:
use-less-scoreboard-updates: true
entities:
activation-range:
water: 10
villagers: 14
flying: 30
monster: 24
raider: 48
misc: 8
5.2. spigot.yml
settings:
mob-spawner-tick-rate: 2 # спавнеры раз в 2 такта
attribute:
maxHealth:
max: 2048
moved-too-quickly-multiplier: 10.0 # снижает кик при лагах
moved-wrongly-threshold: 0.5
world-settings:
default:
growth:
cactus-modifier: 2
cane-modifier: 2
melon-modifier: 2
pumpkin-modifier: 2
sapling-modifier: 2
beetroot-modifier: 2
carrot-modifier: 2
potato-modifier: 2
wheat-modifier: 2
netherwart-modifier: 2
entity-activation-range:
animals: 16
monsters: 24
raiders: 48
misc: 8
entity-tracking-range:
player: 48
animals: 32
monsters: 32
misc: 16
ticks-per:
hopper-transfer: 16 # воронки медленнее, но меньше лагов
hopper-check: 16
hopper-amount: 1
5.3. server.properties
Увеличьте view-distance не более 6–8, а также:
network-compression-threshold=256
max-players=60
spawn-radius=0
5.4. bukkit.yml (опционально)
settings:
chunks-per-tick: 650
max-tick-time:
entity: 40
tile: 40
spawn-limits:
monsters: 30
animals: 8
water-animals: 6
water-ambient: 5
water-underground-creature: 5
axolotls: 3
ambient: 1
ticks-per:
animal-spawns: 600
monster-spawns: 200
Шаг 6: Запуск и мониторинг
Запустите сервер через screen (удобно для долгих сессий):
screen -S minecraft ./start.sh
Отключиться от screen: Ctrl+A, D. Вернуться: screen -r minecraft.
Важно: В панели proxify.cloud вы можете отслеживать потребление CPU и ОЗУ в реальном времени, а также настраивать автоматический перезапуск VM при падении. Рекомендуется также настроить файрвол через панель – разрешить только порт 25565 (или другой, заданный в server.properties).
Для автоматического перезапуска сервера при краше можно использовать cron или supervisor. Пример для cron (каждые 5 минут проверяем процесс):
*/5 * * * * screen -list | grep -q minecraft || screen -dmS minecraft /home/minecraft/start.sh
Комментарии (0)