Как установить Java-моды на сервер
1. Подготовка окружения и доступ к серверу
Авторизуйтесь в панели proxify.cloud. Перейдите в раздел «Мои услуги» → выберите ваш выделенный сервер → вкладку «Консоль» или «VNC». Либо подключитесь по SSH с локальной машины:
ssh root@<IP-адрес_сервера>IP-адрес указан в деталях услуги в панели proxify.cloud.
Обновите систему и установите необходимые утилиты:
apt update && apt upgrade -y apt install -y openjdk-21-jre-headless screen wget curl unzipПримечание: для Minecraft 1.20.4+ требуется Java 21. Для версий 1.18–1.20.1 — Java 17. Проверьте версию командой
java -version.Создайте отдельного пользователя для безопасности (не запускайте сервер от root):
adduser mcuser --disabled-password --gecos "" usermod -aG sudo mcuser su - mcuser
2. Выбор и установка модлоадера (Forge / Fabric / NeoForge)
Моды требуют модлоадер. Vanilla-сервер их не запустит.
Вариант А: Forge (классический стандарт)
Создайте директорию сервера и перейдите в неё:
mkdir -p ~/server && cd ~/serverСкачайте установщик Forge. Замените версию на актуальную (пример для 1.20.1):
wget https://maven.minecraftforge.net/net/minecraftforge/forge/1.20.1-47.2.0/forge-1.20.1-47.2.0-installer.jarЗапустите установку серверной части:
java -jar forge-1.20.1-47.2.0-installer.jar --installServerПосле завершения появятся файлы:
forge-1.20.1-47.2.0.jar,libraries/,run.sh,run.bat,user_jvm_args.txt.Переименуйте основной jar для удобства:
mv forge-1.20.1-47.2.0.jar server.jar
Вариант Б: Fabric (легковесный, современный)
В директории
~/serverскачайте установщик Fabric:wget https://maven.fabricmc.net/net/fabricmc/fabric-installer/1.0.1/fabric-installer-1.0.1.jarУстановите сервер (указывайте версию Minecraft и загрузчик):
java -jar fabric-installer-1.0.1.jar server -dir . -mcversion 1.20.1 -loader 0.16.9 -downloadMinecraftПоявится
fabric-server-mc.1.20.1-loader.0.16.9-launcher.1.0.1.jar. Переименуйте:mv fabric-server-mc.1.20.1-loader.0.16.9-launcher.1.0.1.jar server.jar
Вариант В: NeoForge (форк Forge для 1.20.4+)
Процесс идентичен Forge, но URL берется с maven.neoforged.net. Для 1.20.4+ рекомендуется именно NeoForge.
3. Принятие EULA и базовая настройка
Запустите сервер один раз для генерации файлов:
java -Xms2G -Xmx4G -jar server.jar noguiСервер упадет с ошибкой EULA.
Примите лицензию:
sed -i 's/eula=false/eula=true/' eula.txtНастройте
server.propertiesпод свои нужды (порт, motd, сложность). Пример изменения порта на 25565:sed -i 's/server-port=25565/server-port=25565/' server.properties
4. Установка модов
Создайте папку
mods(если её нет):mkdir -p ~/server/modsСкачайте моды только с надежных источников: CurseForge, Modrinth, официальные GitHub Releases авторов. Важно: версии модов должны строго соответствовать версии Minecraft и модлоадера (Forge/Fabric/NeoForge).
Загрузите
.jarфайлы модов на сервер. Через SFTP (FileZilla, WinSCP) под пользователемmcuserв папку/home/mcuser/server/mods/. Или черезwgetпрямо в консоли (пример для мода JourneyMap на Forge 1.20.1):cd ~/server/mods wget "https://edge.forgecdn.net/files/5607/59/JourneyMap-1.20.1-5.9.18-forge.jar" -O JourneyMap-1.20.1-5.9.18-forge.jarКлиентская часть: Игроки должны установить те же моды тех же версий на свой клиент (через Prism Launcher, CurseForge App, Modrinth App или вручную в
%appdata%/.minecraft/mods). Серверные моды (например,Lithium,FerriteCore) на клиент не обязательны, но не помешают.
5. Оптимизация JVM и запуск в Screen
Отредактируйте
user_jvm_args.txt(создается Forge/NeoForge) или создайте свой скрипт запускаstart.sh:cat > ~/server/start.sh << 'EOF' #!/bin/bash # Настройки памяти: -Xms (начальная) -Xmx (максимальная). # Резервируйте 1-2 ГБ под ОС. На 16 ГБ RAM: -Xms10G -Xmx12G. JAVA_ARGS="-Xms4G -Xmx6G \ -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" java $JAVA_ARGS -jar server.jar nogui EOF chmod +x ~/server/start.shЗапустите сервер в сессии
screen, чтобы он не останавливался при разрыве SSH:cd ~/server screen -S mcserver ./start.sh- Отсоединиться от сессии:
Ctrl+A, затемD. - Вернуться:
screen -r mcserver. - Список сессий:
screen -ls.
- Отсоединиться от сессии:
6. Настройка автозапуска через systemd (рекомендуется для выделенных серверов proxify.cloud)
Создайте сервис, чтобы сервер запускался при включении питания и перезапускался при краше.
Выйдите от
mcuserкroot(exitилиCtrl+D).Создайте unit-файл:
cat > /etc/systemd/system/minecraft.service << 'EOF' [Unit] Description=Minecraft Modded Server (Forge/Fabric/NeoForge) After=network.target [Service] WorkingDirectory=/home/mcuser/server User=mcuser Group=mcuser Restart=on-failure RestartSec=10 ExecStart=/home/mcuser/server/start.sh ExecStop=/bin/bash -c 'screen -S mcserver -X stuff "stop\n"' KillMode=none Type=forking GuessMainPID=no TimeoutStartSec=300 TimeoutStopSec=60 # Лимиты ресурсов LimitNOFILE=100000 MemoryMax=14G CPUAccounting=yes [Install] WantedBy=multi-user.target EOFКорректируйте
MemoryMaxпод объем RAM вашего сервера в proxify.cloud (оставляйте 2-4 Гб под систему).Включите и запустите сервис:
systemctl daemon-reload systemctl enable minecraft systemctl start minecraftПроверка статуса и логов:
systemctl status minecraft journalctl -u minecraft -f --no-hostname
7. Настройка файрвола (UFW) и портов
На выделенных серверах proxify.cloud порты закрыты по умолчанию.
Разрешите SSH (чтобы не потерять доступ) и порт Minecraft (по умолчанию 25565 TCP/UDP):
ufw allow OpenSSH ufw allow 25565/tcp ufw allow 25565/udp ufw enable ufw status numberedЕсли используете другой порт в
server.properties— откройте именно его.Проверьте доступность извне: в клиенте Minecraft → «Игра по сети» → «Добавить сервер» → IP:порт.
8. Резервное копирование (Backup)
Настройте ежедневные бэкапы папки world и mods.
Скрипт бэкапа
/home/mcuser/backup.sh:cat > /home/mcuser/backup.sh << 'EOF' #!/bin/bash SRC="/home/mcuser/server" DEST="/home/mcuser/backups" DATE=$(date +%F_%H-%M) mkdir -p "$DEST" # Останавливаем сохранение мира на время архивации (требует screen сессии) screen -S mcserver -X stuff "save-off\n" screen -S mcserver -X stuff "save-all flush\n" sleep 5 tar -czf "$DEST/server_$DATE.tar.gz" -C "$SRC" world mods config server.properties screen -S mcserver -X stuff "save-on\n" # Удаляем бэкапы старше 7 дней find "$DEST" -name "server_*.tar.gz" -mtime +7 -delete EOF chmod +x /home/mcuser/backup.sh chown mcuser:mcuser /home/mcuser/backup.shДобавьте в
crontabпользователяmcuser:crontab -u mcuser -e # Добавьте строку для
Комментарии (0)