ViaVersion and ViaBackwards reach 26.3, five days after the drop

Five days after Wilderness Bound, ViaVersion and ViaBackwards are pushing 26.3 builds, which is the point at which a server admin can update to the new version without losing everyone who has not.

It is the least glamorous piece of infrastructure in Minecraft multiplayer and arguably the one that keeps the most servers alive.

The problem it solves

Minecraft’s protocol changes every version. A 26.2 client cannot connect to a 26.3 server, and the error it shows says exactly that and nothing else useful.

For a server with fifteen regulars, that means updating on release day locks out everyone who has not launched the game since. For a public server it means a visible drop in concurrent players for however long the tail takes to update.

ViaVersion translates between protocol versions so those clients can connect anyway. ViaBackwards does the other direction, letting newer clients join older servers. In practice most servers run both.

What landed

Both projects are publishing 5.12.1 snapshot builds through 19 and 20 September, on the beta channel, with platform support for Paper, Velocity, BungeeCord, Sponge, Folia and Fabric.

The changelog entries are protocol plumbing – missing tags added across protocols, stored tag size reduced. That is what these updates look like when they are going well. Version support work is mostly invisible and entirely about matching tables of identifiers between versions.

Java 17 is the minimum. Java 8 downgraded builds exist on the project CI as a last resort, which tells you something about the range of servers still running.

Multiplayer build seen from outside

The release timing policy

Worth knowing if you plan updates around this: since 1.20.5, ViaVersion and ViaBackwards are released a day or so after a Minecraft update rather than alongside it, unless the protocol changes were trivial.

Early access is available to sponsors through GitHub Sponsors or Patreon, usually days and sometimes weeks ahead of the public build. That is the funding model, stated openly on the project page.

The practical consequence for an admin is that “update the server on release day” and “keep old clients working” are not compatible plans unless you sponsor. Plan for a gap, or plan to update a few days late – which is the safer choice anyway for any version migration.

Installing it, per platform

  1. Paper, Velocity, BungeeCord, Sponge, Folia: drop the jar in the plugins folder. This is the normal case and it is genuinely that simple.
  2. Fabric: do not install ViaVersion directly. Use ViaFabric or ViaFabricPlus, which bundle it. To override the bundled version, ViaFabric reads a jar placed in mods, while ViaFabricPlus reads one from config/viafabricplus/jars.
  3. ViaBackwards depends on ViaVersion on most platforms. Install both.

That Fabric distinction is where most installation problems come from – putting ViaVersion in the mods folder on a setup that does not expect it there produces a server that starts and then behaves oddly rather than one that fails loudly.

Server world with several players nearby

What it does not fix

Protocol translation is not feature translation. A 26.2 client connecting to a 26.3 server does not get 26.3’s blocks – it gets whatever the translation layer can map into blocks its client knows about.

For the current drop that means poplar, cushions, straw beds and the new wool and concrete stairs will render as substitutes or not at all on older clients. Anything that relies on a new block being placed correctly is a problem, and anything purely visual is a cosmetic annoyance.

So the honest framing is that Via keeps people connected during the tail of an update, not that it makes version differences disappear. For a survival server where players are mostly mining and building with old blocks, that gap is fine. For one built around the new content, it is not.

Whether you need it

Run it if your server is public, if your player group is larger than the number of people you can personally message about updating, or if you have ever lost a week of activity to a version bump.

Skip it on a small whitelisted server where everyone updates together – it is one more thing in the plugin folder that has to be current before you can move versions, and on a Fabric server in particular it adds a dependency chain you may not want.

Our notes on running a whitelisted server cover the case where you genuinely do not need it.

What it means for your update plan

The clean sequence for a server that wants both a current version and a connected player base looks like this.

  1. Wait for the Via builds for the new version to reach a stable channel rather than a snapshot.
  2. Take a full backup, because a version bump and a plugin update landing together is exactly the situation where you want a rollback point.
  3. Update the server, then Via, then confirm an old client can actually connect before announcing anything.
  4. Give players a window to update, then drop the compatibility layer once traffic from old versions stops.

Step four is the one people skip. Via is not free – it sits in the connection path for every player, adds a translation step, and is another thing that must be current before the next version bump. Leaving it installed forever because it was useful once is how a plugin folder becomes unmaintainable.

Snapshot versus stable

The 26.3 builds currently carry snapshot version numbers and sit on the beta channel. That is normal for the first days after a drop and it is not a reason to avoid them, but it is a reason to read the version string before deploying to a server people rely on.

A snapshot build here means the protocol mapping is complete enough to work and still receiving corrections – the two changelog entries from this week are both about tags, which is the category of thing that produces subtle breakage rather than a failure to connect.

Images: [Let’s Do] Vinery project gallery.