Как включить режим полета на сервере

1. Подключение к серверу через SSH

  1. Откройте панель proxify.cloud и перейдите в раздел «Серверы» → выберите ваш выделенный сервер.
  2. Скопируйте IP-адрес (IPv4) и root-пароль из вкладки «Доступы».
  3. Подключитесь с локальной машины:
ssh root@<IP-адрес_сервера>

При первом подключении подтвердите отпечаток ключа (yes), введите пароль.

2. Определение пути к файлам сервера Minecraft

На выделенном сервере с Ubuntu файлы обычно находятся в домашней директории пользователя, от имени которого запущен сервер (часто minecraft или ubuntu).

ls -la /home/

Типичные варианты:

  • /home/minecraft/server
  • /home/ubuntu/minecraft
  • /opt/minecraft

Перейдите в нужную директорию:

cd /home/minecraft/server

Проверьте наличие ключевых файлов:

ls -la
# Ожидаем: server.jar, server.properties, eula.txt, logs/, world/

3. Редактирование server.properties

Файл server.properties хранит основные настройки мира.

  1. Сделайте резервную копию:
cp server.properties server.properties.backup.$(date +%F)
  1. Откройте файл в редакторе (nano, vim или sed). Пример с sed для автоматизации:
sed -i 's/^allow-flight=.*/allow-flight=true/' server.properties
sed -i 's/^max-tick-time=.*/max-tick-time=60000/' server.properties

Параметр max-tick-time увеличен до 60000 мс, чтобы сервер не крашил игроков при долгом полёте в креативе.

  1. Проверьте изменения:
grep -E 'allow-flight|max-tick-time' server.properties

Ожидаемый вывод:

allow-flight=true
max-tick-time=60000

4. Настройка прав игроков (permissions)

Режим полета работает только для игроков с соответствующими правами. Варианты реализации зависят от типа сервера.

4.1 Vanilla / Paper / Spigot без плагинов прав

В ванильном сервере полёт доступен только в креативном режиме (gamemode creative). Для выживания (survival) полёт запрещён движком. Чтобы разрешить полёт в выживании без плагинов — невозможно, нужен мод/плагин.

4.2 Paper/Spigot + LuckPerms (рекомендуемый путь)

  1. Убедитесь, что плагин LuckPerms установлен (файл plugins/LuckPerms.jar).
  2. Выдайте разрешение minecraft.command.fly или используйте встроенную команду /fly от плагина EssentialsX (если установлен).

Пример выдачи права через консоль сервера (внутри screen/tmux сессии):

# Зайдите в консоль сервера
screen -r minecraft
# Или если используется systemd:
# journalctl -u minecraft -f

# В консоли введите:
lp group default permission set essentials.fly true
# или для конкретного игрока:
lp user <ник> permission set essentials.fly true

Если EssentialsX нет, установите плагин Fly (например, SimpleFly):

  • Скачайте .jar в plugins/
  • Перезагрузите сервер: /reload или рестарт.
  • Выдайте право simplefly.fly через LuckPerms.

4.3 Forge / Fabric (моды)

Для модовых серверов полёт в выживании дают моды вроде FlyWheel, CreativeCore или права через LuckPerms + мод PermissionsEx (если портнут). Чаще всего на Forge/Fabric используют LuckPerms (порт под Forge) и плагин/мод EssentialsX (нет) — ставят мод FTB Utilities или ServerUtils, где есть команда /fly.

Пример для FTB Utilities (Forge):

  1. Убедитесь, что мод в mods/.
  2. В config/ftbutilities/ranks.json добавьте ранг с правом command.fly.
  3. Выдайте ранг игроку: /rank add <ник> <ранг>.

5. Перезагрузка сервера для применения изменений

5.1 Если сервер запущен в screen/tmux

screen -r minecraft
# Внутри консоли:
save-all
stop
# Дождитесь остановки, затем:
./start.sh
# или ваша команда запуска, например:
java -Xms4G -Xmx8G -jar server.jar nogui

Отсоединитесь: Ctrl+A затем D.

5.2 Если сервер управляется systemd (рекомендуется на выделенном Ubuntu)

Проверьте имя юнита:

systemctl list-units --type=service | grep -i mine
# Обычно: minecraft.service или minecraft@server.service

Перезапустите:

systemctl restart minecraft

Следите за логами:

journalctl -u minecraft -f

Дождитесь строки Done (X.XXs)! For help, type "help".

6. Проверка работоспособности в игре

  1. Зайдите на сервер под игроком, которому выданы права.
  2. Введите команду (зависит от плагина/мода):
    • EssentialsX / SimpleFly: /fly
    • FTB Utilities: /fly (если включено в конфиге)
    • В креативе: просто дважды нажмите Space.
  3. Игрок должен взлететь. В чате появится сообщение «Flight mode enabled» или аналогичное.

7. Настройка античита (если установлен)

Плагины античита (AAC, Matrix, Vulcan, NoCheatPlus) могут кикать за полёт в выживании.

7.1 Vulcan (Paper/Spigot)

  1. Откройте plugins/Vulcan/config.yml.
  2. Найдите секцию checks: flight:.
  3. Установите enabled: false или добавьте исключение для прав:
checks:
  flight:
    enabled: true
    creative: true   # не проверять в креативе
    bypass-permission: "vulcan.bypass.flight"
  1. Выдайте пермишн vulcan.bypass.flight через LuckPerms игрокам с правом полёта.
  2. Перезагрузите античит: /vulcan reload.

7.2 Matrix (Paper/Spigot)

# В консоли:
matrix config set checks.flight.enabled false
# или для конкретного мира:
matrix config set checks.flight.worlds.world.enabled false
matrix reload

7.3 NoCheatPlus

В plugins/NoCheatPlus/config.yml:

checks:
  moving:
    flying:
      enabled: false

Затем /ncp reload.

8. Автоматизация через панель proxify.cloud (опционально)

В панели proxify.cloud можно создать скрипт запуска/перезапуска, чтобы не заходить по SSH каждый раз.

  1. В панели выберите сервер → вкладка «Скрипты» → «Добавить скрипт».
  2. Имя: enable-flight.
  3. Содержимое (bash):
#!/bin/bash
cd /home/minecraft/server
sed -i 's/^allow-flight=.*/allow-flight=true/' server.properties
sed -i 's/^max-tick-time=.*/max-tick-time=60000/' server.properties
systemctl restart minecraft
  1. Сохраните, сделайте исполняемым (панель делает это автоматически).
  2. Запускайте кнопкой «Выполнить» при необходимости.

Также можно добавить cron-задачу в панели (раздел «Планировщик») для ежедневного рестарта ночью, чтобы применять конфиги без ручного вмешательства.

9. Резервное копирование перед изменениями

Перед любыми правками конфигов делайте бэкап мира и конфигов. В proxify.cloud есть функция «Снэпшоты» (Snapshots) для всего диска выделенного сервера.

  1. В панели выберите сервер → «Снэпшоты» → «Создать».
  2. Подпишите: pre-flight-config-$(date +%F).
  3. После успешной проверки полёта снэпшот можно удалить, чтобы экономить место.

Локальный бэкап конфигов (быстрый):

tar -czf /root/mc-config-backup-$(date +%F).tar.gz /home/minecraft/server/server.properties /home/minecraft/server/plugins/*/config.yml 2>/dev/null

Возможные проблемы и решения

Проблема Причина Решение
Игрок не может летать, команда /fly пишет «No permission» Не выдано право в LuckPerms / PermissionsEx Выдайте право: lp user <ник> permission set essentials.fly true (или simplefly.fly, vulcan.bypass.flight). Проверьте: lp user <ник> permission info.
Сервер кикает «Flying is not enabled on this server» allow-flight=false в server.properties Убедитесь, что после редактирования сервер перезапущен (не /reload, а полный рестарт). Проверьте grep allow-flight server.properties.
Античит (Vulcan/Matrix) кикает за полёт в выживании Проверка полёта включена, нет bypass-пермишена Добавьте пермишен vulcan.bypass.flight / matrix.bypass.flight или отключите проверку flight в конфиге античита. Перезагрузите античит командой /vulcan reload или /matrix reload.
После рестарта настройки сбросились Файл server.properties перезаписывается панелью управления (Pterodactyl, AMP) или скриптом запуска Если используется панель управления поверх ОС — меняйте настройку в веб-интерфейсе панели (Settings → Server Properties → Allow Flight). В proxify.cloud на выделенном сервере панель не управляет контентом, поэтому правка файла работает.
Лаги/краш при полёте (watchdog) max-tick-time слишком мал для генерации чанков при полёте Увеличьте max-tick-time=60000 или -1 (отключить) в server.properties. Перезапустите сервер.
Полёт работает только в креативе Ванильный движок не разрешает полёт в survival без модов/плагинов Установите плагин EssentialsX + LuckPerms или мод (Forge/Fabric), дающий полёт в выживании. В Paper/Spigot без плагинов — невозможно.
Ошибка «Could not find or load main class» после рестарта Неверная команда запуска в systemd / start.sh Проверьте ExecStart в /etc/systemd/system/minecraft.service или содержимое start.sh. Убедитесь, что server.jar существует и java установлена (java -version).
Нет доступа к консоли (screen/tmux) Сессия не создана или другое имя screen -ls — покажет список. Если пусто — сервер