Skip to content

Руководство по настройке

Pano использует файл конфигурации в формате HOCON (Human-Optimized Config Object Notation) для управления своими настройками.
HOCON похож на JSON, но его легче читать — он поддерживает комментарии, строки без кавычек и висячие запятые.
Подробнее о формате:
Документация Lightbend HOCON

При первом запуске Pano автоматически создает файл конфигурации с именем config.conf в той же директории, что и ваш Pano-<версия>.jar.
По умолчанию Pano ищет этот файл с помощью:

kotlin
System.getProperty("pano.configFile", "config.conf")

Это означает, что вы можете указать собственный путь к конфигурации, используя параметр JVM -Dpano.configFile, например:

bash
java -Dpano.configFile=/path/to/custom.conf -jar Pano-1.0.0.jar

Если путь не указан, Pano будет использовать файл config.conf по умолчанию в той же папке, что и JAR-файл.

Во время процесса установки некоторые значения, такие как данные базы данных, учетные данные администратора и URL-адреса, автоматически записываются или перезаписываются.
Если вы измените их вручную, Pano может перезаписать их во время запуска или будущих обновлений.
Редактируйте только то, что понимаете, и всегда делайте резервную копию перед внесением изменений.

Автоматические миграции

При каждом запуске Pano проверяет поле config-version в вашей конфигурации. Если версия в файле старше требований текущей версии Pano, приложение автоматически выполнит необходимые миграции. Это гарантирует, что ваша конфигурация и база данных останутся совместимыми с последними функциями и обновлениями безопасности без ручного вмешательства.

Общие настройки

jsonc
# Версия конфигурации, используемая для миграций (НЕ меняйте вручную)
config-version = <int>

# Включить или отключить режим разработки (по умолчанию: false)
development-mode = false

# Код языка интерфейса (добавляется/редактируется через панель администратора)
locale = "en-US"

# Публичный URL вашего веб-сайта (требуется для писем, файлов cookie и т. д.)
website-url = "http://yourdomain.com"

# Разрешить пользователям выбирать предпочтительный язык (по умолчанию: 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 сессий и других функций платформы.
  • allow-user-locale-selection: включает/отключает возможность выбора пользователями собственного языка из доступных локалей (по умолчанию: true). Можно управлять в Панель → Настройки → Платформа → Предпочтения.
  • register-agreement: определяет условия или правила, показываемые при регистрации пользователя. Это поле поддерживает HTML-теги для форматирования.
  • server-ip-address: отображается в вашей теме — игроки могут скопировать его и использовать для входа на ваш сервер Minecraft.

Нужно на время отключить публичный сайт? У блока maintenance есть отдельная страница: Режим обслуживания →.

Тема

jsonc
current-theme = "vanilla-theme"

Детали

  • Определяет, какая тема активна.
  • Если используется неверный ID темы, Pano возвращается к vanilla-theme.
  • Можно изменить через Панель → Вид → Темы.

Подключение Minecraft-сервера

jsonc
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-соединения.