Skip to content

Конфиг server.json

Серверные настройки WebGUI хранятся в config/webgui/server.json.

Файл создаётся автоматически при первом запуске. Также создаётся шаблон config/webgui/server.example.json. Если tokenSecretBase64 пустой, новый секрет генерируется и сохраняется автоматически.

Полный пример

json
{
  "enableTokens": true,
  "tokenTtlSeconds": 900,
  "queryParamName": "webgui_token",
  "tokenSecretBase64": "<авто-генерируется или ваш секрет>",

  "autoHudOnJoin": false,
  "autoHudUrl": "",

  "mainMenuUrl": "",
  "updateCheckUrl": "",

  "trustedCommandOrigins": []
}

Поля

Подписанные токены

Подписанные токены позволяют вашему бэкенду убедиться, что запрос пришёл от настоящего клиента WebGUI.

ПолеТипПо умолчаниюОписание
enableTokensbooltrueДобавлять подписанный токен к каждому URL, который открывает мод.
tokenTtlSecondsint900Время жизни токена в секундах. Минимум, применяемый модом: 60.
queryParamNamestring"webgui_token"Имя query-параметра для передачи токена.
tokenSecretBase64stringавтоBase64 HMAC-секрет, общий с вашим бэкендом. Генерируется автоматически, если пустой.

Авто-HUD

ПолеТипПо умолчаниюОписание
autoHudOnJoinboolfalseАвтоматически открывать HUD-оверлей при входе игрока на сервер.
autoHudUrlstring""URL для авто-HUD. Обязателен, если autoHudOnJoin равен true.

Главное меню

ПолеТипПо умолчаниюОписание
mainMenuUrlstring""URL, отправляемый клиентам при входе для экрана главного меню (открывается нажатием F6). Пустая строка — клавиша ничего не делает.

Проверка обновлений

ПолеТипПо умолчаниюОписание
updateCheckUrlstring""URL, возвращающий информацию о версии. Поддерживаемые форматы: {"version":"1.2.3"} или {"tag_name":"v1.2.3","html_url":"..."}. Пустая строка — отключено.

Доверенные origin для команд

Страницы могут выполнять команды Minecraft от лица игрока (см. runCommand). Так как в webview может открыться произвольный веб-контент, это ограничено по origin: команда принимается только с главного фрейма origin из этого списка.

ПолеТипПо умолчаниюОписание
trustedCommandOriginsstring[][]Origin'ы (scheme://host[:port]), чьи страницы могут выполнять команды. Пустой список — ни одна страница не может.
json
{ "trustedCommandOrigins": ["https://ui.myserver.example", "http://localhost:3000"] }
  • Команды идут с правами самого игрока — как ввод в чат, без повышения привилегий.
  • Запросы с любого другого origin (после редиректа или из <iframe>) отклоняются.
  • Список отправляется клиенту при входе и очищается при отключении — доверие не переносится между серверами.
  • Порты по умолчанию (443/80) нормализуются: https://xhttps://x:443.

Примечания

  • Если вы используете подписанные токены, ваш бэкенд должен проверять их с тем же секретом, указанным в tokenSecretBase64.
  • Путь к конфигу — config/webgui/server.json — обратите внимание: webgui, а не webui.