Руководство по настройке
Pano использует файл конфигурации в формате HOCON (Human-Optimized Config Object Notation) для управления своими настройками.
HOCON похож на JSON, но его легче читать — он поддерживает комментарии, строки без кавычек и висячие запятые.
Подробнее о формате:
Документация Lightbend HOCON
При первом запуске Pano автоматически создает файл конфигурации с именем config.conf в той же директории, что и ваш Pano-<версия>.jar.
По умолчанию Pano ищет этот файл с помощью:
System.getProperty("pano.configFile", "config.conf")Это означает, что вы можете указать собственный путь к конфигурации, используя параметр JVM -Dpano.configFile, например:
java -Dpano.configFile=/path/to/custom.conf -jar Pano-1.0.0.jarЕсли путь не указан, Pano будет использовать файл config.conf по умолчанию в той же папке, что и JAR-файл.
Во время процесса установки некоторые значения, такие как данные базы данных, учетные данные администратора и URL-адреса, автоматически записываются или перезаписываются.
Если вы измените их вручную, Pano может перезаписать их во время запуска или будущих обновлений.
Редактируйте только то, что понимаете, и всегда делайте резервную копию перед внесением изменений.
Автоматические миграции
При каждом запуске Pano проверяет поле config-version в вашей конфигурации. Если версия в файле старше требований текущей версии Pano, приложение автоматически выполнит необходимые миграции. Это гарантирует, что ваша конфигурация и база данных останутся совместимыми с последними функциями и обновлениями безопасности без ручного вмешательства.
Общие настройки
# Версия конфигурации, используемая для миграций (НЕ меняйте вручную)
config-version = <int>
# Включить или отключить режим разработки (по умолчанию: false)
development-mode = false
# Код языка интерфейса (добавляется/редактируется через панель администратора)
locale = "en-US"
# Публичный URL вашего веб-сайта (требуется для писем, файлов cookie и т. д.)
website-url = "http://yourdomain.com"
# Как используется эта установка: "WEBSITE", "SERVERS" или "BOTH" (по умолчанию: "BOTH")
usage-mode = "BOTH"
# Разрешить пользователям выбирать предпочтительный язык (по умолчанию: true)
allow-user-locale-selection = true
# Соглашение о регистрации, показываемое пользователям (поддерживает HTML)
register-agreement = ""
# Название и описание веб-сайта
website-name = ""
website-description = ""
# Email службы поддержки, используемый для уведомлений и сброса пароля
support-email = ""
# Информация о сервере Minecraft, показываемая игрокам
server-ip-address = "play.ipadress.com"
server-game-version = "1.8.x"
# SEO ключевые слова
keywords = []Советы
config-version: используется внутри для миграций — не переименовывайте и не редактируйте его.development-mode: по умолчанию false для производительности и безопасности; устанавливайте true только для отладки.locale: используйте короткие коды, такие какen-US,ruилиtr(языки можно добавить в панели).website-url: базовый URL вашего сайта. Это обязательно для генерации системных писем, управления файлами cookie сессий и других функций платформы.usage-mode: как используется эта установка. Значение выбирается на первом экране мастера настройки и в любой момент меняется в разделе Панель → Настройки → Платформа → Предпочтения (три выбираемых блока)."WEBSITE": только веб-сайт — классический вариант Pano. Управление серверами отключается вместе со страницами и API. Привязка сервера Minecraft через Pano MC Plugin продолжает работать, а уже сопряжённые узлы продолжают запускать свои серверы."SERVERS": только управление серверами Minecraft — продуктом становится панель. Посты, Тикеты и Просмотр (темы) отключаются вместе со страницами и API, а все публичные адреса перенаправляются на/panel. При обратном переключении они возвращаются без перезапуска; существующие посты и тикеты сохраняются."BOTH": веб-сайт + управление серверами. Значение по умолчанию; существующие установки мигрируют именно на него — их поведение не меняется.- В режиме
"SERVERS"Pano вообще не запускает процесс темы: посетители без входа видят на любом адресе панели её собственную форму входа, и войти могут только аккаунты с доступом к панели. Переключение режима здесь запускает или останавливает тему без перезапуска.
allow-user-locale-selection: включает/отключает возможность выбора пользователями собственного языка из доступных локалей (по умолчанию:true). Можно управлять в Панель → Настройки → Платформа → Предпочтения.register-agreement: определяет условия или правила, показываемые при регистрации пользователя. Это поле поддерживает HTML-теги для форматирования.server-ip-address: отображается в вашей теме — игроки могут скопировать его и использовать для входа на ваш сервер Minecraft.
Нужно на время отключить публичный сайт? У блока
maintenanceесть отдельная страница: Режим обслуживания →.
Тема
current-theme = "vanilla-theme"Детали
- Определяет, какая тема активна.
- Если используется неверный ID темы, Pano возвращается к
vanilla-theme. - Можно изменить через Панель → Вид → Темы.
Подключение Minecraft-сервера
mc-server-connection {
heartbeat-interval-seconds = 25
heartbeat-timeout-seconds = 75
}Детали
- Heartbeat на уровне приложения, который сам Pano отправляет каждому подключённому Minecraft-серверу (через
pano-mc-plugin). Это отдельно от — и в дополнение к — собственнымheartbeat-interval/heartbeat-timeoutплагина в его собственномconfig.conf: обе стороны отправляют ping независимо, каждая по своему расписанию. О том, как эти два heartbeat'а взаимодействуют с тайм-аутом простоя обратного прокси, см. Обратный прокси: поддержание WebSocket-соединения. heartbeat-interval-seconds: количество секунд между heartbeat-ping, которые Pano отправляет каждому подключённому Minecraft-серверу. По умолчанию 25.heartbeat-timeout-seconds: сколько секунд ждать pong, прежде чем Pano сочтёт соединение с этим Minecraft-сервером мёртвым и закроет его. По умолчанию 75.- Оба значения проверяются при запуске:
heartbeat-interval-secondsдолжен быть больше0и не больше 55;heartbeat-timeout-secondsдолжен быть как минимум вдвое больше интервала. Пара, выходящая за эти границы, не отклоняется молча — Pano записывает предупреждение и возвращается к значениям по умолчанию 25s / 75s для обоих параметров вместо отказа при запуске. Про (чуть более строгое) правило стороны плагина см. Обратный прокси: поддержание WebSocket-соединения.
Локальный узел (Local Node)
local-node {
enabled = true
jar-path = null
java-path = null
stop-with-pano = false
}Детали
- Демон
pano-node, который Pano запускает на своей собственной машине, — см. Добавление узла →. enabled:falseполностью запрещает Pano запускать локальный узел. По умолчанию true.jar-path: явный путь кpano-node.jar; Pano его никогда не заменяет. Пустое значение: Pano ищет jar рядом с собой и в рабочем каталоге и распаковывает туда копию, встроенную в его собственный jar.java-path: каталог Java 11+ (или его бинарникjava) для демона. Пустое значение означает, что демон работает на той же Java, что и Pano.stop-with-pano: останавливать демон вместе с Pano. По умолчанию false, так что серверы продолжают работать при перезапуске Pano.
Управляемые серверы (Managed Servers)
managed-servers {
plugin-jar-dir = null
node-auto-update = true
accept-agent-links = true
}Детали
- Настройки серверов, которые Pano запускает через узел, — см. Управление серверами →.
plugin-jar-dir: папка с локально собранными jar-файламиpano-mc-plugin, которые ставятся вместо опубликованного выпуска. Только для разработки плагина; оставьте пустым.node-auto-update: обновлять узлы и Pano Agent до версии демона самой Pano, когда они подключаются с более старой. Серверы продолжают работать. По умолчанию true. Панель → Настройки → Обновления меняет этот же ключ.accept-agent-links: принимать новые подключения Pano Agent. По умолчанию true. Приfalseни один новый агент не может выполнить сопряжение; уже подключённые агенты продолжают работать.
Источники плагинов (Plugin Sources)
plugin-sources {
curseforge-api-key = null
}Детали
- Сайты плагинов, по которым ищет вкладка Каталог сервера, — см. Плагины и моды →.
- Modrinth и Hangar не требуют ключа.
curseforge-api-key: ваш собственный ключ с console.curseforge.com включает CurseForge. Пустое значение оставляет его выключенным.