Как установить NeoForge на сервер

1. Подготовка выделенного сервера в панели proxify.cloud

  1. Авторизуйтесь в панели управления proxify.cloud.
  2. В разделе «Выделенные серверы» (Dedicated Servers) выберите ваш сервер и нажмите ManageConsole (или VNC), чтобы получить доступ к CLI.
  3. Убедитесь, что установлена Ubuntu 22.04 LTS или 24.04 LTS. Если ОС не установлена — в панели proxify.cloud выберите Reinstall OS → Ubuntu 22.04/24.04, задайте root-пароль и дождитесь завершения.
  4. Подключитесь по SSH с локальной машины (Linux/macOS/Windows Terminal):
    ssh root@<IP_ВАШЕГО_СЕРВЕРА>
    
    IP-адрес указан в карточке сервера в панели proxify.cloud.

2. Обновление системы и установка зависимостей

Выполните команды последовательно:

apt update && apt upgrade -y
apt install -y openjdk-21-jre-headless screen wget curl unzip git ufw

Пояснение: NeoForge 1.20.4+ требует Java 21. screen нужен для фонового запуска, ufw — для настройки файрвола.

Проверьте версию Java:

java -version
# Ожидаемый вывод: openjdk version "21.x.x"

3. Настройка файрвола (UFW)

Разрешите SSH и порт Minecraft (по умолчанию 25565):

ufw allow OpenSSH
ufw allow 25565/tcp
ufw enable
ufw status

Важно: Если в панели proxify.cloud есть внешний файрвол (Firewall Rules), дублируйте правила там: входящий TCP 25565, входящий TCP 22.

4. Создание пользователя и рабочей директории

Не запускайте сервер от root. Создайте отдельного пользователя:

adduser --disabled-password --gecos "" mcuser
su - mcuser
mkdir -p ~/neoforge-server
cd ~/neoforge-server

Все дальнейшие действия выполняйте от имени mcuser.

5. Скачивание установщика NeoForge

  1. Откройте официальный сайт: https://neoforged.net/downloads/
  2. Выберите нужную версию Minecraft (например, 1.20.4) и тип Installer.
  3. Скопируйте прямую ссылку на .jar (обычно формата neoforge-<mc_version>-<build>-installer.jar).

Пример для актуальной стабильной сборки 1.20.4 (замените URL на актуальный на момент чтения):

wget -O neoforge-installer.jar "https://maven.neoforged.net/releases/net/neoforged/neoforge/1.20.4-20.4.51/neoforge-1.20.4-20.4.51-installer.jar"

Проверьте, что файл скачался:

ls -lh neoforge-installer.jar

6. Установка серверной части NeoForge

Запустите установщик в режиме installServer:

java -jar neoforge-installer.jar --installServer

После завершения в директории появятся:

  • run.sh / run.bat — скрипты запуска.
  • libraries/ — библиотеки.
  • neoforge-<version>-server.jar — основной jar-файл сервера.
  • server.properties — настройки (создастся при первом запуске).
  • eula.txt — лицензионное соглашение.

Сделайте скрипт запуска исполняемым:

chmod +x run.sh

7. Принятие EULA и первичная конфигурация

Откройте eula.txt и замените false на true:

sed -i 's/eula=false/eula=true/' eula.txt

Отредактируйте server.properties под ваши задачи. Пример минимального конфига для выделенного сервера proxify.cloud:

cat > server.properties <<'EOF'
server-port=25565
server-ip=0.0.0.0
motd=NeoForge Server on proxify.cloud
max-players=20
view-distance=10
simulation-distance=10
level-name=world
gamemode=survival
difficulty=normal
online-mode=true
enable-command-block=false
sync-chunk-writes=true
network-compression-threshold=256
EOF

server-ip=0.0.0.0 — слушает все интерфейсы. Внешний IP управляется панелью proxify.cloud.

8. Настройка JVM и запуска (run.sh)

Откройте run.sh и настройте флаги памяти под объем RAM вашего выделенного сервера. Для сервера с 16 ГБ RAM (пример):

cat > run.sh <<'EOF'
#!/bin/bash
# NeoForge 1.20.4+ Java 21 optimized flags
java -Xms8G -Xmx12G \
  -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 \
  -jar neoforge-1.20.4-20.4.51-server.jar nogui
EOF
chmod +x run.sh

Подбор памяти: Оставьте 2–4 ГБ под ОС и кэш диска. Если RAM 32 ГБ — ставьте -Xms16G -Xmx24G. Имя jar-файла (neoforge-...-server.jar) проверьте командой ls neoforge*server.jar.

9. Тестовый запуск в screen

Запустите сессию screen и стартуйте сервер:

screen -S neoforge
./run.sh

Дождитесь строки Done (X.Xs)! For help, type "help". Сервер работает. Отсоединитесь от screen: Ctrl+A, затем D.

Вернуться в консоль сервера:

screen -r neoforge

Остановить сервер корректно: в консоли screen введите stop и нажмите Enter.

10. Автозапуск через systemd (рекомендуется для выделенных серверов)

Создайте юнит-файл от root (выйдите из mcuser: exit):

cat > /etc/systemd/system/neoforge.service <<'EOF'
[Unit]
Description=NeoForge Minecraft Server
After=network.target

[Service]
WorkingDirectory=/home/mcuser/neoforge-server
User=mcuser
Group=mcuser
Restart=on-failure
RestartSec=10
ExecStart=/home/mcuser/neoforge-server/run.sh
ExecStop=/bin/bash -c 'screen -S neoforge -X stuff "stop\n"'
TimeoutStopSec=60
KillMode=none
Type=forking
GuessMainPID=no

[Install]
WantedBy=multi-user.target
EOF

Нюанс: Type=forking + screen требует, чтобы run.sh запускал screen в фоне. Проще и надежнее — запускать java напрямую без screen в systemd, а логи читать через journalctl. Ниже вариант без screen (предпочтительный для продакшена):

cat > /etc/systemd/system/neoforge.service <<'EOF'
[Unit]
Description=NeoForge Minecraft Server
After=network.target

[Service]
WorkingDirectory=/home/mcuser/neoforge-server
User=mcuser
Group=mcuser
Restart=on-failure
RestartSec=10
ExecStart=/usr/bin/java -Xms8G -Xmx12G -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 -jar neoforge-1.20.4-20.4.51-server.jar nogui
ExecStop=/usr/bin/kill -TERM $MAINPID
TimeoutStopSec=60
StandardOutput=journal
StandardError=journal
SyslogIdentifier=neoforge

[Install]
WantedBy=multi-user.target
EOF

Включите и запустите службу:

systemctl daemon-reload
systemctl enable neoforge
systemctl start neoforge
systemctl status neoforge

Просмотр логов в реальном времени:

journalctl -u neoforge -f

11. Подключение и проверка

  1. В клиенте Minecraft выберите версию NeoForge 1.20.4 (установите через Prism Launcher, MultiMC или официальный инсталлятор клиента).
  2. Добавьте сервер: IP:порт — используйте IP вашего выделенного сервера из панели proxify.cloud (порт 25565).
  3. Зайдите на сервер. Проверьте команду /mods — должен отобразиться список загруженных модов (в чистом NeoForge будет только neoforge и minecraft).

12. Установка модов (опционально)

  1. Скачайте .jar модов для NeoForge (сайты: CurseForge, Modrinth — фильтр «NeoForge»).
  2. Загрузите их в папку mods на сервере:
    # от mcuser
    mkdir -p ~/neoforge-server/mods
    # пример загрузки через wget (замените URL)
    wget -P ~/neoforge-server/mods/ "https://example.com/mod-file.jar"
    
  3. Перезапустите сервер:
    systemctl restart neoforge
    
  4. Установите те же моды на клиент (в папку %appdata%/.minecraft/mods или через лаунчер).

13. Резервное копирование (базовый скрипт