Let players on different Minecraft versions join with ViaVersion
ViaVersion and its companions let one server accept clients from many Minecraft versions, so nobody has to change their launcher profile to play with you. Here is what each one does and what it cannot fix.
6 min read · Updated Oct 21, 2026 · By GuavaHost Team
This is version crossplay rather than edition crossplay. It is about Java clients on different versions, and it is a completely separate thing from Geyser, which brings Bedrock players in. The two happily coexist, and there is a note on that at the end.
The three plugins and what each one does
They stack. Each one needs the one above it, and installing only the bottom of the stack does nothing.
| Plugin | What it gives you | Needs |
|---|---|---|
| ViaVersion | Clients newer than your server can join | nothing |
| ViaBackwards | Clients older than your server can join | ViaVersion |
| ViaRewind | Extends that back to the very old 1.8 and 1.7 clients | ViaBackwards |
So a modern server that wants to accept everything from 1.8 upwards installs all three. A server that only needs to let people on next month's release in early needs ViaVersion alone.
They work by rewriting packets (the small chunks of data a client and server exchange) between the version the client speaks and the version the server speaks. The server itself does not change: your world, your plugins and your game rules stay on your server's own version.
Where they go
On a single server, they are ordinary plugins. Drop the jars in the plugins folder and restart:
- Download the current builds for your platform from the Via team's own release page.
- In your control panel, open the Files tab and go to the
pluginsfolder. - Click Upload files and upload the jars. One copy of each, never two.
- Restart the server from the top of your server page.
- Run
pluginsin the Console and check each one is listed and enabled. - Run
viaversion listto see which version each connected player is actually on.
Install plugins on a Minecraft Java server covers the upload step in full, including where to get jars safely.
On a network behind a proxy, install them on the proxy only, not on each backend server. The proxy is what players connect to, so it is the right place to translate, and running Via in both places invites odd double-translation bugs. Keep your backend servers on the same version as each other while you are at it. Build a network with Velocity or BungeeCord covers the proxy side.
Via is maintained for Paper and Spigot and for Velocity and BungeeCord. Other platforms are covered by separate projects from the same community, so check the project page for your loader rather than assuming the Spigot jar will work.
Each plugin has a config.yml, and the honest advice is to leave it alone at first. The defaults are what nearly everyone runs, and most options are patches for specific old-client visual bugs you may never hit.
What actually breaks across versions
Via is good, but it is translating between game versions that genuinely differ, so expect these:
- New blocks and items look wrong on old clients. A client that has never heard of a block is shown something it does know instead. The block is really there and behaves correctly, the old client just cannot draw it.
- Newer item details get flattened. Modern Minecraft stores far more structured detail on items than old versions had any concept of, and some of it cannot survive the trip down to a very old client.
- Old mechanics do not come back. Combat runs on the server, so a 1.8 client on a modern server gets modern combat with the attack cooldown, not 1.8 PvP. ViaRewind can draw an indicator for the cooldown, but it cannot restore the old mechanics.
- Secure chat gets in the way. Modern servers expect clients to sign their chat messages, which older clients cannot do, so they get kicked at join. The fix is
enforce-secure-profile=falseinserver.properties. - Resource packs are version-specific. A pack built for your server's version can look broken on an older client, and vanilla cannot serve two packs to two versions.
- Packet-level plugins can misbehave. Anything writing raw packets itself, including some anti-cheats and custom GUI libraries, may not account for translated clients. Anti-cheats in particular are prone to flagging old clients for movement that is fine.
- Mod version mismatches are not Via's job. Via handles vanilla clients. A player rejected because their Forge or Fabric mod list does not match the server's is a different problem, and Fix mod rejections and version mismatch errors is the place to start.
Two habits go with all of this: keep telling players which version the server actually is, so the determined ones can match it, and test the oldest version you claim to support yourself before you advertise it.
Why the newest server with Via beats an old server
When people want to include a friend on an old version, their first instinct is to downgrade the whole server. Via is almost always the better answer:
- A world upgrade is one-way. Opening your world on a newer version rewrites its format, with no going back. Downgrading a server that has already run newer means restoring an old backup or starting again.
- Plugins follow the current versions. The plugins you want are built and fixed for recent releases, so pinning your server to an old version slowly cuts you off from updates and from help when something breaks.
- Performance work lands in current builds. Years of optimisation in Paper and in the game itself only reach you if you run something recent.
- Old clients are the cheaper compromise. A 1.8 player on a modern server loses some visual fidelity. A modern player on a 1.8 server loses every block, mob and mechanic added since.
The exception is the one above: if your server exists for a specific old version's gameplay, such as 1.8 PvP, run that version properly. Which Minecraft Java version should I run? walks through the choice.
Using Via alongside Geyser
They solve different problems and they run together fine. Geyser brings Bedrock players onto a Java server, as Geyser explained describes, and Via widens the range of Java client versions you accept.
There is one way they interact usefully: Geyser is built against current Java versions, so if your server is older than Geyser expects, ViaVersion on the server is the normal way to bridge that gap. GeyserMC's documentation says which Java versions a given build wants, and that is what to check against.
Keep the two separate when something breaks. Run viaversion list to see what version a Java player is really on, and geyser list to see who came in through Geyser. If a problem hits only one of those groups, you know which half to look at.
Common questions
Do I need all three Via plugins?
Only if you want the full range. ViaVersion on its own lets clients newer than your server in, adding ViaBackwards lets older clients in, and ViaRewind extends that to the 1.8 and 1.7 era. Each one needs the previous one installed, so you cannot pick just the bottom of the stack.
Will a 1.8 player get 1.8 PvP on my modern server?
No. Combat is decided by the server, so they get your server's modern combat including the attack cooldown, even though their client is from 1.8. ViaRewind can show them an indicator for it, but the mechanics themselves cannot be rolled back for one player.
Does ViaVersion let an old server use new features?
No, and this is the most common misunderstanding. Via only translates between what the client speaks and what the server speaks, so a 1.16 server with Via is still a 1.16 server with 1.16 blocks and 1.16 mobs. Newer clients can connect to it, but there is nothing new for them to find.
Why do older clients get kicked as soon as they join?
Most often because of chat signing, which modern servers expect and older clients cannot do. Setting enforce-secure-profile=false in server.properties and restarting is the usual fix. If they are modded clients being rejected over a mod list, that is a separate problem and Via will not help with it.
Still stuck? Jump into our Discord at discord.gg/GuavaHost and the team will help you out.
- viaversion
- viabackwards
- viarewind
- minecraft
- java
- versions
- crossplay
Host a Minecraft Geyser server From $3.99/mo, with instant setup and DDoS protection.
Still need help? Our team is online 24/7 to answer questions.