Skip to content
Coritan Docs

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.

View as Markdown

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.

  • 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.

Each time the server starts, before it boots, we look in its plugins folder:

  • When plugins/ViaVersion.jar or plugins/ViaBackwards.jar is 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
  1. In the dashboard, go to App Deployment and open the server, then the Software tab.
  2. 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.

  1. On the server's Software tab, turn off Cross-version play on the Current software card.
  2. 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
  1. On the server's Software tab, turn on Cross-version play on the Current software card.
  2. Wait while the switch is greyed out. We download both plugins into the plugins folder straight away.
  3. Restart the server from the console, so it loads them.

Keep your own copy of ViaVersion

Section titled Keep your own copy of ViaVersion

You 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.

ViaVersion 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.

The 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.

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 plugins folder 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.

Turn cross-version play off:

Shell
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_reason says why.
enabled
Your choice: true unless you turned cross-version play off.
state
pending until the first start installs them, ready once they are installed, installing while a request to turn them on installs them, failed when the last start could not install them (last_error says why), own_copy while your own copy is in plugins, disabled while cross-version play is off, and unsupported while it is on and the server's software cannot load plugins.
viaversion_version and viabackwards_version
The versions we installed.
own_copies
The file names of your own copies while state is own_copy.
last_checked_at
When a start last checked the plugins folder.

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 version
  • We 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 mods
  • We 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 ViaBackwards
  • We could not reach the server's files. Try again shortly., We could not read the server's plugins folder. Try again shortly. or We 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

MethodPathWhat it does
POST/api/v1/client/servers/{uuid}/software/viaTurn ViaVersion and ViaBackwards on or off for a Minecraft Java server