Client-side and server-side ViaVersion implementation for Fabric
Go to file
2024-08-18 03:27:44 +02:00
.github Use Java 21 in workflow 2024-08-18 03:27:44 +02:00
.idea/copyright Update IDEA copyright configuration files 2024-08-05 16:25:28 +02:00
gradle/wrapper Gradle 8.9 2024-07-14 20:37:08 +02:00
src/main Add 1.21.1 support, Restore support for superseded versions. (#365) 2024-08-09 16:10:17 +02:00
viafabric-mc1144 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1152 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1165 Add 1.21.1 support, Restore support for superseded versions. (#365) 2024-08-09 16:10:17 +02:00
viafabric-mc1171 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1182 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1194 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1201 Add 1.21.1 support, Restore support for superseded versions. (#365) 2024-08-09 16:10:17 +02:00
viafabric-mc1204 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1206 Ensure 2.6.15 and older ReplayMod is not supported. (#360) 2024-07-31 20:10:54 +02:00
viafabric-mc1211 Rename submodule 2024-08-17 21:55:15 +02:00
.editorconfig Remove ncr warn (#206) 2022-10-21 06:11:18 -03:00
.gitattributes ViaRift first commit 2018-10-07 08:57:03 -03:00
.gitignore ViaRift first commit 2018-10-07 08:57:03 -03:00
build.gradle Stop including SnakeYaml 2024-08-05 16:13:28 +02:00
CONTRIBUTING.md update legacy fabric api, lang autogen 2022-01-26 09:05:18 -03:00
gradle.properties Update ViaVersion to 5.0.4-SNAPSHOT (#364) 2024-08-08 19:24:05 +02:00
gradlew Gradle 8.9 2024-07-14 20:37:08 +02:00
gradlew.bat Gradle 8.9 2024-07-14 20:37:08 +02:00
jitpack.yml Ubuntu 24.04, JDK 21.0.3 in JitPack, ViaVersion 4.10.3-SNAPSHOT (#333) 2024-05-17 21:50:27 +02:00
LICENSE GPL 2021-04-02 12:03:06 -03:00
README.md Add 1.21.1 support, Restore support for superseded versions. (#365) 2024-08-09 16:10:17 +02:00
settings.gradle.kts Rename submodule 2024-08-17 21:55:15 +02:00

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)

This mod can be installed on 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.1, 1.20.4, 1.20.6, 1.21.1 with Fabric Loader.

The legacy branch also supports Legacy Fabric 1.8.9 and 1.12.2 versions.

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.

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.1 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.
  • ClientViaVersion: Discontinued 5zig plugin.
  • 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're 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 multiconnect which uses -1 version, which may detect the native server version.

How can I set the version for specific servers?:

  • Append ._v(VERSION).viafabric.
  • Examples: minigame.example.com._v1_8.viafabric, native.example.com._v-1.viafabric , auto.example.com._v-2.viafabric

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!)