ViaRestricted — Client Version Control for Minecraft Servers

Understanding ViaRestricted: The Smart Way to Control Minecraft Client Versions Running a Minecraft server often means juggling players on different game versions. While ViaVersion does a fantastic job translating protocols so that 1.8 clients can join a 1.21 server, sometimes you want the opposi...

Download ViaRestricted for Minecraft 1.20.6

Original name: ViaRestricted

Minecraft: 1.20.6

FileVersionLoaderSize
ViaRestricted-1.0.0.jar1.20.6—4 КБDownload

Understanding ViaRestricted: The Smart Way to Control Minecraft Client Versions

Running a Minecraft server often means juggling players on different game versions. While ViaVersion does a fantastic job translating protocols so that 1.8 clients can join a 1.21 server, sometimes you want the opposite: strict control over which versions are allowed. That is exactly where ViaRestricted steps in. This lightweight plugin works hand-in-hand with ViaVersion to give server owners a simple yet powerful gatekeeper, ensuring only approved Minecraft protocol versions can connect.

How ViaRestricted Works Behind the Scenes

At its core, ViaRestricted is a version enforcement layer. It does not handle protocol translation itself; instead, it relies on ViaVersion to accurately detect the client’s protocol number. Once the protocol is identified, the plugin checks it against a whitelist you define in the configuration. If the number is not on the list, the player is immediately kicked with a customizable, colored message. This approach eliminates guesswork because protocol numbers are unambiguous—unlike version names that can overlap (for example, 1.20.2 and 1.20.3 share the same protocol).

Key Features That Make Server Management Easier

  • Strict Version Control: Only players whose Minecraft protocol is explicitly listed in the configuration can join. No exceptions, no workarounds.
  • Reliable Detection via ViaVersion: The plugin taps into ViaVersion’s internal mapping, so even when multiple game versions share a single protocol, detection remains accurate.
  • Automatic Kick with Custom Messages: Unsupported clients are disconnected instantly. You can craft clear, color-coded messages in config.yml to explain why they were kicked, reducing confusion.
  • Detailed Console Logging: Every kick event can be logged to the server console, giving you a real-time audit trail of blocked connection attempts.
  • Simple Configuration and Live Reload: All allowed protocols are stored in a single config.yml file. You can edit the list and reload the plugin without restarting the server, saving downtime.
  • Broad Version Compatibility: Because it uses ViaVersion’s protocol detection, ViaRestricted works with any Minecraft version that ViaVersion supports—from ancient releases to the latest snapshots.

Setting Up ViaRestricted: A Quick Walkthrough

Installation is straightforward. First, make sure you have ViaVersion running on your server. You can download ViaVersion from its official Spigot or Modrinth page. Then, place the ViaRestricted jar file into your server’s plugins folder and restart or reload. The plugin will generate a default config.yml with a sample list of allowed protocols. Open that file and adjust the allowed-protocols list to match the versions you want to permit. For instance, if you only want 1.20.4 and 1.21.4 clients, you would include their respective protocol numbers (765 and 768). Save the file and run /viarestricted reload to apply changes instantly.

For those who prefer a more integrated modding experience, the foxygame.net launcher offers a modern way to manage plugins and mods. Its built-in menu lets you browse and install tools like ViaRestricted directly, making it a flexible choice for server admins who want to keep everything organized without juggling multiple download sources.

Real-World Use Cases for ViaRestricted

This plugin shines in scenarios where version diversity becomes a problem rather than a feature. Consider an SMP server that has carefully balanced its gameplay around 1.21 mechanics. Allowing older clients might introduce unintended exploits or visual glitches. With ViaRestricted, you can lock the server to only 1.21.x protocols, preserving the intended experience. Similarly, competitive mini-game servers often restrict versions to prevent unfair advantages tied to specific client behaviors. An anarchy server might block outdated versions known for duplication bugs, while still welcoming a range of modern clients. The plugin’s protocol-based approach means you can fine-tune access without constantly updating a blacklist of version names.

Why Protocol Numbers Matter More Than Version Names

Many server owners initially try to filter players by version string, but this method is fragile. Minecraft versions like 1.20.2 and 1.20.3 both report protocol 765, while 1.21 and 1.21.1 share protocol 767. ViaRestricted sidesteps this confusion entirely by working with the numeric protocol. You simply look up the protocol numbers for the versions you want to allow (ViaVersion’s documentation or community resources list them clearly) and add those integers to the config. The result is a rock-solid filter that never misidentifies a client.

Benefits That Go Beyond Basic Blocking

  • Zero Performance Overhead: The plugin only checks the protocol during the login phase, so it adds no lag to ongoing gameplay.
  • Professional Player Communication: Custom kick messages can include color codes and line breaks, turning a rejection into a helpful instruction (e.g., “Please switch to version 1.21.4 to join this server”).
  • Easy Maintenance: The single config.yml file and reload command mean you can adjust allowed versions on the fly without interrupting current players.
  • Seamless ViaVersion Integration: Since it depends on ViaVersion, you automatically inherit that plugin’s extensive version support and regular updates.

Common Configuration Pitfalls and How to Avoid Them

One frequent mistake is forgetting to add the protocol number for the server’s own version. If your server runs 1.21.4 (protocol 768) but you only whitelist 767, even you won’t be able to join. Always include the server’s native protocol unless you intentionally want to block it. Another tip: use the logging feature during initial setup to see which protocols players are actually using. This data can help you decide which versions to allow or disallow based on your community’s habits.

Conclusion: A Must-Have Companion for ViaVersion

ViaRestricted fills a specific but crucial gap in Minecraft server management. While ViaVersion opens the door to cross-play, ViaRestricted lets you decide who walks through it. Its protocol-based filtering, instant kicks, and painless configuration make it an essential tool for any admin who values version integrity. Whether you are curating a pure vanilla experience, hardening an anarchy server, or simply tired of explaining compatibility issues, this plugin delivers clarity and control. Pair it with ViaVersion, and you have a complete solution for handling the ever-expanding Minecraft version landscape—without the headaches.