Перейти к содержимому
Mineforgian

Domain Router

🌐 Route players to different Minecraft servers based on their domain/IP. Now with fully customizable proxy kick messages, lightweight performance, and simple configuration for server networks.

Загрузки
89
Подписчики
1
Обновлён
3 июня 2026 г.
Лицензия
All-Rights-Reserved

Опубликован 8 мая 2026 г.

🌐 DomainRouter

Built with Java 21 Supported Velocity Supported BungeeCord Available on Modrinth Available on Hangar

A modern, high-performance proxy routing and network management plugin for Velocity. DomainRouter allows you to seamlessly route incoming players to different backend servers based on the specific domain or IP address they use to connect, while giving you complete control over your network's first impression. Perfect for server networks, lobby systems, or multi-brand Minecraft setups.


✨ Features (Major Update v1.3)

  • Domain-Based Routing – Direct players instantly to specific backend servers (e.g., Survival, Lobby, PvP) depending on their connection address.
  • Advanced Maintenance Mode – Shut down public access to your network with a single switch. Features a customizable protocol text, custom multi-line kick messages, and a player whitelist/bypass system via nicknames or UUIDs.
  • Smart Fallback & Multi-Server Redirects – Prevent players from being disconnected from the entire proxy! If a sub-server crashes or shuts down, DomainRouter automatically routes them to a designated backup server.
  • Per-Domain Dynamic MOTD & Icons – Deliver distinct server list descriptions and custom .png icons/favicons based on the domain used.
  • MiniMessage & Legacy Support – Express your brand beautifully. Full support for modern RGB gradients, HEX color codes, and legacy formatting (&) across MOTDs and kick screens.
  • Isolated Player Counters – Configure specific domains to count and display players only from selected backend instances rather than displaying the total proxy count.
  • Automated Localization System – The plugin now automatically generates complete local language template files (en.yml and cz.yml) on its very first launch.

📦 Example Routing

  • ksmpexposed.chleb.top ➔ Survival server
  • ksmpexposed.chleb.top ➔ BedWars server
  • ksmpexposed.chleb.top ➔ Event server

⚙️ Configuration

Click to view automatically generated config.yml (v7)
# ================================================================= #
#                     DOMAINROUTER CONFIGURATION                     #
# ================================================================= #

lang: "en"
debug: true

# Default server where the proxy sends players if the domain has no specific route
default-fallback-server: "lobby"

# --- ROUTES ---
# Mapping of domains used by players to specific starting servers
routes:
  mc.example.com: "lobby"
  survival.example.com: "survival"
  pvp.example.com: "pvp"

# --- MAINTENANCE MODE ---
maintenance:
  enabled: false             # true = enables global proxy maintenance / false = disabled
  protocol-text: "§cMaintenance"
  
  # Custom kick message for players trying to join during maintenance
  kick-message: "&8[&4Maintenance&8]\n\n&cThe entire network is currently undergoing scheduled maintenance!\n&7Check our Discord for more info.\n\n&6Updating network to version 1.3..."
  
  # Players with a bypass to join during active maintenance (Nick or UUID)
  allowed-players:
    - "KuklincYT"

  # MOTD shown in the server list when maintenance is active
  motd:
    - "<gradient:#8a2be2:#da70d6><bold>EXAMPLE NETWORK</bold></gradient> <gray>•</gray> &cMAINTENANCE\n&7We are currently performing a massive proxy update!"

# --- DYNAMIC MOTD PER DOMAIN ---
domains:
  mc.example.com:
    icon: "server-icon.png"
    max-players: 1000
    # Sums online players only from defined servers (if missing, sums the whole proxy)
    player-counting-servers:
      - "lobby"
      - "survival"
    # List of MOTDs for this domain (plugin picks randomly if multiple exist)
    motds:
      - "<gradient:#8a2be2:#da70d6><bold>Example Network</bold></gradient> <gray>•</gray> <white>1.19 - 1.21</white>\n&aThe new Survival season has started!"
      - "<gradient:#8a2be2:#da70d6><bold>Example Network</bold></gradient> <gray>•</gray> <white>News</white>\n&eJoin and claim your rewards in the lobby!"

  pvp.example.com:
    icon: "pvp-icon.png"
    max-players: 150
    player-counting-servers:
      - "pvp"
    motds:
      - "&c&lPVP ARENA\n&7Come test your combat skills!"

  # Default MOTD if someone connects via an unconfigured subdomain
  default:
    icon: "default.png"
    max-players: 500
    motds:
      - "&8[&dExample Network&8]\n&fYou have connected via a backup domain."

# --- FALLBACKS AND KICKS ---
# When a server on the left goes offline, players are sent to the right (instead of being kicked from proxy)
server-fallbacks:
  survival: "lobby"
  skyblock: "lobby"

# List of servers from which players are completely kicked off the proxy when they shut down
kick-servers:
  - "pvp"
  - "minigames"

# Custom message for kick / disconnect from a server on the fly
kick-message: "&8[&dExample Network&8]\n\n&aServer &d%server% &ais currently offline.\n&8>> &aMoving you to the main lobby... &8<<"

# --- CONFIG METADATA ---
config-version: 7
plugin-version: "1.3"

🌍 Extra Translations & Custom Languages

To ensure 100% completeness and professional quality, you can find and download additional language files directly from our repository workspace:

Download Official Extra Translations

How to use them:

  1. Download the language file you need (e.g., de.yml, es.yml) from the link above.

  2. Upload the file into your proxy folder at: plugins/DomainRouter/languages/

  3. Update the lang option in your main config.yml to match the file name (e.g., lang: de).

  4. Run /domainrouter reload to apply the changes.

💡 NOTE: You can fully modify and tweak any downloaded language file to better suit your network's style!


Perfect for Minecraft networks that want professional server routing without complicated setup.

🛠️ The plugin is actively being developed and will receive new features and improvements over time.

bstat

Ченджлог

1.3.1-beta-bungeeБета26.1, 26.1.1, 26.1.2 · 3 июня 2026 г.

🟨 DomainRouter v1.3.1-beta (BungeeCord)

# 🚀 DomainRouter v1.3.1-beta (BungeeCord)

Bringing full parity with the Velocity version! This update introduces high-performance data analytics and stability fixes tailored specifically for BungeeCord proxy networks.

### 📊 New Features & Analytics
* **Asynchronous MySQL Logging:** Tracks every successful network entry via the `PostLoginEvent`. Database operations run completely on background threads using the BungeeCord scheduler to eliminate proxy stuttering.
* **Platform Metrics:** Logs player UUIDs, usernames, IP addresses, exact virtual hosts used, and the connection platform (**JAVA** / **BEDROCK**). Perfect for rendering custom web dashboard statistics!
* **Robust Tab-Completer:** Implemented native `TabExecutor` support for the `/domainrouter` command with live permission checks.

### 🔧 Bug Fixes & Adjustments
* **Fixed Favicon Crash:** Resolved the `no suitable method found for create(java.io.File)` compilation and runtime issue. The plugin now correctly decodes server icons through `ImageIO` into `BufferedImage` memory structures for seamless BungeeCord API compatibility.
* Standardized `bungee.yml` hooks for clean plugin initialization.

### ⚙️ Configuration
The `config.yml` structure remains 100% cross-compatible with the Velocity version. Just drop the new configuration block in, hook it up to your MySQL server, and let the background analytics do the magic!
1.3.1-betaБета26.1, 26.1.1, 26.1.2 · 3 июня 2026 г.

🚀 DomainRouter v1.3.1-beta (Velocity)

This update focuses on long-term data tracking and performance optimization. We have introduced a completely asynchronous logging system to gather player metrics without ever locking the proxy's main thread.

📊 New Features & Analytics

  • Asynchronous MySQL Integration: Added automated backend logging on successful player connection. The plugin automatically initializes a domainrouter_logins table upon startup if it does not already exist.
  • Smart Device & Platform Detection: Automatically identifies and stores whether a player connected via JAVA or BEDROCK (utilizing standard GeyserMC prefix detection) for precise network analytics.
  • Asynchronous Scheduler Ops: Network connectivity and database queries are offloaded completely to the Velocity scheduler, ensuring a 0ms impact on the main proxy thread performance.

🛡️ Core Improvements & Config Changes

  • Expanded config.yml with a dedicated mysql: configuration block (supports host, port, database, credentials, and SSL toggles).
  • Included full Tab-Completer support for the /domainrouter command.
  • Minor optimization in virtual host parsing and domain fallback routines.

⚙️ How to use MySQL Analytics

Simply update your config.yml with your database credentials:

mysql:
  enabled: true
  host: "localhost"
  port: 3306
  database: "minecraft_proxy"
  username: "root"
  password: "your_secure_password"
  use-ssl: false
1.3-BungeeБета26.1, 26.1.1, 26.1.2 · 31 мая 2026 г.

Version 1.3-Bungee (Beta)

Major update: Added support for BungeeCord!

I am excited to announce that DomainRouter now officially supports the BungeeCord proxy! This version brings the same powerful domain-based routing, maintenance mode, and dynamic MOTD features you already know from the Velocity version to the BungeeCord ecosystem.

🚀 What's new:

  • BungeeCord Support: DomainRouter is now available as a native BungeeCord plugin.
  • Tested on FlameCord: This version has been successfully tested and confirmed to work on BungeeCord forks like FlameCord.
  • Feature Parity: All core features (dynamic routing, fallbacks, kick management, and maintenance mode) work exactly as in the Velocity version.
  • Performance: Optimized for BungeeCord event handling.

🛠 Notes:

  • This is a Beta release. Please report any bugs or issues on the GitHub repository.
  • The configuration structure remains compatible with existing setups.
  • Make sure to use the specific .jar file for your proxy platform (BungeeCord/FlameCord vs. Velocity).

Thank you for using DomainRouter!

1.3Релиз26.1, 26.1.1, 26.1.2 · 26 мая 2026 г.

🚀 Major Update 1.3 - Maintenance, MiniMessage & Smart Fallbacks!

We are thrilled to announce Version 1.3, our biggest and most feature-rich update yet! This release completely overhauls how you manage your proxy, adding highly requested network features and stunning visual upgrades.

🌟 What's New in v1.3:

  • Advanced Maintenance Mode: You can now lock down the entire proxy with a single config toggle! Includes a custom maintenance MOTD, specific protocol version text (e.g., "Under Maintenance"), and a whitelist bypass system so your staff (via Nickname or UUID) can still join.
  • Full MiniMessage Support: Say goodbye to boring texts! You can now use modern MiniMessage tags (<gradient:#8a2be2:#da70d6>, <bold>, <red>) alongside legacy color codes (&) in all your MOTDs and kick messages.
  • Smart Server Fallbacks: If a backend server crashes or restarts, players are no longer kicked from the network! DomainRouter will seamlessly redirect them to a designated fallback server (like your main lobby).
  • Isolated Player Counters: Domains can now be configured to display online player counts only from specific backend servers, rather than the entire proxy total.
  • Automated Localization System: The plugin now features a brand new languages/ folder. It automatically generates native en.yml and cz.yml translation files on startup, making custom messages and full proxy translations easier than ever.

⚠️ Important Update Notes:

  • Config Version 7: Because the configuration structure has massively changed, we highly recommend deleting your old plugins/DomainRouter folder and letting the plugin generate the fresh v1.3 config and language files.
  • Ensure your proxy is running a recent Velocity version to fully utilize the new MiniMessage components.

Enjoy the new features, and thank you for using DomainRouter! 💚

1.3.b-3Бета26.1, 26.1.1, 26.1.2 · 26 мая 2026 г.

Mini Update, fixing errors.

1.3.b-2Бета26.1, 26.1.1, 26.1.2 · 26 мая 2026 г.

New function MOTD, just beta and my idea. Still working on improvements for release 1.3

1.3.b-1Бета26.1, 26.1.1, 26.1.2 · 26 мая 2026 г.

🚀 What's new in version 1.3.b-1?

⚠️ Warning: This version is still in beta and may generate errors.

  • New Feature: Specific Server Fallbacks!
  • Added a brand new fallback: section to config.yml.
  • You can now set up custom redirection rules for players if a specific server crashes or is shut down.
  • How it works: Instead of the player being kicked from the entire proxy or moved to a global lobby, you can configure routes like server01 -> server-01lobby. The player seamlessly transitions to your designated backup server.
  • All previous features (custom kick messages, domain routing) remain fully functional.

💡 Note for existing users: To use this feature, please add the fallback: section to your existing config.yml or let the configuration file regenerate.

1.2Релиз26.1, 26.1.1, 26.1.2 · 23 мая 2026 г.

🚀 DomainRouter v1.2

This update brings highly requested features, configuration improvements, and an upgrade to the config structure to version 5!

🌟 New Features

  • Custom Proxy Kick Message – You can now customize the kick message directly in the main config.yml. It fully supports Minecraft color codes (&) and newlines (\n) for perfect formatting.
  • Smart Quote & Comment Parsing – Upgraded the internal config parser. It now safely handles special characters (like # or colors) inside quotes without cutting off your messages.

⚙️ Configuration Changes

  • Config Version Upgraded to 5 – The structure has been optimized.
  • English by Default – Newly generated configurations now default to English (lang: en) for better global compatibility.

🔧 Fixes & Refactoring

  • Fixed a bug where a # symbol inside custom text would accidentally trigger a YAML comment break.
  • Cleaned up memory management during proxy reload (/domainrouter reload).

Thank you for using DomainRouter! If you encounter any bugs, please report them in the issues tab.

Комментарии

Загружаем…