Version Connector 1.4

Connect different client versions user to different servers. NOW with Forge support/load balancing!

  1. Phoenix616
    Tested Minecraft Versions:
    • 1.7
    • 1.8
    • 1.9
    • 1.10
    [​IMG] Made in Germany with love (and beer)
    Bungee plugin to connect different Minecraft client versions to different servers when he joins your BungeeCord network. You can even specify the exact protocol version you want to send to a different server as long as your BungeeCord supports those versions.

    It also contains a simple load balancer (add multiple server names to a version separated by a comma like in the config example below) which connects players to the server with the lowest player count and a really basic support to connect Forge clients to a different server. (Only works with 1.8+ Forge clients)

    This plugin will not allow old versions to connect to your network if the BungeeCord proxy does not support the old version! You have to use some other plugin to do that.


    Versions with string representation:
    It will fallback to the version with the closest protocol number below the actuall client's protocol. You can however set the protocol version directly if you want or propose additions to the ProtocolVersion enum.
    • MINECRAFT_1_11 (Protocol version 315)
    • MINECRAFT_1_10 (Protocol version 210)
    • MINECRAFT_1_9_4 (Protocol version 110)
    • MINECRAFT_1_9 (Protocol version 107)
    • MINECRAFT_1_8 (Protocol version 47)
    • MINECRAFT_1_7_6 (Protocol version 5)
    • MINECRAFT_1_7_2 (Protocol version 4)
    Please note: It is not necessary for a version to have a string constant! You can just add the protocol number in the config. (For Example 210 for 1.10)
    Config:
    Code (YAML):
    debug: false
    # Minumum amount of players that need to be online on one server to start balancing
    # new players to the other server (e.g. between lobby_1_8_a & lobby_1_8_b)
    start-balancing
    : 0
    servers
    :
      lobby
    :
        versions
    :
          '34'
    : lobby_prot_34 # Lobby for specific protocol version
          MINECRAFT_1_8
    : lobby_1_8_a, lobby_1_8_b # Lobbies for 1.8
          MINECRAFT_1_9
    : lobby_1_9 # Lobby for 1.9
          UNKNOWN
    : well_we_dont_know # Lobby for an Unknown version (not a fallback if no config for version was found!)
        forge
    :
          MINECRAFT_1_9
    : forge_lobby_1_9
          MINECRAFT_8
    : forge_lobby_1_8_a, forge_lobby_1_8_b
      survival
    :
        versions
    :
          MINECRAFT_1_8
    : survival_1_8
          MINECRAFT_1_10
    : survival_1_10
          UNKNOWN
    : survival_wat
        forge
    :
          MINECRAFT_1_9
    : forge_suvival_1_9
          MINECRAFT_8
    : forge_suvival_1_8_a, forge_suvival_1_8_b
    This config defined two different groups of servers, one for lobbies and one for survival servers.

    Once a player that uses 1.8 connects to your network that has the server lobby_1_9 as the default one configured he will automatically be redirected to connect to the lobby_1_8_a server, but only if the server lobby_1_8_b doesn't have less players online. (By adjusting the start-balancing setting you could only start the balancing once 10 players for example are on the server lobby_1_8_a)

    When the player then tries to switch to the server survival_1_10 (e.g. via a portal that only supports defining a single target server) he will be connected to the server suvival_1_8 instead as it matches his version.​

    Command:

    /versionconnector, aliases: /vercon, /vc, permission: versionconnector.command

    /vc reload versionconnector.command.reload
    Reloads the config

    /vc config versionconnector.command.config
    Shows the current mapping of version to server set in the config

    /vc check versionconnector.command.check
    Shows how many players are connected with which version/protocol

    /vc check <playername> versionconnector.command.check.other
    Shows the version and protocol of a specific player

    /vc check -all versionconnector.command.check.all
    Shows a sorted list of all players and their versions​

    Source:

    The source can be found on this GitHub Repo including direct release jar downloads via the release tab.​

    Dev-Builds:
    Development builds can be found on the Minebench.de Jenkins as usual: http://ci.minebench.de/job/VersionConnector/
    Donations:
    Programming is time intensive and I would really appreciate your support!
    So if you can afford it or make commercially use of this plugin feel free to buy me a beer.
    Patreon with rewards: [​IMG]
    Paypal: https://s.moep.tv/donate
    Ðoge: D7G4Svo7GTNHpuhjwUBj2k7qANnZHwYD4p
    BTC: 12dCmCYHMD14C2QSsZ4YNF65rXuLfchZZ2

    My Resources:
    [​IMG]
    This resource is distributed without any warranty or liability by the author.

Recent Reviews

  1. minecraft7net
    minecraft7net
    5/5,
    Version: 1.3.1
    excellent resource used on my network many thanks for improvements and quick add feature requests :) and please keep this good work
  2. DiscowZombie
    DiscowZombie
    4/5,
    Version: 1.1
    Nice :)

    I go test and I tell you :) I espert my problem is corrected ! The command are convenant ;)