Universal Settings
Мод, который синхронизирует ваши настройки между разными инстансами, версиями и компьютерами.
- Загрузчики
- FabricNeoForgeForge
- Скачиваний на Modrinth
- 1,3 тыс.
- Подписчиков на Modrinth
- 6
- версия
- 21
- Обновлён
- 3 октября 20263 окт.
- Опубликован
- в 2026
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
Universal Settings
Клиентский мод для Minecraft (Fabric + NeoForge), который синхронизирует ваши настройки между всеми компьютерами, сборками и версиями игры, на которых вы играете.
Больше не нужно заново настраивать всё под каждый новый инстанс или ПК. При первой установке ваши настройки подтянутся при первом запуске, а все последующие изменения автоматически синхронизируются с другими вашими установками.
Что синхронизируется: всё содержимое options.txt и ваш список серверов для сетевой игры.
Профили: можно держать несколько именованных профилей (например, default, laptop) и выбрать один как основной. Если в установке уже есть настроенные параметры, вам один раз предложат сохранить их как новый профиль или переключиться на синхронизированные.
Аутентификация: никакого входа в аккаунт. Мод подтверждает вашу личность через тот же рукопожатие сессии Mojang, что используется для подключения к серверам сетевой игры, так что только вы можете читать или записывать свои настройки. В офлайн-режиме синхронизация приостанавливается на время сессии, а локальные настройки остаются нетронутыми.
Приватность
Этот мод загружает ваши настройки на сервер синхронизации, чтобы их можно было использовать на всех ваших установках. По умолчанию это центральный сервер, которым управляет автор мода (universalsettings.whitemcwizard.nl).
- Что хранится: ваше имя пользователя Minecraft и UUID, содержимое вашего
options.txt, вашservers.dat(список серверов для сетевой игры) и ваши списки исключений. - Ваш список серверов включён.
servers.datсодержит адреса всех сохранённых вами серверов для сетевой игры. Если не хотите это загружать, отключите Sync servers в игровом экране Ignored Settings. - Вы можете это удалить. Удаление профиля в игре убирает его с сервера.
- Секреты не хранятся. Рукопожатие Mojang никогда не раскрывает серверу синхронизации ваш пароль или токен лаунчера.
Не хотите использовать центральный сервер? В этом репозитории есть полный сервер (server/). Разместите его у себя и направьте мод на свой инстанс через serverUrl в config/universalsettings.json.
Структура
common/: вся логика мода (менеджер синхронизации, кодек настроек, HTTP-клиент, аутентификация, UI первого запуска, миксины)fabric/,neoforge/: тонкие точки входа загрузчиковserver/: центральный сервер синхронизации (Node.js + Fastify + SQLite)versions/{mc}/gradle.properties: свойства для каждой версии Minecraft, общие для всех веток
Сборки под несколько версий управляются через Stonecutter: каждая поддерживаемая версия Minecraft — это подпроект Gradle («узел») каждой ветки, например :fabric:26.1.2. Исходники активной версии лежат прямо в {branch}/src/; перед коммитом после смены версии выполните задачу Reset active project.
Чтобы добавить версию Minecraft: зарегистрируйте её в settings.gradle (versions '26.1.2', '...'), создайте versions/{mc}/gradle.properties со свойствами этой версии и портируйте код, зависящий от версии, с помощью комментариев Stonecutter (//? if <1.21 {).
Разработка
Мод (для запуска Gradle рекомендуется JDK 21+; каждая версия Minecraft нацелена на свою версию Java, и Gradle сам подбирает нужный тулчейн для каждой версии):
./gradlew buildAll # собрать все версии всех веток
./gradlew :fabric:26.1.2:build # собрать один jar загрузчика
./gradlew :fabric:26.1.2:runClient # клиент для разработкиСервер (Node 22+):
cd server
npm install
AUTH_DISABLED=true npm run dev # сервер разработки на :8080, пропускает проверку Mojang
npm test # API-тесты vitestДля полного цикла разработки укажите в config/universalsettings.json в папке запуска serverUrl на http://localhost:8080 и запустите сервер разработки с AUTH_DISABLED=true. У клиентов для разработки нет настоящего токена Mojang, поэтому мод пропускает клиентское подключение в средах разработки в соответствии с этим. Сервер отказывается запускаться с AUTH_DISABLED, когда NODE_ENV=production.
API
| Метод/Путь | Авторизация |
|---|---|
POST /auth/challenge, POST /auth/verify | (ограничение по частоте) |
GET /players/:uuid/profiles[/default|/:name] | JWT |
PUT /players/:uuid/profiles/:name | JWT |
POST /players/:uuid/default | JWT |
POST /players/:uuid/profiles/:name/rename | JWT |
DELETE /players/:uuid/profiles/:name | JWT |
GET|PUT /players/:uuid/exclusions | JWT |
PUT /players/:uuid/profiles/:name/exclusions | JWT |
GET /health |
Развёртывание центрального сервера
cd server
cp .env.example .env # set JWT_SECRET (openssl rand -hex 32) and DOMAIN
docker compose up -d --buildВходящий в комплект стек Compose запускает API за Caddy, который автоматически получает HTTPS для DOMAIN. База данных SQLite находится в server/data/; для резервной копии просто скопируйте файл.
Лицензия
MIT. Основано на MultiLoader Template.
Частые вопросы
Как установить Universal Settings?
Установите Fabric под свою версию Minecraft, скачайте Universal Settings под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть Universal Settings?
У Universal Settings есть сборки для Minecraft 1.20–1.20.1, 1.21–1.21.1, 1.21.9–26.3.
Нужен ли Universal Settings на сервере?
Ставится только в игру; на сервер ставить не нужно