Как установить Quilt на сервер
Подготовка окружения на выделенном сервере proxify.cloud
Подключитесь к серверу через SSH. В панели proxify.cloud (Proxmox VE) откройте консоль нужного контейнера (CT) или виртуальной машины (VM) с Ubuntu, либо используйте внешний SSH-клиент:
ssh root@<IP_ВАШЕГО_СЕРВЕРА_PROXIFY>Обновите списки пакетов и установите необходимые зависимости:
openjdk-21-jre-headless(Quilt 1.20.5+ требует Java 21),screenдля фонового запуска,wgetиjqдля парсинга JSON:apt update && apt upgrade -y apt install -y openjdk-21-jre-headless screen wget jqПроверьте версию Java. Должна выводиться сборка 21.x.x:
java -version # Ожидаемый вывод: # openjdk version "21.0.x" ...Создайте отдельного пользователя для безопасности (не запускайте сервер от root):
adduser --disabled-password --gecos "" mcuser usermod -aG sudo mcuserПереключитесь на пользователя
mcuserи создайте рабочую директорию:su - mcuser mkdir -p ~/quilt-server cd ~/quilt-server
Скачивание и установка Quilt Server
Определите нужную версию Minecraft (например,
1.20.6) и загрузчик Quilt. Используйте официальный мета-API Quilt для получения актуальной ссылки наserver.jar.Выполните команду, подставив версию игры:
MC_VERSION="1.20.6" LOADER_VERSION=$(wget -qO- "https://meta.quiltmc.org/v3/versions/loader" | jq -r '.[0].version') INSTALLER_VERSION=$(wget -qO- "https://meta.quiltmc.org/v3/versions/installer" | jq -r '.[0].version') echo "Loader: ${LOADER_VERSION}" echo "Installer: ${INSTALLER_VERSION}"Скачайте установщик Quilt (quilt-installer.jar):
wget -O quilt-installer.jar \ "https://maven.quiltmc.org/repository/release/org/quiltmc/quilt-installer/${INSTALLER_VERSION}/quilt-installer-${INSTALLER_VERSION}.jar"Запустите установку серверной части в текущую папку (
--install-dir=.):java -jar quilt-installer.jar install server ${MC_VERSION} ${LOADER_VERSION} --install-dir=.Ожидаемый результат: появятся файлы
quilt-server-launch.jar,server.jar(vanilla), папкиlibraries,quilt-server-<version>.json.Примите EULA. Создайте файл
eula.txt:echo "eula=true" > eula.txt
Настройка параметров запуска и systemd
Создайте скрипт запуска
start.shс оптимальными флагами JVM для выделенного сервера на proxify.cloud (настройте-Xmsи-Xmxпод объем выделенной RAM, например, 6G из 8G):cat > start.sh << 'EOF' #!/bin/bash # Путь к Java (обычно не нужен, если в PATH) JAVA_EXEC="java" # Память: адаптируйте под тариф proxify.cloud HEAP_MIN="2G" HEAP_MAX="6G" # Флаги производительности (G1GC + оптимизации для Minecraft) JVM_FLAGS="-Xms${HEAP_MIN} -Xmx${HEAP_MAX} \ -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 \ -Dusing.aikars.flags=https://mcflags.emc.gs \ -Daikars.new.flags=true" # Запуск exec ${JAVA_EXEC} ${JVM_FLAGS} -jar quilt-server-launch.jar nogui EOF chmod +x start.shПротестируйте запуск вручную в
screen:screen -S quilt ./start.shДождитесь строки
Done (X.Xs)! For help, type "help". Остановите сервер командойstop. Выйдите из screen:Ctrl+A, затемD.Настройте автозапуск через
systemd(выполняйте отroot, выйдите изmcuser:exit):cat > /etc/systemd/system/quilt-server.service << 'EOF' [Unit] Description=Quilt Minecraft Server After=network.target Wants=network.target [Service] WorkingDirectory=/home/mcuser/quilt-server User=mcuser Group=mcuser ExecStart=/home/mcuser/quilt-server/start.sh Restart=on-failure RestartSec=10 KillMode=process LimitNOFILE=100000 StandardOutput=journal StandardError=journal SyslogIdentifier=quilt-server [Install] WantedBy=multi-user.target EOFВключите и запустите сервис:
systemctl daemon-reload systemctl enable quilt-server systemctl start quilt-serverПроверьте статус и логи:
systemctl status quilt-server journalctl -u quilt-server -f
Настройка сервера (server.properties, моды, бэкапы)
Отредактируйте
server.propertiesпод ваши нужды:nano /home/mcuser/quilt-server/server.propertiesКлючевые параметры:
server-port=25565 server-ip=0.0.0.0 max-players=20 view-distance=10 simulation-distance=10 motd=Quilt Server on proxify.cloud enforce-whitelist=true enable-command-block=true sync-chunk-writes=trueУстановка модов Quilt. Моды кладите в папку
mods(создайте, если нет):mkdir -p /home/mcuser/quilt-server/mods # Пример скачивания мода (замените URL на актуальный с Modrinth/CurseForge) # wget -P /home/mcuser/quilt-server/mods "https://cdn.modrinth.com/data/xxx/versions/yyy/fabric-mod-version.jar"Важно: Убедитесь, что моды под Quilt/Fabric и под версию Minecraft + версию Loader (quilt-loader).
Настройте бэкапы. Простой скрипт
backup.sh(кладьте в/home/mcuser/scripts/backup.sh), запускаемый по cron:mkdir -p /home/mcuser/scripts /home/mcuser/backups cat > /home/mcuser/scripts/backup.sh << 'EOF' #!/bin/bash DATE=$(date +%F_%H-%M) SRC="/home/mcuser/quilt-server" DST="/home/mcuser/backups" WORLD="world" tar -czf "${DST}/quilt_backup_${DATE}.tar.gz" -C "${SRC}" "${WORLD}" server.properties eula.txt mods/ # Удаляем бэкапы старше 7 дней find "${DST}" -name "quilt_backup_*.tar.gz" -mtime +7 -delete EOF chmod +x /home/mcuser/scripts/backup.shДобавьте в
crontab -u mcuser -e:0 4 * * * /home/mcuser/scripts/backup.sh >> /home/mcuser/scripts/backup.log 2>&1
Сетевая настройка и безопасность на proxify.cloud
Настройте файрвол (UFW) на Ubuntu. Откройте только SSH и порт игры:
# Выполняйте от root ufw allow OpenSSH ufw allow 25565/tcp comment 'Minecraft Quilt' ufw enable ufw status verboseВ панели proxify.cloud (Proxmox VE) проверьте настройки сети контейнера/VM:
- Убедитесь, что у контейнера (CT) включен
Bridge(vmbr0) и получен публичный IPv4 или настроен проброс портов (NAT), если используется внутренняя сеть. - Если используется VM с Cloud-init: проверьте, что порт 25565 не блокируется файрволом хоста (Datacenter -> Firewall).
- Убедитесь, что у контейнера (CT) включен
(Рекомендуется) Настройте защиту от DDoS и проксирование через TCPShield или Cloudflare Spectrum, указав IP сервера proxify.cloud как бэкенд. Это скроет реальный IP и защитит от атак.
Обновление Quilt и модов
Для обновления загрузчика на новую версию Minecraft (например, 1.20.6 -> 1.21):
- Остановите сервер:
systemctl stop quilt-server. - Сделайте бэкап папки
worldиmods. - Удалите старые jar-файлы загрузчика (
quilt-server-launch.jar,quilt-server-*.json, папкуlibraries/net/quiltmc). - Повторите шаги 6-8 с новой переменной
MC_VERSION. - Проверьте совместимость модов (часто требуют обновления).
- Запустите:
systemctl start quilt-server.
- Остановите сервер:
Автоматизация обновлений модов: используйте
modrinth-cliилиpackwizдля управления модпаками, если сервер сложный.
Возможные проблемы и решения
1. Ошибка Unsupported class file major version 65 / java.lang.UnsupportedClassVersionError
Причина: Используется Java 17/18 вместо требуемой Java 21 (для MC 1.20.5+).
Решение: Убедитесь, что java -version показывает 21. В start.sh укажите полный путь: /usr/lib/jvm/java-21-openjdk-amd64/bin/java. Проверьте update-alternatives --config java.
2. Сервер падает с OutOfMemoryError: Metaspace или Java heap space
Причина: Мало RAM выделено в `-
Комментарии (0)