Skip to content

pano-node и Pano Agent ​

pano-node — демон, который запускает управляемые серверы на машине. Он всегда работает отдельным процессом, поэтому перезапуск или обновление Pano никогда не останавливает игровые серверы. На машине самой Pano его запускает Pano (локальный узел); эта страница — для случаев, когда вы запускаете его сами.

Установка ​

Скачивайте его у своей собственной Pano, чтобы версия всегда совпадала, — он также прикладывается к каждому выпуску Pano. Нужна Java 11 или новее.

bash
curl -fsSL https://panel.example.com/api/node/pano-node.jar -o pano-node.jar

# Первый запуск: сопряжение по коду из Узлы → Добавить узел → Вручную
java -jar pano-node.jar --pano https://panel.example.com --code 123456 --data ./node-data

# Каждый следующий запуск
java -jar pano-node.jar --data ./node-data
ФлагПеременная
--pano <url>PANO_URLАдрес вашей Pano
--code <code>PANO_PAIR_CODEКод сопряжения
--data <dir>PANO_NODE_DATAКаталог данных (по умолчанию ./node-data)
--name <name>PANO_NODE_NAMEИмя узла в панели
--runtime DOCKERPANO_NODE_RUNTIMEЗапускать каждый сервер в собственном контейнере Docker
--port-range <a-b>PANO_NODE_PORT_RANGEПорты для его серверов (по умолчанию 25565-25600)
--service installЗаписать служебный файл systemd / launchd / службы Windows и выйти

В контейнере: образ — ghcr.io/panomc/pano-node. Смонтируйте том в /data (иначе всё пропадёт вместе с контейнером), опубликуйте те же порты, что и в PANO_NODE_PORT_RANGE, и задайте политику перезапуска, например --restart unless-stopped.

Данные и конфигурация ​

Всё лежит в каталоге данных: config.conf, servers/, backups/, java/ и несколько кешей. Одним каталогом одновременно может пользоваться только один демон.

jsonc
platform {
  url = "https://panel.example.com"
  token = "<secret>"
  encryption-key = "<secret>"
}
node {
  stop-servers-on-exit = false
  java-auto-download = true
  tool-auto-download = true
}
  • Токен и ключи — секреты. Никогда не копируйте файл и никому его не передавайте. Если он утёк, удалите узел в панели и выполните сопряжение заново.
  • stop-servers-on-exit = false оставляет серверы работать, пока демон перезапускается.
  • Недостающие версии Java скачиваются в java/, а небольшой git для сборки Spigot — в tools/. Чтобы это запретить, задайте обоим ключам auto-download значение false.
  • Редактируйте файл, только пока демон остановлен.

Обновление и удаление ​

  • Обновление: страница «Узлы» показывает Есть обновление. Демон скачивает новый jar, проверяет его и перезапускается за несколько секунд; его серверы продолжают работать. В Windows скопируйте новый jar поверх вручную.
  • Удаление: Узлы → Удалить удаляет каждый сервер, резервную копию и скачанную Java на узле, предварительно спросив имя узла и ваш пароль. Узел не в сети можно только забыть; его файлы остаются.
Код выходаЗначение
75Подготовлено обновление — запустите снова
76Этим каталогом уже пользуется другой демон
78Удалён из Pano — не перезапускайте

Pano Agent ​

Pano Agent передаёт Pano сервер, который у вас уже работает, прямо там, где он лежит: положите pano-agent.jar в папку сервера и запускайте его вместо jar сервера. Агент запускает сервер, показывает его консоль в вашем терминале и отдаёт остальное управление Pano. Ничего не переносится.

Добавить сервер → Подключить через Pano Agent показывает ссылку для скачивания и готовую команду:

bash
cd /home/mc/survival
curl -fLo pano-agent.jar 'https://panel.example.com/api/node/pano-agent.jar'

# Остановите сервер и один раз выполните команду из окна (код срабатывает один раз и действует 1 минуту)
java -jar pano-agent.jar --pano 'https://panel.example.com' --code k7m2x9qa4tj3n8wp

# Каждый следующий запуск
java -jar pano-agent.jar
  • При первом запуске агент спрашивает jar сервера, память и аргументы Java; Enter оставляет значения по умолчанию, прочитанные из вашего скрипта запуска. На панели хостинга вроде Pterodactyl укажите pano-agent.jar как jar сервера и отвечайте в веб-консоли.
  • stop останавливает только сервер; агент продолжает работать, чтобы Pano могла запустить его снова. Ctrl+C останавливает оба.
  • Агент хранит свои данные в .pano-agent/ — не копируйте эту папку, когда копируете папку сервера для нового сервера.
  • Он обновляется сам, не останавливая сервер. Чтобы удалить его, удалите сервер в Pano и снова запускайте jar сервера напрямую.

Безопасность ​

  • Узел сам подключается наружу к Pano; открывать на нём ничего не нужно.
  • Каждое сообщение зашифровано AES-256-GCM — и всё же используйте HTTPS для узла на другой машине.
  • Узел, сопряжённый по коду, должен быть одобрен в панели.
  • Файлы не выходят за пределы папки каждого сервера, а серверы запускаются без оболочки.