Open-source project
ViaVersion/ViaFabricPlus avatar
ViaVersion/ViaFabricPlus

ViaFabricPlus lets a modern client join a Classic Minecraft server

Minecraft Fabric mod that allows you to join every Minecraft server version (Classic, Alpha, Beta, Release, April Fools, Bedrock)

682 stars88 forksJavaGPL-3.0

At a glance

What is it?
ViaFabricPlus is a Fabric mod that builds on ViaVersion so one recent client can connect to servers from almost every Minecraft era, including Classic, Alpha, Beta and April Fools builds. It is client-side, multiplayer only, and it needs the newest client, so the version compatibility table is the first thing to read.
Who is it for?
Adopt ViaFabricPlus if you want to play on a Classic, Alpha or April Fools server from a current client and you accept that the mod only ever targets the newest Minecraft release. Skip it if you want to run an old client instead, because the project points you at the original ViaFabric for that, and skip it if your server runs anti-cheat, since the README states plainly that some servers may treat the mod as suspicious and flag it.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository last received commits 3 days ago.
What is it written in?
Mainly Java, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 20, 2026, and from our analysis. They are not legal advice.

Editorial analysis

One client, every server era

ViaFabricPlus is a Minecraft mod for Fabric that builds on the ViaVersion project, and its purpose is stated in one line: it lets you connect to servers from almost every Minecraft version while fixing issues that the original project could not. The server versions it lists are the full history. Release, from 1.0.0 up to the current 26.3, Beta from b1.0 to b1.8.1, Alpha from a1.0.15 to a1.2.6, Classic from c0.0.15 to c0.30 including the Classic Protocol Extension, the April Fools builds such as 3D Shareware, 20w14infinite and 25w14craftmine, and Combat Snapshots through Combat Test 8c. The project's claim is that it recreates the classic Minecraft experience on today's client, and that it does so with improvements to movement, block and entity interactions, graphics and more, making older servers feel closer to how they originally played. The support for new Mojang releases is usually added within a few days, which is the pace you want from a protocol translation layer.

The compatibility table decides everything

The table of supported client versions is short and it is the most important part of the documentation, because it separates two kinds of support that people routinely conflate. For Minecraft 26.3, the current release, the answer is yes for both feature updates and bug fixes. For 26.2, feature updates are no but bug fixes are yes. For 26.1.x and older, both are no. Read strictly, that means a client older than the current release gets no new features from the mod at all, which is what you would expect from something that patches the rendering and interaction layer of a game whose internals change every release. The branch structure reinforces this, with the default branch named ver/26.3, and the recent release history is versioned by target client, with 5.1.2 for 26.3 and 5.0.3 for 26.2 published the same day, 2026-10-19. So a player on an older client is not left with a broken mod, they are left with a mod that no longer patches anything, and the project is explicit about that rather than leaving you to discover it.

Client-side, multiplayer-only, Fabric-only

The important to know section lists the constraints, and they are not negotiable. It works only with the newest Minecraft client version. It runs only on Fabric, and the documentation states there will not be a Forge or NeoForge version. It is multiplayer only, so it does not affect singleplayer worlds. It is clientside only, so it does not run on multiplayer servers. And there are no cross-version resource packs, meaning resource packs from older versions are not supported. That last one is the one people miss. A server that ships a texture pack from 2011 will not have that pack applied when you connect through a translating client, because the resource pack format and the item model system are part of what changed across those versions. The repository layout backs the Fabric-only claim, with a build.gradle.kts and a settings.gradle.kts at the root, a build-logic/ directory for the build convention plugins, a src/ directory for the mod itself, and a separate viafabricplus-api/ directory for the published API.

Why ViaFabricPlus exists alongside ViaFabric

The relationship to the original ViaFabric is the part that explains the design. The README says that if you want to play using older Minecraft clients, you should use the original ViaFabric instead, and it links to a comparison section in that project's readme. The difference is direction. ViaFabricPlus takes the newest client and translates it downwards, so you always run the current game and the mod adapts you to whatever the server speaks. ViaFabric takes the old client and translates it upwards, so you run the version the server was built for and the mod adapts the connection. The Plus variant goes further in the fixes it applies. Because it runs on the modern client, it can correct the things that the original project could not, which is why the fix list mentions movement, block and entity interactions and graphics rather than only packet translation. For a server community that wants Classic gameplay without abandoning the current client, that is the meaningful difference. For a player who genuinely wants the old game, it is the wrong direction entirely.

Bedrock support is a separate addon, not a feature

Support for Minecraft Bedrock Edition servers and Realms is not in the mod itself. It is available through the separate ViaFabricPlus Bedrock addon, which is based on ViaBedrock. That separation is worth understanding, because it defines the project boundary. ViaFabricPlus handles the Java side, translating between protocol generations within the Java client line, from Classic through the current releases. Bedrock is a different protocol family entirely, and the addon is maintained in a separate repository under a different author. The same pattern appears in the repository structure, where the mod lives under src/ and the public integration surface lives in viafabricplus-api/, with API documentation and integration examples in docs/DEVELOPER_API.md. For a developer building a tool that needs to talk to a ViaFabricPlus client, the API module and its documentation are the entry points rather than the mod itself.

Anti-cheat is the practical risk

The disclaimer section is short and blunt, and it is the part to read twice. The project cannot guarantee the mod will be allowed on every server, some servers may treat it as suspicious and flag it with anti-cheat plugins, and the instruction is to use it responsibly and at your own risk. That is not a hedge, it is a real behavioural difference. A translating client sends packets that a current server has never seen, because the server is old and does not know those packet types, and the request path runs through translation, so from the server's point of view the client is doing something unusual. Servers that care about this will detect it. So the practical test before you commit is which server you want to play on and whether that server runs anti-cheat, because the answer decides whether this is a five minute install or an account risk. The repository also carries a SECURITY.md, an AGENTS.md, a CONTRIBUTING.md and a .claude/ directory, and the last push was on 2026-10-19, with the newest releases published the evening before, so the project is moving with the game rather than sitting still.

Editorial conclusion

Adopt ViaFabricPlus if you want to play on a Classic, Alpha or April Fools server from a current client and you accept that the mod only ever targets the newest Minecraft release. Skip it if you want to run an old client instead, because the project points you at the original ViaFabric for that, and skip it if your server runs anti-cheat, since the README states plainly that some servers may treat the mod as suspicious and flag it. Before you install, read the supported client versions table, because the mod only receives feature updates for the current release and only bug fixes for the one before it, and check the documentation for the target server version you care about.

Frequently asked questions

Which Minecraft client versions does ViaFabricPlus support?

Minecraft 26.3 receives both feature updates and bug fixes, 26.2 receives bug fixes only, and 26.1.x and older receive neither. The mod works only with the newest client version, and the default branch tracks the current release, ver/26.3.

Which server versions can ViaFabricPlus connect to?

Release from 1.0.0 to 26.3, Beta from b1.0 to b1.8.1, Alpha from a1.0.15 to a1.2.6, Classic from c0.0.15 to c0.30 including the Classic Protocol Extension, the April Fools builds 3D Shareware, 20w14infinite and 25w14craftmine, and Combat Snapshots up to Combat Test 8c.

Does ViaFabricPlus work on Forge or NeoForge?

No. The project states it runs only on Fabric and that there will not be a Forge or NeoForge version. It is also multiplayer only and clientside only, so it does not affect singleplayer worlds and does not run on multiplayer servers.

How do I get Bedrock Edition server support with ViaFabricPlus?

Support for Bedrock servers and Realms is delivered by the separate ViaFabricPlus Bedrock addon, which is based on ViaBedrock, rather than by the mod itself.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. ViaVersion/ViaFabricPlus on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/viaversion-viafabricplus.svg)](https://hysenlabs.com/projects/viaversion-viafabricplus)

Was this useful?