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):
- Main plugin
- Download from https://www.spigotmc.org/resources/viaversion.19254/
ViaBackwards (optional):
- Allows players with older versions to connect
- Download from https://www.spigotmc.org/resources/viabackwards.27448/
ViaRewind (optional):
- Support for very old versions (1.8.x and 1.7.x)
- Download from https://www.spigotmc.org/resources/viarewind.52109/
Step 2: Install the Plugins
Basic Installation
- Log in to your game panel
- Go to the Files or File Manager section
- Open the
pluginsfolder - Upload the
ViaVersion.jarfile - If necessary, also upload
ViaBackwards.jarandViaRewind.jar - 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.
Recommended Configuration
# 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:
- The BungeeCord proxy (required)
- All backend servers (recommended)
On the BungeeCord Proxy
- Place
ViaVersion.jarin the proxy'spluginsfolder - Restart the proxy
- 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:
- Place
ViaVersion.jaron each backend server - Backend servers must have
online-mode=false - 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:
- Download the latest version
- Replace the old JAR with the new one
- Restart the server
- 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.


















