MultiFabricServer
Экспериментальный мод на Fabric, исследующий встроенную оркестрацию нескольких серверов в одной JVM.
- Загрузчики
- FabricVelocity
- Скачиваний на Modrinth
- 104
- Подписчиков на Modrinth
- 2
- версии
- 2
- Обновлён
- 30 июня 202630 июн.
- Опубликован
- в 2026
Коротко о моде
Ставится только на сервер; игрокам ставить не нужно
MultiFabricServer
Экспериментальный серверный мод для Fabric, позволяющий запускать несколько лениво загружаемых экземпляров сервера Minecraft, называемых кластерами, внутри одной JVM. Игроки используют `/cluster travel или/cluster tp `, чтобы перемещаться между хостом и узлами кластера. Узлы запускаются по требованию и останавливаются после того, как пустуют в течение настроенной задержки простоя. Список игроков, счётчик игроков, чат, сообщения о входе/выходе, сообщения о достижениях и обратная связь от команд общие для всех запущенных кластеров.
Режимы Velocity и автономный
Мод может работать без Velocity. В автономном режиме используйте пакеты передачи Minecraft, а для публичного сервера — встроенный шлюз:
{
"enabled": true,
"gatewayEnabled": true,
"transferHost": "play.example.com",
"gatewayBindHost": "0.0.0.0",
"gatewayBindPort": 25565,
"nodeIdleStopSeconds": 300,
"nodes": [
{
"id": "creative",
"worldName": "creativeworld",
"enabled": true
}
]
}При такой настройке шлюз слушает на gatewayBindPort и перенаправляет игроков на хост или их целевой ленивый кластер. Хост-сервер Minecraft должен слушать на другом порту, например 25566, поскольку публичный порт занимает шлюз. Velocity всё ещё можно использовать для расширенного поведения, например для сохранения интерфейса и истории чата при переключениях. Установите сопутствующий плагин Velocity, собранный этим репозиторием, и в velocity.toml достаточно указать только хост-сервер. Когда включён seamlessProxySwitchEnabled, мод Fabric отправляет сопутствующему плагину динамическую регистрацию бэкенда непосредственно перед отправкой обычного плагинного сообщения Connect от Velocity. Это позволяет новым созданным кластерам работать без ручного добавления каждого кластера в velocity.toml. Без сопутствующего плагина Velocity seamlessProxySwitchEnabled всё равно требует, чтобы имя каждого целевого кластера было зарегистрировано в Velocity. Если в Velocity настроен только хост-сервер и вы не хотите использовать сопутствующий плагин, отключите seamlessProxySwitchEnabled и используйте путь через transfer/шлюз.
Файл конфигурации
При первом запуске сервера этот файл создаётся в корне активного мира:
multifabricserver-cluster.jsonСодержимое по умолчанию отключено и безопасно для редактирования:
{
"enabled": false,
"gatewayEnabled": false,
"seamlessProxySwitchEnabled": false,
"proxyHostServerName": "host",
"transferHost": "127.0.0.1",
"gatewayBindHost": "0.0.0.0",
"gatewayBindPort": 25565,
"nodeIdleStopSeconds": 300,
"nodes": [
{
"id": "creative",
"worldName": "creativeworld",
"enabled": true
}
]
}proxyServerName необязателен для каждого узла. Если он опущен, бесшовный режим Velocity использует id узла в качестве имени сервера Velocity.
Сопутствующий плагин Velocity
Соберите и мод Fabric, и сопутствующий плагин Velocity:
./gradlew clean buildУстановка:
build/libs/multifabricserver-mc26.1-1.0.0.jar -> Fabric server mods/
velocity/build/libs/multifabricserver-velocity-1.0.0.jar -> Velocity plugins/Затем оставьте в velocity.toml только хост-бэкенд, например:
[servers]
host = "127.0.0.1:25566"
try = ["host"]Узлы кластера могут опускать proxyServerName; id узла становится динамическим именем сервера Velocity.
Команды
/cluster status/cluster players/cluster reload/cluster enable- `/cluster enable `
/cluster disable- `/cluster disable `
- `/cluster start `
- `/cluster stop `
- `/cluster remove `
/cluster travel <host|node>/cluster tp <host|node>Административные команды требуют уровня командыGAMEMASTERS.
Разработка
Сборка:
./gradlew clean buildТекущий локальный цикл тестирования:
./gradlew clean build && cp build/libs/multifabricserver-mc26.1-1.0.0.jar server-test/mods/ && cp velocity/build/libs/multifabricserver-velocity-1.0.0.jar server-test/velocity/plugins/ && docker compose -f server-test/docker-compose.yml down && docker compose -f server-test/docker-compose.yml upЧастые вопросы
Как установить MultiFabricServer?
Установите Fabric под свою версию Minecraft, скачайте MultiFabricServer под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть MultiFabricServer?
У MultiFabricServer есть сборки для Minecraft 26.1.
Нужен ли MultiFabricServer на сервере?
Ставится только на сервер; игрокам ставить не нужно