Как ускорить запуск сервера
Введение
На выделенном сервере с Ubuntu под управлением Proxmox от proxify.cloud Minecraft‑сервер может загружаться долго из‑за устаревших настроек JVM, медленного диска, слабой предварительной генерации мира или захламлённости плагинами. Инструкция поможет сократить время запуска в 2–4 раза без потери стабильности. Все действия выполняются через SSH или консоль панели proxify.cloud.
Шаг 1: Проверка ресурсов в панели proxify.cloud
- В панели управления перейдите в раздел вашей виртуальной машины (LXC/VM).
- Убедитесь, что выделено не менее 4 ГБ ОЗУ, а процессору назначено минимум 2 ядра. Если ресурсы ниже — увеличьте, затем перезагрузите контейнер.
- Убедитесь, что корневой диск — SSD (в панели указывается тип хранилища). Для чанков и дампа кучи скорость диска критична.
- Рекомендуется отключить Swap или выставить его на SSD-раздел, иначе swap на медленном HDD сильно замедлит старт.
Шаг 2: Выбор быстрого ядра и установка Java
Проприетарный Vanilla сервер загружается дольше всех из‑за плохой работы с потоками и GC. Используйте Paper или Purpur.
# Установка OpenJDK 17 (рекомендуется)
sudo apt update && sudo apt install openjdk-17-jdk -y
java -version
Скачайте последнюю сборку Paper с официального API:
wget https://api.papermc.io/v2/projects/paper/versions/1.20.4/builds/450/downloads/paper-1.20.4-450.jar -O paper.jar
Создайте для сервера отдельную папку и переместите jar:
mkdir /opt/minecraft && mv paper.jar /opt/minecraft/
Шаг 3: Настройка параметров JVM (Aikar’s flags)
Без правильных аргументов JVM сервер долго прогревает кэш и часто останавливается на GC. Используйте следующие флаги для Paper/Purpur (замените -Xms и -Xmx под доступную память).
-Xms6G -Xmx6G -XX:+UseG1GC -XX:+ParallelRefProcEnabled -XX:MaxGCPauseMillis=200 \
-XX:+UnlockExperimentalVMOptions -XX:+DisableExplicitGC -XX:+AlwaysPreTouch \
-XX:G1HeapRegionSize=4M -XX:G1NewSizePercent=30 -XX:G1HeapWastePercent=5 \
-XX:G1MixedGCCountTarget=4 -XX:InitiatingHeapOccupancyPercent=15 \
-XX:G1MixedGCLiveThresholdPercent=90 -XX:G1ReservePercent=20 \
-XX:+OptimizeStringConcat -XX:+UseFastUnorderedTimeStamps \
-Dfile.encoding=UTF-8 -Daikars.new.flags=true
Пояснение:
AlwaysPreTouch– предварительно выделяет всю память при старте, что может замедлить первый запуск, но последующие становятся быстрее.-XX:+DisableExplicitGC– запрещает ручные вызовы GC от системных библиотек.- Флаги Aikar’s оптимизируют G1GC для Minecraft: снижают частоту полных GC и уменьшают время пауз.
Создайте скрипт запуска start.sh:
#!/bin/bash
cd /opt/minecraft
java -Xms6G -Xmx6G -XX:+UseG1GC ... -jar paper.jar nogui
Сделайте исполняемым: chmod +x start.sh
Шаг 4: Предварительная генерация мира (Chunk Pre-generation)
Генерация новых чанков во время игры — главный тормоз, поэтому лучше предварительно прогрузить весь мир (хотя бы радиус 200–500 блоков).
- Установите плагины Chunky или WorldBorder (скачать и поместить в
plugins/). - Запустите сервер один раз, чтобы плагин загрузился, затем остановите.
- Отредактируйте
config.ymlплагина или выполните команды на запущенном сервере.
Chunky (рекомендую):
В консоли сервера (или через RCON):
/chunky world world
/chunky radius 300
/chunky start
После завершения — прогрузка чанков отключится, и мир будет готов к работе.
Важно: Для серверов с картами размером >10 000 блоков лучше запускать предгенерацию в фоновом режиме с пониженным приоритетом, чтобы не загружать процессор на 100%:
/chunky throttle 1
Шаг 5: Оптимизация конфигурационных файлов
Тонкая настройка server.properties, paper.yml и spigot.yml снижает нагрузку на старте.
server.properties
view-distance=6 # снизить с 10 до 6
simulation-distance=6 # держать не больше view-distance
max-tick-time=180000 # таймаут на тик (мс)
network-compression-threshold=256
paper.yml
chunk-loading:
# Ускоряет загрузку регионов при старте
load-threads: 4
max-chunk-groups: 100
per-player-mob-spawns: true
optimization:
# Буферизация сохранения чанков
use-save-on-stop: false
save-queue-size: 2048
spigot.yml
world-settings:
default:
merge-radius:
item: 4.0
exp: 4.0
mob-spawn-range: 4 # снизить с 8 до 4
entity-activation-range: … # оставить по умолчанию или уменьшить
После изменений перезагрузите сервер.
Шаг 6: Использование tmpfs (RAM-диск) для ускорения загрузки
Самые частые операции при старте — чтение файлов региона и кэша. Если оперативной памяти достаточно (от 8 ГБ на сервер), можно смонтировать часть мира в tmpfs.
- Создайте точку монтирования:
mkdir /opt/minecraft/world/tmp_cache - Включите в
fstab:tmpfs /opt/minecraft/world/tmp
Комментарии (0)