Logo

How to Install ViaVersion on Your Minecraft Server

How to Install ViaVersion on Your Minecraft Server

This guide explains how to install and configure ViaVersion to allow players from different Minecraft versions to connect to your server.

How to Install ViaVersion on Your Minecraft Server

This guide explains how to install and configure ViaVersion to allow players from different Minecraft versions to connect to your server.

What is ViaVersion?

ViaVersion is a plugin that allows you to:

  • Accept multiple versions of Minecraft on the same server
  • Allow players to connect with newer or older versions
  • Maintain compatibility between different game versions
  • Avoid forcing all players to use the same version

How Does It Work?

ViaVersion translates data packets between different Minecraft versions. For example:

  • Server on 1.19.4 → Players can connect on 1.20.x
  • Server on 1.16.5 → Players can connect on 1.17.x, 1.18.x, 1.19.x, etc.

Important: ViaVersion mainly allows players with newer versions to connect to older servers.

Prerequisites

  • Spigot, Paper, or compatible server
  • Administrator access to the game panel
  • Java 8 or higher

Step 1: Download ViaVersion

Required Plugins

Depending on your configuration, you will need:

ViaVersion (required):

ViaBackwards (optional):

ViaRewind (optional):

Step 2: Install the Plugins

Basic Installation

  1. Log in to your game panel
  2. Go to the Files or File Manager section
  3. Open the plugins folder
  4. Upload the ViaVersion.jar file
  5. If necessary, also upload ViaBackwards.jar and ViaRewind.jar
  6. Restart the server

Verify Installation

Once the server restarts, connect and type:

/viaversion version

You should see the installed ViaVersion version.

Step 3: Basic Configuration

config.yml File

After the first startup, ViaVersion creates a plugins/ViaVersion/config.yml file.

# Enable debug (disable in production)
debug: false

# Check for updates
checkforupdates: true

# Prevent unknown blocks
prevent-collision: true

# Enable protocol translation
auto-team-collision: true

# Support 1.9+
new-effect-indicator: true

Version Compatibility

ViaVersion automatically supports recent versions. Here are the compatibilities:

With ViaVersion alone:

  • Server 1.19.4 → Players 1.20.x, 1.21.x can connect

With ViaVersion + ViaBackwards:

  • Server 1.19.4 → Players 1.18.x, 1.17.x can also connect

With ViaVersion + ViaBackwards + ViaRewind:

  • Server 1.19.4 → Players from 1.7.x can connect

Step 4: Advanced Configuration

Enable Old Client Support

If you want to support versions 1.8 and earlier, install ViaRewind.

ViaRewind configuration (plugins/ViaRewind/config.yml):

# Replace missing items
replace-adventure: true
replace-particles: true

# Attack cooldown (1.8)
cooldown-indicator: true

Limit Accepted Versions

To only accept certain versions, modify config.yml:

# Block versions that are too old or too new
block-protocols: []

# Example: block 1.8
# block-protocols: [47]

# Example: only accept 1.19+
# block-protocols: [47, 107, 108, 109, 110, 210, 315, 316, 335, 338, 340, 393, 401, 404, 477, 480, 485, 490, 498, 573, 575, 578, 735, 736, 751, 753, 754, 755, 756, 757, 758]

Custom Messages

Customize messages in config.yml:

# Block message
block-disconnect-msg: "&cYour Minecraft version is not supported.
  &cPlease use version 1.19 or higher."

# Reload message
reload-disconnect-msg: "&cThe server is reloading ViaVersion..."

Step 5: Configuration with BungeeCord

Installation on BungeeCord

For a BungeeCord network, install ViaVersion on:

  1. The BungeeCord proxy (required)
  2. All backend servers (recommended)

On the BungeeCord Proxy

  1. Place ViaVersion.jar in the proxy's plugins folder
  2. Restart the proxy
  3. ViaVersion will handle version translation for the entire network

BungeeCord Configuration

In plugins/ViaVersion/config.yml on the proxy:

# Enable BungeeCord mode
bungee-ping-interval: 60
bungee-ping-save: true
bungee-servers: {}

# Check for updates
checkforupdates: true

Installation on Backend Servers

Even if ViaVersion is on the proxy, install it on backends for better compatibility:

  1. Place ViaVersion.jar on each backend server
  2. Backend servers must have online-mode=false
  3. The proxy handles the version, backends handle compatibility

Step 6: Performance Optimization

Reduce Resource Usage

In config.yml:

# Limit threads
max-pps: 800
max-pps-kick-msg: "§cYou are sending too many packets!"

# Chunk cache
chunk-border-fix: false

# Reduce calculations
scoreboard-name-fix: false

Disable Unnecessary Features

# If you don't use certain features
suppress-metadata-errors: true
shield-blocking: true
hologram-patch: false

ViaVersion Commands

For Administrators

/viaversion version

Displays ViaVersion version

/viaversion reload

Reloads configuration (temporarily disconnects players)

/viaversion list

Lists connected players with their version

/viaversion debug

Enables/disables debug mode

/viaversion dontbugme

Disables update messages

Player Information

/viaversion displayversion <player>

Displays the version used by a player

Compatible Plugins

Plugins Working with ViaVersion

ProtocolLib:

  • Advanced packet manipulation
  • Compatible with ViaVersion

PlaceholderAPI:

  • Placeholders to display player versions
  • %viaversion_player_protocol_version%

ViaVersionStatus:

  • Displays player versions in TAB
  • Version statistics

Avoid Conflicts

Some plugins may cause issues:

  • OldCombatMechanics: May conflict with ViaRewind
  • ProtocolSupport: Don't use with ViaVersion (choose one or the other)

Common Use Cases

Case 1: 1.19 Server Accepting 1.20+ Players

Installation:

  • ViaVersion only

Configuration:

  • No special configuration needed
  • Works automatically

Case 2: 1.20 Server Accepting 1.16+ Players

Installation:

  • ViaVersion
  • ViaBackwards

Configuration:

  • Install both plugins
  • Restart the server

Case 3: 1.19 Server Accepting All Versions from 1.8

Installation:

  • ViaVersion
  • ViaBackwards
  • ViaRewind

Configuration:

  • Install all three plugins
  • Configure ViaRewind for 1.8

Case 4: Multi-Version BungeeCord Network

Installation:

  • ViaVersion on BungeeCord proxy
  • ViaVersion on each backend server
  • ViaBackwards and ViaRewind as needed

Configuration:

  • Configure the proxy first
  • Backend servers inherit the config

Limitations and Incompatibilities

Features That May Not Work

Between different major versions:

  • New blocks/items: Replaced by equivalents
  • New entities: May appear differently
  • New biomes: Displayed as existing biomes
  • New mechanics: Not available for old versions

Example:

  • Player on 1.18 on 1.20 server: Won't see new 1.19/1.20 blocks
  • Player on 1.20 on 1.18 server: May see missing/replaced blocks

Known Incompatibilities

Incompatible plugins:

  • ProtocolSupport (alternative to ViaVersion)
  • Some anti-cheats may detect ViaVersion players

Solutions:

  • Disable version detection in anti-cheat
  • Use an anti-cheat compatible with ViaVersion

Troubleshooting

Players Cannot Connect

Checks:

  • ViaVersion is installed and running
  • No error messages in console
  • Player's version is supported

Solution: Check logs in plugins/ViaVersion/ for errors.

"Unknown packet type" Error

Cause:

  • Conflict with another protocol plugin
  • Outdated ViaVersion version

Solution:

  • Update ViaVersion
  • Remove ProtocolSupport if installed
  • Check conflicts with other plugins

Blocks Appear Differently

Normal cause:

  • New blocks cannot be displayed in old versions

Solution:

  • This is a normal limitation
  • Blocks are replaced by visual equivalents

1.8 Players Are Kicked

Cause:

  • ViaRewind is not installed
  • Incorrect configuration

Solution:

  • Install ViaRewind
  • Verify that ViaVersion and ViaBackwards are also installed

Lag or Increased Latency

Cause:

  • Packet translation consumes resources
  • Too many different versions simultaneously

Solution:

  • Optimize ViaVersion configuration
  • Limit accepted versions if possible
  • Increase server RAM

Check Player Versions

With PlaceholderAPI

Install PlaceholderAPI and use:

%viaversion_player_protocol_version%

In a scoreboard, TAB, or chat plugin.

With a Command

/viaversion list

Displays all players with their version.

In Logs

ViaVersion logs each player's version in the logs when connecting.

Updates

Keep ViaVersion Updated

ViaVersion is regularly updated to support new Minecraft versions.

Update process:

  1. Download the latest version
  2. Replace the old JAR with the new one
  3. Restart the server
  4. Check logs for errors

Recommended frequency:

  • Check for updates monthly
  • Update during major Minecraft version releases

Conclusion

ViaVersion is an essential tool for maintaining a Minecraft server compatible with multiple versions. It allows players to not be forced to downgrade or upgrade their client to play on your server. Installation is simple, and with ViaBackwards and ViaRewind, you can support almost all Minecraft versions from 1.7.x to the latest.

Join our Discord community server

For any questions, suggestions, or just to chat with the community, join us on Discord!

900+Members