⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

Client-side and server-side ViaVersion implementation for Fabric

License

Notifications You must be signed in to change notification settings

ViaVersion/ViaFabric

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

929 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ViaFabric

ViaVersion Discord CurseForge Downloads Modrinth Downloads CurseForge Versions

Client-side and server-side ViaVersion implementation for Fabric

Allows the connection to/from different Minecraft versions on your Minecraft client/server (LAN worlds too)

If you are using the latest Minecraft version and care about the gameplay being more enjoyable/functional, you may want to check ViaFabricPlus out. See the differences between ViaFabric and ViaFabricPlus.

This mod can be installed on:

  • Minecraft 26.x+ versions
  • 1.14.4 – 1.21.11
  • 1.8.9 / 1.12.2 using the Fabric Loader.

For each year, there is a versioned branch named after that year (for example, ver/26.x). Each yearly branch contains all 26.x releases published during that year.

Additional version branches

  • ver/1.14-1.21 supports 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.6, 1.21.11
  • ver/1.8-1.12 supports 1.8.9 and 1.12.2

Anti cheat integration

ViaFabric supports sending a custom payload to transmit player protocol version data to the server. This allows servers to retrieve a player's protocol version via plugin messages, which can be useful for anti-cheat checks and version-dependent logic. For more details on how to use this feature, see the Server and Player Details Protocol wiki.

Dependencies

Dependency Download
(Bundled) ViaVersion https://viaversion.com/
(Bundled) Cotton Client Commands (MC 1.14-15) https://jitpack.io/#TinfoilMC/ClientCommands
Fabric API https://modrinth.com/mod/fabric-api

Note: ViaVersion is designed for Vanilla Minecraft servers. It probably will not work with modded registry entries or registry synchronization (fabric-registry-sync mod).

ViaVersion

How can I install ViaBackwards/ViaRewind/ViaAprilFools?:

  • Just drop them into mods folder. Make sure you are using versions compatible with the ViaVersion version you are using.

What versions can ViaVersion, ViaBackwards, ViaRewind and ViaAprilFools translate?:

  • With ViaVersion: Your server can accept newer versions. Your client can connect to older versions.

  • Adding ViaBackwards (and optionally ViaRewind): Your server can accept older versions. Your client can connect to newer versions.

  • Adding ViaAprilFools: Your server can accept April Fools versions.

    Note: When using ViaFabric for versions older than 1.17, you need Java 8 builds

  • Server-side: See https://viaversion.com/

  • Client-side:

1.8.x 1.9.x 1.10-1.20.x 1.21.x
1.14.4-1.20.6 clients
1.21.11 client

✓ = ViaVersion ⟲ = ViaBackwards ⏪ = ViaRewind

Note: 1.7.x is not supported in ViaFabric - 1.9.x, 1.10.x, 1.11.x, and 1.13.x may cause problems when visiting such servers in client-side mode.

Can ViaVersion, ViaBackwards and ViaRewind support snapshots?:

  • Check https://viaversion.com/donate for getting early access to snapshots. You can use the preview ViaVersion builds with ViaFabric by putting them in the mods' folder. During Minecraft updates there will be usual a branch on this repository with the updated ViaFabric.

Alternatives

Client-side:

  • ViaForge: Clientside Implementation of ViaVersion for Forge.
  • ViaFabricPlus: Fabric mod for the latest Minecraft version with QoL fixes and enhancements to the gameplay.
  • multiconnect: Discontinued Fabric mod for connecting to older versions: down to 1.11 (stable) and 1.8 (experimental).

Server-side:

  • ViaVersion: Plugin for Velocity and Paper/Bukkit (and optionally also Sponge/BungeeCord).
  • ProtocolSupport: Discontinued Bukkit plugin for older client versions (down to 1.4.7).

Standalone proxy:

  • ViaProxy: Standalone ViaVersion proxy with ViaBackwards, ViaRewind and ViaLegacy, allowing you to connect to a wide range of versions (down to classic versions) with your modern client (1.7.2+). Supports online mode.
  • VIAaaS: Standalone ViaVersion proxy with ViaBackwards and ViaRewind, allowing you to connect without a mod installed on your client. Supports online mode.
  • DirtMultiversion: Discontinued Proxy allowing to connect down to Beta 1.3 with newer Minecraft client versions.

Cool things to try:

  • Geyser: Plugins, Fabric mod and a standalone proxy for allowing Bedrock Edition on Java Edition servers.
  • PolyMc: Fabric mods which translates modded items and blocks, allowing vanilla to connect using resource packs.

Commands

Commands:

  • There are 3 server-side alias /viaversion, /vvfabric and /viaver, and a client-side command /viafabricclient for Minecraft 1.14+ (OP permission level 3 is required for these commands, received by Entity Status Packet)

Configs

Configuration:

  • ViaVersion configuration is available at .minecraft/config/viafabric/viaversion.yml
  • ViaFabric configuration is at .minecraft/config/viafabric/viafabric.yml

How can I disable client-side ViaFabric?:

  • You can disable it in the menu or by setting global protocol version to -1 (this will keep per-server translations still enabled)

How to use protocol detection?:

  • For using globally, set the protocol to AUTO or -2. For using in a specific server: ddns.example.com._v-2.viafabric
  • The protocol detector will try to ping with the client native protocol version, differently than using -1 version, which may detect the native server version.

How can I set the version for specific servers?:

Suffix Style

  • Append ._v(VERSION).viafabric after the host, before any port.
    • All dots (.) in a given version must be replaced with underscores (_).
  • Examples:
    • minigame.example.com._v1_8.viafabric
    • native.example.com._v-1.viafabric
    • auto.example.com._v-2.viafabric

Prefix Style

  • Add viafabric.v(VERSION); before the address.
  • Examples:
    • viafabric.v1.8;minigame.example.com
    • viafabric.v-1;native.example.com
    • viafabric.v-2;auto.example.com

ViaFabricPlus

Does it work with ViaFabric:

  • No, ViaFabric cannot be used with ViaFabricPlus.

Differences with ViaFabricPlus:

ViaFabric ViaFabricPlus
Can be installed on Multiple client/server versions with fabric Latest client-side version with fabric
Objectives Simply implement ViaVersion Implements ViaVersion with client-side fixes to version changes
How does it work? Modifying packets at network code Modifying client code more deeply
Triggering anti-cheats Very likely Mostly not

Disclaimer

It cannot be guaranteed that this mod is allowed on specific servers as it can possibly cause problems with anti-cheat plugins.
(USE ONLY WITH CAUTION!)