SettingsHub - основа системы настроек Realistic Farming и четвёртый по порядку загрузки мод в связке. Принцип работы прост: сопутствующие моды передают ему описание своих настроек и один обратный вызов, а всё остальное берёт на себя хаб. Как и другие технические звенья сборки, для рядового игрока он остаётся за кадром, но именно благодаря ему настройки множества модов работают согласованно и без сбоев.
Без SettingsHub каждый экономический мод экосистемы решал бы вопрос настроек самостоятельно. Один рисует своё меню в одном углу экрана. Другой - в другом. Третий прячет настройки в конфигурационном файле. Четвёртый - в консольных командах. У каждого свой формат хранения, свой способ применения изменений, своя логика разграничения прав.
Данный мод заменяет весь этот хаос одной системой. Сопутствующие моды передают ему описание своих настроек и один обратный вызов. SettingsHub берёт на себя всё остальное: хранение, применение, разграничение прав, синхронизацию в мультиплеере, сохранение на диск. Собственных настроек у мода нет: его достаточно установить, оставить загруженным и позволить остальным модам им пользоваться.
Как им пользуются другие моды
Регистрация выполняется один раз при инициализации и защищена на случай отсутствия SettingsHub. Мод описывает свои параметры и задаёт обработчик изменений. Поддерживаются четыре типа настроек: логический (bool), целочисленный с минимумом и максимумом (int), дробный с шагом (float) и перечисление из списка значений (enum). Это покрывает практически любые потребности - от простого переключателя до ползунка с точным шагом.
Обработчик изменений onchange срабатывает с задержкой - не более двух раз за кадр и в защищённой обёртке. Он вызывается как при каждом изменении, так и один раз при загрузке для применения восстановленных значений, поэтому его выполнение при старте миссии должно быть безопасным и идемпотентным, то есть не приводить к побочным эффектам при повторном вызове.
Разделение прав: администратор и игрок
Ключевой момент архитектуры - разграничение настроек по области действия. Параметры с пометкой adminOnly являются общими для сервера. Когда клиент пытается изменить такую настройку, запрос уходит на сервер, тот проверяет права главного пользователя, применяет изменение, сохраняет его и рассылает всем клиентам - причём обработчик на клиенте запускает только то значение, которое одобрил сервер. Это исключает рассинхрон и самоуправство.
Настройки без этой пометки - локальные для игрока. Они применяются немедленно на конкретном клиенте и сохраняются в его собственном локальном файле. Значения при этом остаются сугубо личными: в текущей версии серверного хранилища по идентификатору игрока нет, так что каждый настраивает своё, не влияя на других.
Сохранение
Хранение данных тоже разведено логично. Административные (общие для сервера) значения сохраняются через State Ledger в рамках единого атомарного сохранения экосистемы - то есть попадают в тот же защищённый файл, что и остальной прогресс. А локальные для игрока настройки пишутся в отдельный файл в директории сохранения. Такое разделение полностью соответствует принципам всей сборки, где общие и личные данные принципиально не смешиваются.
Интеграция с FarmTablet и диагностика
SettingsHub открывает доступ к своей модели через специальный метод, а приложение системных настроек FarmTablet считывает его через собственный механизм автообнаружения. Показательно, что сам хаб не обращается к FarmTablet напрямую - связь односторонняя, что делает компоненты слабо связанными и устойчивыми. Для проверки предусмотрена консольная команда shStatus, которая выводит список зарегистрированных модулей и глубину очереди ожидающих обработчиков - удобно для контроля за тем, что всё работает штатно.
SettingsHub - это грамотно спроектированный центр управления настройками, без которого параметры множества модов Realistic Farming превратились бы в хаос. Асинхронная очередь спасает от подвисаний при тяжёлых изменениях, чёткое разделение на административные и локальные настройки обеспечивает порядок в мультиплеере, а хранение через StateLedger и отдельный локальный файл соответствует общей философии сборки. Для игрока мод незаметен и не требует настройки - ставится один раз и молча выполняет свою работу, - но именно на нём держится удобство и согласованность всех параметров экосистемы. Ещё один обязательный кирпичик в фундаменте Realistic Farming, продуманный до мелочей.
Изменено в 1.0.1.0:
Новый «Центр управления»: используйте правый Shift + A для доступа к панели управления, где можно просматривать и активировать функции, добавленные другими модификациями (переключение интерфейса, просмотр статистики и прочее).
Сопутствующие модификации получили возможность интегрировать собственные команды в «Центр управления».
Изменено в 1.1.0.0:
Мод берёт на себя роль централизованного пульта управления для целой экосистемы Realistic Farming Suite, и судя по функционалу, это давно назревшее и логичное решение для тех, кто использует сразу несколько модов из этого набора.
Главная идея - покончить с беготнёй по отдельным меню
Раньше, если вы пользовались несколькими модами набора одновременно - скажем, той же системой ВОМ, реалистичным расходом топлива и другими компонентами - настройка каждого требовала отдельного захода в его собственное меню. Теперь всё сведено в единую вкладку с адаптивными элементами управления под тип настройки: переключатель для булевых опций, числовой регулятор для диапазонов, список для выбора из вариантов. Это именно тот уровень удобства, который начинаешь ценить не сразу, а после десятого захода в разные меню ради мелкой корректировки одной настройки.
Разграничение прав в мультиплеере - продуманный момент
Блокировка административных настроек для обычных игроков с серым отображением - важная деталь для серверной игры. То, что финальное решение по применению настройки всё равно остаётся за сервером, а не просто визуально скрывается на клиенте, говорит о правильном подходе к безопасности настроек в кооперативе - это не косметическая блокировка, а реальное разграничение полномочий.
Переназначение клавиш прямо на месте
Возможность перепривязать клавишу без выхода в отдельное системное меню игры - ещё один шаг к удобству. Простой принцип "нажал переназначить, нажал новую клавишу, готово" избавляет от необходимости помнить, где вообще искать управление конкретной функцией среди десятков других игровых настроек.
Точечный сброс клавиш - разумная предусмотрительность
Кнопка сброса, которая возвращает к дефолту только клавиши набора, не трогая остальные пользовательские настройки управления в игре, - важная деталь для тех, кто уже давно настроил под себя всю остальную раскладку и не хочет случайно потерять эти настройки при попытке скинуть только клавиши, связанные с Realistic Farming Suite.
Уведомление о запуске - мелочь для прозрачности
Появление сообщения с количеством активных модов набора через 25 секунд после загрузки - небольшая, но полезная деталь для тех, кто использует не весь набор целиком, а выборочные компоненты. Позволяет сразу понимать, что реально подгрузилось в конкретной игровой сессии, не открывая настройки для проверки.
Мод «Settings Hub» для Farming Simulator 25
Скачать мод Settings Hub
Версия
v 1.1.0.0 Rus
Версия
v 1.0.1.0
Версия
v 1.0.0.0

Комментарии
Пока что никто не оставил комментария к этому материалу. Ты можешь быть первым!