Let players on other Minecraft versions join
Cross-version play keeps ViaVersion and ViaBackwards on your Minecraft Java server, so players on newer and older versions can join it.
In the dashboard
A Minecraft Java player can only join a server that runs their own version, unless the server translates between the two. Cross-version play adds two plugins that do this: ViaVersion lets players on newer versions join, and ViaBackwards lets players on older versions join. Every plugin server has cross-version play on unless you turn it off. We install both plugins and update them each time the server starts, so you do not have to.
Before you begin
Section titled Before you begin- The server must run plugin software for Minecraft Java: Paper, Purpur, Folia, Spigot, Pufferfish, Leaves or Leaf. Mod loaders (Fabric, Quilt, Forge and NeoForge), Vanilla, servers that load both plugins and mods (Arclight, Mohist and Magma), proxies and Bedrock servers do not get the plugins, and the switch does not appear on them.
- The server must run Java 17 or newer. Change Java settings shows the Java your server runs.
- On a server someone shared with you, you need the Install software permission to turn cross-version play on or off.
What happens at each start
Section titled What happens at each startEach time the server starts, before it boots, we look in its plugins folder:
- When
plugins/ViaVersion.jarorplugins/ViaBackwards.jaris missing, older than the newest release on Hangar, PaperMC's plugin site, or not the file we put there, we install the newest release in its place. - When both are the newest releases, we change nothing.
- When Hangar does not answer, or the check takes longer than 20 seconds, the server starts with the plugins it already has.
A new server gets both plugins at its first start, and a server you had before gets them at its next start. ViaVersion's and ViaBackwards's pages on Hangar list the Minecraft versions each one supports.
Check that cross-version play is on
Section titled Check that cross-version play is on- In the dashboard, go to App Deployment and open the server, then the Software tab.
- On the Current software card at the top, find the Cross-version play switch, under Bedrock crossplay.
While the switch is on, Installed names the versions on the server, such as ViaVersion 5.12.0 · ViaBackwards 5.12.0. It says At the next start when the server has not started since cross-version play was turned on: restart it from the console to install them.
Turn cross-version play off
Section titled Turn cross-version play off- On the server's Software tab, turn off Cross-version play on the Current software card.
- Restart the server from the console, so it stops running the two plugins.
We delete plugins/ViaVersion.jar and plugins/ViaBackwards.jar straight away, and starts no longer install them. Their settings folders, plugins/ViaVersion and plugins/ViaBackwards, stay, so your settings are still there if you turn cross-version play back on.
Turn cross-version play back on
Section titled Turn cross-version play back on- On the server's Software tab, turn on Cross-version play on the Current software card.
- Wait while the switch is greyed out. We download both plugins into the
pluginsfolder straight away. - Restart the server from the console, so it loads them.
Keep your own copy of ViaVersion
Section titled Keep your own copy of ViaVersionYou can add ViaVersion or ViaBackwards yourself, from the Marketplace or as an upload, to run a version of your choice. A copy under its own file name, such as ViaVersion-5.12.0.jar, wins: at the next start we remove our two jars and leave your copy alone, so the server never loads two copies of one plugin. We do not update your copy, and the Current software card names it under Your own copy is in the plugins folder.
To go back to ours, remove your copy on the Installed addons panel and restart the server. The start installs ours again.
Warning
A file named exactly ViaVersion.jar or ViaBackwards.jar counts as ours, and each start replaces it with the newest release. To keep your own copy under one of those names, turn cross-version play off first.
Change the plugins' settings
Section titled Change the plugins' settingsViaVersion keeps its settings in plugins/ViaVersion/config.yml, and ViaBackwards keeps its settings in plugins/ViaBackwards/config.yml. Edit them in the Files tab, then restart the server. We never change these files.
The two plugins appear on the Installed addons panel with the Uploaded by hand badge, because the Marketplace did not install them. Leave them there: to remove them, turn off the switch.
When you change the server software to software that cannot load plugins, such as Fabric, Vanilla or a Bedrock server, we remove our two jars and keep your choice. Moving back to a plugin server brings them back at its next start.
Result
Section titled ResultThe switch is on and Installed names both plugins. Players on newer versions of Minecraft join through ViaVersion, and players on older versions through ViaBackwards, at the address they already use. Players on the server's own version join as before.
Troubleshooting
Section titled Troubleshooting- The Cross-version play switch is not on the card
- The server cannot run the plugins. It runs a mod loader, Vanilla, a server that loads both plugins and mods, a proxy or a Bedrock server, or a Java older than 17. Change to a plugin server under Server software. The API gives the exact reason in
unsupported_reason. - Could not change cross-version play with
ViaVersion downloads are unavailable right now. Try again shortly. - Hangar did not answer, so nothing changed. Try again later.
- The last start could not install them
- The server started without the plugins, and the card shows the reason. The next start tries again. To install them now, turn the switch off and on again.
We could not read the server's plugins folder. Try again shortly.- The
pluginsfolder is there, but we could not list it. We install nothing we cannot check, so the server never ends up with a second copy beside yours. Restart the server to try again. - Players on another version still cannot join
- Restart the server after you turn the switch on, because the plugins load only when the server starts. Then check that Installed names both plugins. A version older or newer than the plugins support cannot join either way.
Related
Section titled RelatedWith the API
Section titled With the APITurn cross-version play off:
curl -X POST https://api.coritan.com/api/v1/client/servers/$SERVER/software/via \
-H "Authorization: Bearer $CORITAN_TOKEN" \
-H "Content-Type: application/json" \
-d '{"enabled": false}'
The response is the state below, with enabled set to false and state set to disabled. Send {"enabled": true} to turn it back on: the request returns once both plugins are installed, with state set to ready and both versions. A body without enabled answers 422.
GET /api/v1/client/servers/{uuid}/software/context shows the state under via_plugins:
supported- Whether the server can run the plugins. When it is
false,unsupported_reasonsays why. enabled- Your choice:
trueunless you turned cross-version play off. statependinguntil the first start installs them,readyonce they are installed,installingwhile a request to turn them on installs them,failedwhen the last start could not install them (last_errorsays why),own_copywhile your own copy is inplugins,disabledwhile cross-version play is off, andunsupportedwhile it is on and the server's software cannot load plugins.viaversion_versionandviabackwards_version- The versions we installed.
own_copies- The file names of your own copies while
stateisown_copy. last_checked_at- When a start last checked the
pluginsfolder.
These answer 400, and nothing changes:
This server runs mods rather than plugins, and ViaVersion and ViaBackwards are plugins. They need Paper, Purpur, Spigot or another plugin server.Vanilla Minecraft cannot load plugins. Switch to Paper to let players on other versions join.ViaVersion and ViaBackwards need Java 17 or newer, and this server runs Java 11., with the server's own Java versionWe add ViaVersion and ViaBackwards to Paper, Purpur, Folia, Spigot and their forks. Add them yourself under Plugins on this server., for a server that loads both plugins and modsWe add ViaVersion and ViaBackwards to game servers, not to proxies. Add them to the proxy yourself under Plugins if you need them there.ViaVersion downloads are unavailable right now. Try again shortly.ViaVersion could not be installed on the server. Try again shortly., or the same for ViaBackwardsWe could not reach the server's files. Try again shortly.,We could not read the server's plugins folder. Try again shortly.orWe could not remove the plugins from the server. Try again shortly.
On a server shared with you, turning cross-version play on or off needs software.install. It counts towards the 8 software actions a server accepts from one account in 10 minutes.
API operations on this page
| Method | Path | What it does |
|---|---|---|
POST | /api/v1/client/servers/{uuid}/software/via | Turn ViaVersion and ViaBackwards on or off for a Minecraft Java server |