MLoadBalancer - Secure transfer and load balancing /  BungeeCord alternative

MLoadBalancer - Secure transfer and load balancing / BungeeCord alternative

A secure (signed) load balancer system for Hytale servers with JWT authentication.

144.0 загрузок
Обновлён 9 дней назад

Описание

MLoadBalancer

Система балансировки нагрузки для серверов Hytale с аутентификацией JWT. Поддерживает два режима работы: лоббист (перенаправляет игроков) и цель (перенаправление игроков).

Альтернатива BungeeCord для Hytale

MLoadBalancer является родной альтернативой BungeeCord (прокси Minecraft), специально разработанной для сказка.

Зачем использовать MLoadBalancer вместо BungeeCord?

  • Родом из HytaleСоздан специально для API Hytale, внешний прокси не нужен
  • Интегрированная аутентификацияJWT с подписью HMAC, встроенной в саму игру
  • проще: Нет необходимости запускать отдельный прокси-сервер - работает как плагин внутри сервера
  • Лучшее исполнениеПеренаправление Native Hytale, без посредников
  • Легкая конфигурация: Все в одном файле JSON5 без сложной настройки сети

Быстрое сравнение:

  • BungeeCordВнешний прокси, который находится между клиентом и сервером (архитектура прокси)
  • MLoadBalancerНативный плагин, который перенаправляет игроков напрямую (архитектура балансировщика нагрузки)

Если вы из Minecraft и знаете BungeeCord, MLoadBalancer служит той же цели, но более интегрированным и родным способом для Hytale!

Что это такое?

MLoadBalancer позволяет один лобби-сервер автоматически распределяет игроков между Несколько игровых серверов. Это как «входные ворота», которые направляют игроков в разные игровые комнаты.

Как это работает:

  1. Игрок подключается к лоббист сервер
  2. Лобби создает безопасный токен (JWT) для игрока
  3. лобби перенаправлять Игрок в одной из цель серверы
  4. Цель Сервер проверяет токен и позволяет игроку присоединиться
  5. Прямые соединения с целями являются заблокированный (безопасность)

Особенности

Плавная многосерверная маршрутизация . без внешнего прокси-сервера. Безопасная передача на основе JWT между лобби и целевыми серверами. Горячая перезаряжаемая конфигурация . для изменений нулевого времени простоя. Поддерживает как автоматическое, так и перенаправление на основе команд. Дополнительные командные сервера для более быстрого UX .. Интегрируется с плагинами через API ..

MLoadBalancer предназначен для реальных серверных сред, где игроки должны беспрепятственно перемещаться между экземплярами, не замечая инфраструктуру, стоящую за ним. Плагин поддерживает как перенаправление лобби, так и валидацию цели с помощью безопасности JWT. Вместо того, чтобы требовать прокси-сервера, такого как BungeeCord, все происходит внутри Hytale.

Ключевые возможности включают балансировку нагрузки, безопасную передачу токенов, необязательную маршрутизацию на основе команд, ярлыки на сервере, доступ с учетом разрешений (в режиме COMMANDS) и горячую перезагружаемую конфигурацию, чтобы операторы могли вносить изменения без перезагрузки сети.

Режимы диспетчеризации

Игроки могут быть перенаправлены автоматически (LOAD_BALANCER) или выбрать пункт назначения вручную (COMMANDS), в зависимости от сетевого дизайна и потока игроков. Автоматическое перенаправление идеально подходит, когда лобби действует исключительно как маршрутизатор входа, в то время как режим COMMANDS больше подходит для хабов, где игрокам нужен выбор, многоуровневый доступ или постоянное социальное пространство.

Пользовательские команды Per-Server

При использовании режима команд серверы могут необязательно определять пользователь Блок. Это позволяет выполнять такие задачи, как /выживание или vipделает перенаправление более быстрым и интуитивно понятным для игроков, которым в противном случае может потребоваться печатать /Перенаправленная выживаемость .. Пользовательские команды сосуществуют с глобальной командой перенаправления, и если глобальная команда не определена, она просто не будет зарегистрирована.

Разрешения

Проверки разрешений применяются только в режиме COMMANDS и позволяют контролировать доступ на основе ролей, таких как VIP-серверы, бэкэнды только для персонала или многоуровневый опыт. Когда разрешение установлено нулевойСервер открыт для всех игроков. Эта модель отражает обычные сети Minecraft BungeeCord, оставаясь родной для Hytale.

Будущие улучшения

Будущая работа включает в себя поддержку разрешений в режиме LOAD_BALANCER, взвешенную балансировку .️, подсчет игроков ., проверки здоровья . и расширенные параметры UX .. перенаправление на основе графического интерфейса .️ и перенаправление на основе мирового портала . также запланированы, чтобы игроки могли выбирать серверы через интерактивные элементы, а не только через COMMANDS. Эти функции UX будут основаны на существующем API и аутентификации.

Интеграция API плагина

MLoadBalancer предоставляет API интеграции, который позволяет внешним плагинам участвовать в маршрутизации сервера или прикреплять пользовательские данные полезной нагрузки к токену JWT .. Это позволяет перенаправлять задания, ранги игроков, состояние очереди или другой игровой контекст из лобби на целевой сервер без изобретения новых сетевых протоколов.

Целевые серверы могут позже считывать пересылаемые данные и действовать на них, обеспечивая более богатые кросс-серверные потоки, такие как автоматическое сватовство, игры в очереди или мини-игры между серверами.

конфигурация

Конфигурация для MLoadBalancer живет в:

  • config/com.machina/mloadbalancer/config.json5 (предпочтительнее при написании)
  • запасной вариант: mods/com.machina/mloadbalancer/config.json5 (когда основной путь не может быть прописан)

Файлы конфигурации используют JSON5, позволяющие запятые и комментарии.

Кроме того, локализованные/переводимые сообщения, обращенные к игроку, живут в:

  • config/com.machina/mloadbalancer/translation.json5
  • запасной вариант: mods/com.machina/mloadbalancer/translation.json5

Это делает конфигурационные пути согласованными во всех плагинах Machina. JSON5, позволяющие запятые и комментарии.

Основные настройки

  • включенный: мастер-переключатель для включения балансира нагрузки
  • роль: лоббист или цельОпределение поведения сервера
  • jwt.secret: общий секрет HMAC для подписания / проверки токенов
  • jwt.expirationПротоколы: окно действительности для реферальных токенов

Настройки лобби

  • отправка Режим: LOAD_BALANCER (автоматический) или Команды (выбранный игрок)
  • Предотвратить прямые контактыИзбегайте игроков, находящихся в лобби
  • loadBalancer.strategy: круглый робин или случайный
  • Серверы[ ]Список целевых серверов с хостом, портом, включенным и разрешением

Команды Режим

  • имя командыГлобальная команда перенаправления (например). перенаправить)
  • Серверы.customCommand.name: факультативная сокращенная команда per-server
  • Серверы[править править код]Ограничить доступ при входе Команды режим

Глобальная команда является необязательной; если она отсутствует, она не регистрируется. Команды Per-Server остаются доступными.

Настройки цели

  • Роль = цельСервер принимает только JWT-аутентифицированные лобби

Поддержка развития

Вы можете поддержать разработку здесь , чтобы помочь подпитывать будущие обновления и функции:

https://machinastudios.net/support-us

сообщество

Вы можете поддержать разработку здесь , чтобы помочь подпитывать будущие обновления и функции:

https://machinastudios.net/support-us

сообщество

предрасположенность Присоединяйтесь к нашему сообществу!

Получите помощь, поделитесь идеями и свяжитесь с другими разработчиками:

  • Поддержка и устранение неполадок
  • Предложения и отзывы
  • Сообщество и сотрудничество

😉 Присоединяйтесь к нашему серверу Discord: https://discord.gg/QAFrzj48EN

Показать оригинальное описание (English)

MLoadBalancer

A load balancer system for Hytale servers with JWT authentication. Supports two operation modes: lobby (redirects players) and target (receives redirected players).

BungeeCord Alternative for Hytale

MLoadBalancer is a native alternative to BungeeCord (Minecraft proxies) specifically developed for Hytale.

Why use MLoadBalancer instead of BungeeCord?

  • Native to Hytale: Built specifically for Hytale's API, no external proxy needed
  • Integrated Authentication: JWT with HMAC signature, security built into the game itself
  • Simpler: No need to run a separate proxy server - works as a plugin inside the server
  • Better Performance: Native Hytale redirection, no intermediary
  • Easy Configuration: Everything in a single JSON5 file, no complex network setup

Quick comparison:

  • BungeeCord: External proxy that sits between client and servers (proxy architecture)
  • MLoadBalancer: Native plugin that redirects players directly (load balancer architecture)

If you're coming from Minecraft and know BungeeCord, MLoadBalancer serves the same purpose, but in a more integrated and native way for Hytale!

What is this?

MLoadBalancer allows you to have one lobby server that automatically distributes players to multiple game servers. It's like an "entry gate" that directs players to different game rooms.

How it works:

  1. Player connects to the lobby server
  2. Lobby creates a secure token (JWT) for the player
  3. Lobby redirects the player to one of the target servers
  4. Target server validates the token and allows the player to join
  5. Direct connections to targets are blocked (security)

Features

Smooth multi-server player routing 🚀 with no external proxy required. Secure JWT-based handoff between lobby and target servers 🔐. Hot-reloadable configuration 🎛 for zero-downtime changes. Supports both automatic and COMMANDS-based redirection 📡. Optional per-server COMMANDS for faster UX 🔌. Integrates with plugins via API 🧩.

MLoadBalancer is designed for real server environments where players should seamlessly move between instances without noticing the infrastructure behind it. The plugin supports both lobby redirection and target validation with JWT security. Instead of requiring a proxy like BungeeCord, everything happens natively inside Hytale.

Key capabilities include load balancing, secure token handoff, optional command-based routing, per-server shortcuts, permission-aware access (in COMMANDS mode), and a hot-reloadable configuration so operators can make changes without rebooting the network.

Dispatch Modes

Players can be redirected automatically (LOAD_BALANCER) or choose their destination manually (COMMANDS), depending on network design and player flow 🎮. Automatic redirection is ideal when the lobby acts purely as an entry router, while COMMANDS mode is more suitable for hubs where players need choice, tiered access or a persistent social space.

Per-Server Custom Commands

When using COMMANDS mode, servers may optionally define a customCommand block. This enables shortcut COMMANDS such as /survival or /vip, making redirection faster and more intuitive for players who might otherwise need to type /redirect survival 🧭. Custom commands coexist with the global redirect command, and if a global command is not defined, it simply will not be registered.

Permissions

Permission checks apply only in COMMANDS mode and allow role‑based access control such as VIP‑only servers, staff‑only backends or tiered experiences 🔑. When permission is set to null, the server is open to all players. This model mirrors common Minecraft BungeeCord networks while remaining native to Hytale.

Future Enhancements

Future work includes support for permissions in LOAD_BALANCER mode, weighted balancing ⚖️, player counts 📊, health checks 🩺, and expanded UX options 🎨. GUI-based redirection 🖱️ and world portal-based redirection 🌀 are also planned so players can select servers through interactive elements rather than only via COMMANDS. These UX features will build on the existing API and authentication pipeline.

Plugin API Integration

MLoadBalancer exposes an integration API that allows external plugins to participate in server routing or attach custom payload data to the JWT token 📦. This makes it possible to forward matchmaking assignments, player ranks, queue state or other gameplay context from the lobby to the target server without inventing new network protocols.

Target servers can later read the forwarded data and act on it, enabling richer cross‑server flows such as automated matchmaking, queued games or inter‑server minigames 🧩.

Configuration

Configuration for MLoadBalancer lives in:

  • config/com.machina/mloadbalancer/config.json5 (preferred when writable)
  • fallback: mods/com.machina/mloadbalancer/config.json5 (when the primary path cannot be written)

Configuration files use JSON5, allowing trailing commas and comments.

In addition, localized/translatable player-facing messages live in:

  • config/com.machina/mloadbalancer/translation.json5
  • fallback: mods/com.machina/mloadbalancer/translation.json5

This makes configuration paths consistent across all Machina plugins. JSON5, allowing trailing commas and comments.

Core Settings

  • enabled: master switch for enabling the load balancer
  • role: lobby or target, defining the server's behavior
  • jwt.secret: shared HMAC secret for token signing/validation
  • jwt.expirationMinutes: validity window for referral tokens

Lobby Settings

  • dispatchMode: LOAD_BALANCER (automatic) or COMMANDS (player‑selected)
  • lobby.preventDirectConnections: avoid players staying in lobby
  • loadBalancer.strategy: round-robin or random
  • servers[]: list of target servers with host, port, enabled and permission

COMMANDS Mode

  • command.name: global redirect command (e.g. redirect)
  • servers[].customCommand.name: optional per‑server shorthand command
  • servers[].permission: restrict access when in COMMANDS mode

A global command is optional; if absent, it is not registered. Per‑server commands remain available.

Target Settings

  • role = target: server accepts only JWT‑authenticated lobby referrals

Support Development

You can support development here 💖 to help fuel future updates and features:

https://machinastudios.net/support-us

Community

You can support development here 💖 to help fuel future updates and features:

https://machinastudios.net/support-us

Community

💬 Join our Discord community!

Get help, share ideas, and connect with other developers 🧑‍💻:

  • 🆘 Support and troubleshooting
  • 💡 Suggestions and feedback
  • 🤝 Community and collaboration

👉 Join our Discord Server: https://discord.gg/QAFrzj48EN

Последние версии

mloadbalancer-1.0.3.jar

Early Access 25.01.2026 2.1 МБ
Скачать

mloadbalancer-1.0.2.jar

Early Access 25.01.2026 2.1 МБ
Скачать

mloadbalancer-1.0.1.jar

Early Access 19.01.2026 2.0 МБ
Скачать

mloadbalancer-1.0.0.jar

Early Access 17.01.2026 2.4 МБ
Скачать