{"id":165639,"date":"2026-06-09T20:55:46","date_gmt":"2026-06-09T17:55:46","guid":{"rendered":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/"},"modified":"2026-06-09T20:55:46","modified_gmt":"2026-06-09T17:55:46","slug":"velocityversionbouncer","status":"publish","type":"mod","link":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/","title":{"rendered":"VelocityVersionBouncer"},"content":{"rendered":"<p># VelocityVersionBouncer<br \/>\n**A simple and fully automated way to connect players to the correct server based on their game version.**<\/p>\n<p>**VelocityVersionBouncer** is a plugin for the Velocity proxy (tested on version 3.4) that automatically selects the most compatible backend server for a connecting player, based on their protocol version (Minecraft game version).<\/p>\n<p>&#8212;<br \/>\n### \ud83d\udd27 How It Works<br \/>\n&#8211; Everytime a client connects to your proxy the plugin will check all the registered servers and compare their protocol versions (game versions).<br \/>\n&#8211; By default, the first server that matches will be selected (you can change that in the config).<br \/>\n&#8211; There is a config.toml file located in the plugins folder (`plugins\/VelocityVersionBouncer\/config.toml`).<br \/>\n&#8211; In the config itself each option is pretty well explained (nevertheless I&#8217;ll include an example config.toml at the end of this README).<br \/>\n&#8211; Optional features include: a fallback functionality as well as comparing versions for server list pings.<br \/>\n### \u2753 Questions you may have:<br \/>\n&#8211; **Is this also triggered when changing servers via `\/server`?** No, the version checking is only triggered when connecting initially (from the multiplayer server list) or when using the fallback functionality.<br \/>\n&#8211; **What happens if no compatible server is found?** The client will simply be disconnected with the according note\/reason.<br \/>\n&#8211; **Does this work with modded minecraft servers?** If you&#8217;re using setups like Ambassador+ProxyCompatibleForge (more information) this plugin will route the client based purely on their protocol version (game version), not their installed mods. _Note: This setup has only been tested with PaperMC and (Neo)Forge servers._<br \/>\n### \ud83d\udce6 Installation &#038; \ud83d\udee0\ufe0f Requirements<br \/>\n1. Download the `.jar` file of the last stable release (here) or build it yourself (the gradle files are included).<br \/>\n2. Put the file in your servers `plugins\/` folder (only the proxy!) and restart the server once to generate the config file.<br \/>\n3. When you&#8217;re finished editing the config restart the proxy once more and everything should be working.<br \/>\n_Note: this plugin may not work properly if you are not running on `Java 21` (or higher) and `Velocity 3.4.0` or above_<br \/>\n4. If you&#8217;re having problems: make sure you&#8217;re not using a snapshot (as these are expected to be unstable and this README is always explaining the latest release anyway), if there&#8217;s still a problem feel free to open an issue on the plugins GitHub repository.<\/p>\n<p>## Example Config:<br \/>\n&#8220;`toml<br \/>\n# This config is used to determine how and if servers are checked for their protocol versions whenever a client tries to connect to a backend server (and optionally if they lost connection)<\/p>\n<p># &#8216;whitelist&#8217; is a string array of server names to check for their protocol version when a client tries to connect.<br \/>\n# leaving this empty is equal to putting all registered servers in<br \/>\n# Example: [&#8220;server1&#8221;, &#8220;server2&#8221;]<br \/>\n# Note: spaces outside the strings will be ignored.<br \/>\nwhitelist = [&#8220;lobby1&#8221;, &#8220;lobby2&#8221;, &#8220;fun-minigame&#8221;, &#8220;devServer&#8221;]<\/p>\n<p># &#8216;blacklist&#8217; is an array of strings to exclude from the temporary list of servers during version comparison.<br \/>\n# first the whitelist is added and then all servers contained in the blacklist are removed from that temporary list.<br \/>\nblacklist = [&#8220;devServer&#8221;]<\/p>\n<p># If enabled this option ensures that joining players will be distributed evenly over all servers<br \/>\n# Options: (case-insensitive)<br \/>\n#   &#8220;FIRST-MATCH&#8221; &#8211; players will be sent to the first matching server<br \/>\n#   &#8220;BALANCED&#8221; &#8211; players will be evenly distributed over all matching servers<br \/>\ndistribution = &#8220;FIRST-MATCH&#8221;<\/p>\n<p># This option if set to &#8216;true&#8217; lets you override verlocity&#8217;s way of determining the server list ping response by using the try-list of the config (&#8216;ping-passthrough&#8217;)<br \/>\n# instead when a client sends a server ping it will use the same algorithm to determine a matching server as in the joining\/fallback process<br \/>\n# be carefully when also using clientbrands in the explicit routings as these can&#8217;t be used to match server pings<br \/>\nserver-list-ping = false<br \/>\n# This option determines wether to use velocities ping-passthrough when no matching server was found for the ping response<br \/>\n# If set to true, things like the description will probably show but the client shows that the version doesn&#8217;t match,<br \/>\n# otherwise the client will display &#8220;Can&#8217;t connect to server&#8221;<br \/>\n# This option will also be ignored if &#8216;server-list-ping&#8217; is set to false<br \/>\ndefault-to-ping-passthrough = true<\/p>\n<p># This defines how often all backend servers get pinged to refresh infos in the plugins ping cache<br \/>\n# in seconds<br \/>\nping-intervall = 300<\/p>\n<p># If enabled this option ensures that whenever a client is kicked from a server (whether during login, via \/kick, or for another reason),<br \/>\n# they will be automatically redirected (bounced) to another server instead of being disconnected. (obviously if a client disconnects explicitly via leaving the server they will not be redirected)<br \/>\nenable-fallback-bouncing = true<br \/>\n# If set to true, the server the client was kicked from will be temporarily excluded from fallback options,<br \/>\n# preventing the client from being sent back there during fallback-bouncing.<br \/>\nexclude-previous-server = false<br \/>\n# When there is a valid server name in &#8216;explicit-fallback-server&#8217; the plugin won&#8217;t search for a new server and instead only tries the specified server.<br \/>\n# Leave this empty, if you&#8217;d like to disable this option (also this is disabled when enable-fallback-bouncing is set to false).<br \/>\nexplicit-fallback-server = &#8220;lobby&#8221;<\/p>\n<p># &#8212;&#8212; explicit routing &#8212;&#8212;<br \/>\n# Syntax<br \/>\n#   v1_x_x &#8211; game version<br \/>\n#   p000 &#8211; protocol version (Protocol Versions for every release\/snapshot can be found here: https:\/\/minecraft.wiki\/w\/Minecraft_Wiki:Projects\/wiki.vg_merge\/Protocol_version_numbers)<br \/>\n#   cFORGE &#8211; Client brand (for example: vanilla, forge, fabric, Geyser (for player joining through GeyserMC), badlion, etc.<br \/>\n# either a game version (v) or a protocol version (p) is necessary but client brands (c) are completely optional<br \/>\n# when no client brand is defined the routing just takes every client joining with the defined game\/protocol version<br \/>\n[explicit-routing]<br \/>\n# Example: v1_21_8cFORGE = &#8220;lobby-1&#8221;<br \/>\n# Example: p123 = &#8220;lobby-2&#8221;<br \/>\n# Example: cGeyser = &#8220;GeyserMC-server&#8221;<br \/>\n&#8220;`<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This is a plugin for the Velocity proxy, built for version 3.4.0. It enables automatic redirection upon client connection, routing users to the server that matches their game version.<\/p>\n","protected":false},"featured_media":0,"template":"","meta":{"_minecraft_slug":"velocityversionbouncer","_minecraft_project_id":"X5ETMik1","_minecraft_author":"Hallo5000","_minecraft_license":"GPL-3.0-only","_minecraft_downloads":100,"_minecraft_follows":1,"_minecraft_client_side":"unsupported","_minecraft_server_side":"required","_minecraft_storage_type":"zip","_minecraft_archive_name":"velocityversionbouncer.zip","_minecraft_size_bytes":16146086,"_minecraft_version_count":10,"_minecraft_updated_at":"2026-05-15T19:41:07.665637Z","_minecraft_date_created":"2025-09-05T23:12:10.746393Z","_minecraft_date_modified":"2026-02-21T13:52:13.902178Z","_minecraft_project_url":"https:\/\/modrinth.com\/mod\/velocityversionbouncer","_minecraft_icon_attachment_id":0,"_minecraft_imported_at":"2026-06-09T17:55:46+00:00","_minecraft_import_hash":"071ff4517b1e949102d6cdcf5bbe1096","_minecraft_versions":"","_minecraft_links":"","_minecraft_gallery":"","_minecraft_api_metadata":""},"mod_category":[126,90,985],"mod_loader":[986],"minecraft_version":[379,382,385,438,446,449,110,111,112,113,114,115,116,117,118,119,120,46,47,48,49,50,51,52,53,54,55,56,57,58,59,36,60,93,94,101,102,62,37,40,41,73,74,38,78,79,80,81,82],"class_list":["post-165639","mod","type-mod","status-publish","hentry","mod_category-management","mod_category-optimization","mod_category-velocity","mod_loader-velocity","minecraft_version-1-12","minecraft_version-1-12-1","minecraft_version-1-12-2","minecraft_version-1-13","minecraft_version-1-13-1","minecraft_version-1-13-2","minecraft_version-1-14","minecraft_version-1-14-1","minecraft_version-1-14-2","minecraft_version-1-14-3","minecraft_version-1-14-4","minecraft_version-1-15","minecraft_version-1-15-1","minecraft_version-1-15-2","minecraft_version-1-16","minecraft_version-1-16-1","minecraft_version-1-16-2","minecraft_version-1-16-3","minecraft_version-1-16-4","minecraft_version-1-16-5","minecraft_version-1-17","minecraft_version-1-17-1","minecraft_version-1-18","minecraft_version-1-18-1","minecraft_version-1-18-2","minecraft_version-1-19","minecraft_version-1-19-1","minecraft_version-1-19-2","minecraft_version-1-19-3","minecraft_version-1-19-4","minecraft_version-1-20","minecraft_version-1-20-1","minecraft_version-1-20-2","minecraft_version-1-20-3","minecraft_version-1-20-4","minecraft_version-1-20-5","minecraft_version-1-20-6","minecraft_version-1-21","minecraft_version-1-21-1","minecraft_version-1-21-10","minecraft_version-1-21-11","minecraft_version-1-21-2","minecraft_version-1-21-3","minecraft_version-1-21-4","minecraft_version-1-21-5","minecraft_version-1-21-6","minecraft_version-1-21-7","minecraft_version-1-21-8","minecraft_version-1-21-9"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.6 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>VelocityVersionBouncer - Minecraft<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"VelocityVersionBouncer - Minecraft\" \/>\n<meta property=\"og:description\" content=\"This is a plugin for the Velocity proxy, built for version 3.4.0. It enables automatic redirection upon client connection, routing users to the server that matches their game version.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/\" \/>\n<meta property=\"og:site_name\" content=\"Minecraft\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/velocityversionbouncer\\\/\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/velocityversionbouncer\\\/\",\"name\":\"VelocityVersionBouncer - Minecraft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\"},\"datePublished\":\"2026-06-09T17:55:46+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/velocityversionbouncer\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/velocityversionbouncer\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/velocityversionbouncer\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Mods\",\"item\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/mods\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"VelocityVersionBouncer\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/#website\",\"url\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/\",\"name\":\"Minecraft\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/vpesports.com\\\/minecraft\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"VelocityVersionBouncer - Minecraft","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/","og_locale":"en_US","og_type":"article","og_title":"VelocityVersionBouncer - Minecraft","og_description":"This is a plugin for the Velocity proxy, built for version 3.4.0. It enables automatic redirection upon client connection, routing users to the server that matches their game version.","og_url":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/","og_site_name":"Minecraft","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/","url":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/","name":"VelocityVersionBouncer - Minecraft","isPartOf":{"@id":"https:\/\/vpesports.com\/minecraft\/#website"},"datePublished":"2026-06-09T17:55:46+00:00","breadcrumb":{"@id":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/vpesports.com\/minecraft\/mods\/velocityversionbouncer\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/vpesports.com\/minecraft\/"},{"@type":"ListItem","position":2,"name":"Mods","item":"https:\/\/vpesports.com\/minecraft\/mods\/"},{"@type":"ListItem","position":3,"name":"VelocityVersionBouncer"}]},{"@type":"WebSite","@id":"https:\/\/vpesports.com\/minecraft\/#website","url":"https:\/\/vpesports.com\/minecraft\/","name":"Minecraft","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/vpesports.com\/minecraft\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"}]}},"_links":{"self":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod\/165639","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod"}],"about":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/types\/mod"}],"wp:attachment":[{"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/media?parent=165639"}],"wp:term":[{"taxonomy":"mod_category","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_category?post=165639"},{"taxonomy":"mod_loader","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/mod_loader?post=165639"},{"taxonomy":"minecraft_version","embeddable":true,"href":"https:\/\/vpesports.com\/minecraft\/wp-json\/wp\/v2\/minecraft_version?post=165639"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}