Рубильник
На этой страницеОбзор

Настройки сервера (конфиги)

Страница для администрации: где лежат настройки модов сервера, что значит каждая строка и как применить правку. Игрокам её читать не нужно.

Коротко#

Проще всего — вкладка «Настройки» Рубильника

27.rozb.pw → «Настройки» (право «Файлы»): те же файлы формами — галочки, числа, списки, описание каждого ключа из этой вики; ошибиться в запятых и кавычках нельзя. Там же — рекомендуемые моды прямо из каталога Modrinth (id мода подставляется сам), тексты модулей с поиском и кнопка «Перечитать на сервере». Ниже — как устроены сами файлы, если править их руками во «Файлах».

  1. Откройте Рубильник → «Файлы» (27.rozb.pw, нужно право «Файлы») и папку config/. Настройки наших модов — в папках rozb_core, rozb_economy, rozb_state, rozb_clans, rozb_portals.
  2. Перед правкой скачайте копию файла — откатить ошибку проще всего ею.
  3. Поправьте значение, сохраните.
  4. Примените: для большинства файлов — /служебное перезагрузить в игре (или «Перечитать настройки» в окне /служебное, или та же команда в консоли Рубильника). Что как применяется — в таблице ниже.
  5. Проверьте в игре. Если что-то сломалось — верните копию и снова перезагрузите.

Как читать JSON#

Все файлы настроек — JSON. Правила, на которых чаще всего ошибаются:

{
  "historyPageSize": 10,
  "withdrawItem": "minecraft:deepslate_diamond_ore",
  "showTag": true,
  "warFormats": [3, 5, 6],
  "lawsUrl": ""
}
  • Слева — ключ (имя настройки), его не меняют и не переводят. Справа — значение, его и правят.
  • Текст — в двойных кавычках "…". Числа и true/false (да/нет) — без кавычек.
  • [ … ] — список, элементы через запятую. { … } — группа ключей.
  • После каждой пары, кроме последней в группе, — запятая. Лишняя запятая перед } или ] — ошибка.
  • Комментариев (//, #) в JSON нет.
  • Пустой текст — "", а не пропущенное значение.

Что делают моды с файлом:

  • Не хватает ключа (удалили строку или ключ появился в новой версии) — берётся значение по умолчанию, и при следующей загрузке мод сам допишет его в файл.
  • Опечатка в ключе ("histroyPageSize") — такой ключ мод не знает: настройка останется прежней, а строка с опечаткой исчезнет из файла при следующей загрузке. Если правка «не сработала и пропала» — проверьте написание.
  • Ошибка синтаксиса (нет запятой, кавычки) — файл не читается: /служебное перезагрузить ответит ошибкой и оставит старые настройки (модули после сломанного файла тоже не перечитаются), а при запуске сервер не стартует. В консоли Рубильника будет строка Ошибка в config/…: … с номером строки и столбца.

Проверить файл перед сохранением

Вставьте текст в любой онлайн-валидатор JSON (поиск «JSON validator») — он покажет строку с ошибкой.

Когда применяется#

Файл Как применить
config.json любого модуля /служебное перезагрузить
lang.json любого модуля /служебное перезагрузить
rozb_core/roles.json /служебное перезагрузить, затем /роль настроить (переносит группы, права и префиксы в LuckPerms)
rozb_core/recommended.json ничего: файл перечитывается сам, список уйдёт игрокам при следующем входе
rozb_core/logo.png ничего: при следующем входе игроков с модом
rozb_core/commands.json перезапуск сервера (кнопка в Рубильнике)
rozb_core/api.json перезапуск сервера

Перезагрузка и перезапуск не трогают данные игроков: балансы, паспорта, кланы лежат в базах *.db отдельно от настроек.

Какие файлы не трогать#

Файл Почему
*.db, *.db-shm, *.db-wal базы данных (счета, паспорта, кланы, порталы, журнал). Правка руками ломает их
lang.default.json справка со всеми текстами модуля, перезаписывается при каждом запуске — правки пропадут. Править lang.json
rozb_core/commands.tree.json справка: дерево русских команд, пишется при запуске (из него собирается страница «Все команды»)
rozb_core/clients.json статистика клиентов для Рубильника (страница «Клиенты»), пишется сама
*.tmp временный файл записи, исчезает сам

Настройки модулей — config.json#

У каждого модуля свой config.json. Все ключи с описанием — в конце страницы модуля:

Файл Что там Описание ключей
rozb_core/config.json сообщения о входе, интерфейс по умолчанию, ресурспак меню, ссылки на мод и «Быстрый старт», журнал Интерфейс, роли и общее → Файлы
rozb_economy/config.json чем платят в банке (АР), что банк выдаёт, длина истории Банк → Настройки
rozb_state/config.json паспорта, полиция (поводок, дубинка, тюрьма), жалобы, ссылка на законы Государство → для администрации
rozb_clans/config.json названия и теги, приглашения, казна, войны, арена Кланы → для администрации
rozb_portals/config.json Мир артов, общие порталы, поиск безопасной точки Порталы → для администрации

Частые вопросы по ним:

  • Предметы пишутся полным id: minecraft:diamond_ore. Id видно в игре по F3+H (подсказка предмета).
  • Измерения (arenaWorld, artsWorld) — id мира вида пространство:имя; менять, только если мир переносили.
  • Точки (arenaSpawnA, arenaSpawnB) — список [x, y, z] в блоках, координаты из F3. У двух сторон арены точки должны различаться, иначе команды появятся в одном месте.
  • Время — в единицах из имени ключа: …Seconds — секунды, …Minutes — минуты, …Hours — часы, …FromHour/…ToHour — час суток (0–24) в поясе timeZone.
  • Ссылки (lawsUrl, guideUrl, clientModUrl) — полный адрес с https://; пустая строка "" — не показывать.

config/rozb_core/recommended.json — моды, которые клиентский мод rozb-ui предлагает поставить при входе. Окно показывает только то, чего у игрока ещё нет; каждый мод предлагается один раз (повторно — в настройках rozb-ui). Выбранные моды скачиваются с Modrinth под версию игры игрока, вместе с обязательными зависимостями, и включаются после перезапуска игры. Игрокам без rozb-ui этот список не виден.

{
  "mods": [
    {
      "modId": "voicechat",
      "slug": "simple-voice-chat",
      "title": "Simple Voice Chat",
      "about": "Голосовой чат: слышно тех, кто рядом",
      "ifHas": []
    },
    {
      "modId": "lss",
      "slug": "voxy-server-side",
      "title": "Voxy Server Side",
      "about": "Дальние LOD-чанки Voxy прямо с сервера",
      "ifHas": ["voxy"]
    }
  ]
}
Ключ Что это Где взять
slug адрес мода на Modrinth — по нему мод скачивается последняя часть ссылки на странице мода: modrinth.com/mod/simple-voice-chat → "simple-voice-chat"
modId id мода внутри игры — по нему проверяется, стоит ли мод у игрока в Рубильнике → «Клиенты», список модов игроков: серым рядом с названием (если мод уже у кого-то стоит); или в fabric.mod.json внутри jar, поле "id". Часто, но не всегда совпадает со slug: у Simple Voice Chat slug — simple-voice-chat, а modId — voicechat
title название в окне любое; пусто — покажется slug
about короткое пояснение после названия одна строка, по-русски
ifHas предлагать только тем, у кого уже стоят эти моды (по modId, все сразу) [] — предлагать всем. ["voxy"] — только игрокам с Voxy

Как добавить мод: Рубильник → «Настройки» → «Рекомендуемые моды» — найдите мод в поиске и нажмите «Добавить»: адрес, название и modId (из jar мода под нашу версию игры) впишутся сами, останется пояснение по-русски и «Сохранить». Там же видно, у скольких игроков мод уже стоит, и предупреждение, если modId не совпадает с jar.

Руками, во «Файлах»:

  1. Найдите мод на modrinth.com, проверьте, что есть версия для Fabric и нашей версии игры.
  2. slug — из адреса страницы. modId — в Рубильнике на странице «Клиенты» или в самом jar: скачайте его с Modrinth, откройте как zip и найдите "id" в fabric.mod.json.
  3. Добавьте блок { … } в список mods (не забудьте запятую между блоками), сохраните. Перезагружать не нужно.

Ошибка в modId

Если modId указан неверно, мод будет считаться «не установленным» и предлагаться снова — даже тем, кто его уже поставил. Ошибка в slug — мод не скачается (в окне будет ошибка загрузки).

Тексты — lang.json#

Все сообщения и подписи модулей можно заменить своими. В папке модуля два файла:

  • lang.default.json — все тексты модуля, для справки (найти ключ);
  • lang.json — только ваши изменения. Остальные тексты берутся из мода, и новые тексты из обновлений появятся сами.

Пример: в lang.default.json ядра нашли "reload.done": "&aКонфиги и тексты перечитаны." — в lang.json пишем

{
  "reload.done": "&aГотово, настройки обновлены."
}

В текстах:

  • цвета — &a (зелёный), &c (красный), &e (жёлтый), &6 (золотой), &7 (серый), &l — жирный, &#RRGGBB — любой цвет;
  • подстановки в фигурных скобках ({name}, {amount}) заменяются значениями — оставляйте их как в оригинале, иначе в сообщении будет пусто или останется {…};
  • команды пишите как видят игроки, по-русски (/банк внести).

Надпись под логотипом на «Главной» rozb-ui — ключ ui.mod.logo_text в rozb_core/lang.json.

Роли — roles.json#

config/rozb_core/roles.json — должности сервера. Каждая роль — группа LuckPerms с тем же именем.

{
  "adminPermission": "rozb.roles.admin",
  "roles": {
    "police_chief": {
      "group": "police_chief",
      "title": "Глава полиции",
      "prefix": "&9[Глава полиции]",
      "prefixWeight": 33,
      "parents": ["police_deputy"],
      "permissions": ["state.police.jail.create", "state.police.jail.release"],
      "canAssign": ["police", "squad_leader", "police_deputy"]
    }
  }
}
Ключ Что это
police_chief (имя блока) id роли — так её пишут в командах: /роль выдать <ник> police_chief
group группа LuckPerms; обычно совпадает с id
title название для людей: в окнах, паспорте, сообщениях
prefix приставка перед ником в чате и табе, с цветами &; "" — без приставки
prefixWeight если у игрока несколько ролей, виден префикс с большим весом
parents роли-«родители»: их права наследуются (глава полиции умеет всё, что зам., а зам. — всё, что полицейский)
permissions права роли — список прав есть в разделах «Для администрации» на страницах модулей (Государство, Банк, Кланы, Порталы, ядро)
canAssign какие роли обладатель этой может выдавать и снимать
adminPermission право, с которым можно выдавать и снимать любые роли

После правки: /служебное перезагрузить, затем /роль настроить — без второго шага LuckPerms не узнает о новых правах и префиксах. Убрать право из файла недостаточно, если оно уже выдано группе: снимите его в LuckPerms (/lp group <группа> permission unset <право>).

Русские команды — commands.json#

Русские имена команд берутся из словаря внутри ядра. Переименовать команду — файл config/rozb_core/commands.json (его нет, пока не создадите), только изменённые строки:

{
  "bank": "банк",
  "bank zone": "зона",
  "*list": "список",
  "<amount>": "сумма",
  "police leash": "-"
}
Вид ключа Что переводит
"bank" корень команды: bank → банк
"bank zone" слово по пути английской команды: bank zone → банк зона (значение — одно слово)
"*list" это слово на любом месте во всех командах
"<amount>" имя аргумента в подсказке чата
значение "-" эту ветку не переводить — останется по-английски

Английские имена — на странице «Все команды» не показаны; их можно найти в commands.tree.json. Применяется только перезапуском сервера. Английские команды продолжают работать. Если меняете имя, поправьте и упоминания в lang.json, если писали команды в своих текстах.

Логотип — logo.png#

config/rozb_core/logo.png — картинка на «Главной» клиентского мода rozb-ui. PNG до 64 КБ, лучше квадратная. Заменить — загрузить новый файл с тем же именем через «Файлы». Нет файла — показывается только надпись (ui.mod.logo_text).

Публичный API — api.json#

config/rozb_core/api.json — связь сервера с Рубильником для публичного API. Обычно не трогать.

Ключ Что это
port порт, на котором ядро ждёт Рубильник; 0 — API выключен
token общий секрет с агентом Рубильника. Никому не показывать. Удалить — сгенерируется новый, но агент перестанет подключаться, пока ему не дадут новый
bind на каком адресе слушать: пусто — только эта машина; на хостинге — 0.0.0.0 (порт закрыт файрволом хостинга, всё равно нужен токен)

Чужие моды#

Остальные папки в config/ — моды других авторов (LuckPerms, Simple Voice Chat, EasyAuth, BlueMap, Chunky, spark и др.). У каждого свой формат и своя документация — ищите на странице мода на Modrinth или GitHub. Права и группы удобнее менять не в файлах LuckPerms, а командами /lp или веб-редактором /lp editor.