Client-side and server-side ViaVersion implementation for Fabric
Go to file
Kichura bfc295e5b8
Update ViaVersion, CI and MC dependencies. (#260)
* Update ViaVersion, CI and MC dependencies.

* Ensure publish only works on ViaVersion repo.

* Fix Mod Menu versions in 1.14.4 and 1.15.2.

* Update yarn for 1.18.2, 1.19.4 and 1.20.1.
2023-06-18 21:13:21 +02:00
.github Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
gradle/wrapper 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03:00
src/main 1.7.x doesn't work on viafabric. (#254) 2023-06-18 20:36:44 +02:00
viafabric-mc18 Removed MovementTransmitterProvider use() call (updated ViaVersion to 4.7.1-SNAPSHOT) (#259) 2023-06-18 20:43:50 +02:00
viafabric-mc114 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
viafabric-mc115 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
viafabric-mc116 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
viafabric-mc117 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
viafabric-mc118 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
viafabric-mc119 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
viafabric-mc120 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +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 Update ViaVersion, CI and MC dependencies. (#260) 2023-06-18 21:13:21 +02:00
CONTRIBUTING.md update legacy fabric api, lang autogen 2022-01-26 09:05:18 -03:00
gradle.properties Removed MovementTransmitterProvider use() call (updated ViaVersion to 4.7.1-SNAPSHOT) (#259) 2023-06-18 20:43:50 +02:00
gradlew 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03:00
gradlew.bat 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03:00
jitpack.yml 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03:00
LICENSE GPL 2021-04-02 12:03:06 -03:00
README.md 1.20 Pre-Release 7 for ViaFabric, Mention 1.20 in README and publish. (#250) 2023-05-29 14:16:13 -03:00
settings.gradle.kts 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03: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.8.9, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20 with Fabric Loader.

Dependencies

Dependency Download
(Bundled) ViaVersion https://viaversion.com/
(Bundled) Cotton Client Commands (MC 1.14-15) https://jitpack.io/#TinfoilMC/ClientCommands
Fabric API (MC 1.14+) https://modrinth.com/mod/fabric-api
Legacy Fabric API (MC 1.8.9) https://modrinth.com/mod/legacy-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?:

  • Just drop them into mods folder. Make sure you are using versions compatible with the ViaVersion version you are using.
  • CurseForge links: ViaBackwards ViaRewind

What versions can ViaVersion, ViaBackwards and ViaRewind 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.

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

  • Client-side:

1.8.x 1.9.x 1.10-1.14.4 1.15.x 1.16.x 1.17.x 1.18.x 1.19.x 1.20.x
1.8.9 client
1.14.x client
1.15.x client
1.16.x client
1.17.x client
1.18.x client
1.19.x client
1.20.x client

✓ = ViaVersion ⟲ = ViaBackwards = ViaRewind

Can ViaVersion, ViaBackwards and ViaRewind support snapshots?:

Alternatives

Client-side:

  • ClientViaVersion: Discontinued 5zig plugin.
  • multiconnect: Fabric mod for connecting to older versions: down to 1.11 (stable) and 1.8 (experimental).
  • ViaForge: Fork of ViaFabric porting it to Forge.
  • ViaFabricPlus: Fabric ViaVersion/ViaLegacy/ViaAprilFools implementation with client-side fixes.

Server-side:

  • ProtocolSupport: Bukkit plugin for older client versions (down to 1.4.7).
  • ViaVersion: Plugin for BungeeCord, CraftBukkit, SpongeCommon and Velocity servers.

Standalone proxy:

  • DirtMultiversion: Proxy allowing to connect down to Beta 1.3 with newer Minecraft client versions.
  • VIAaaS: Standalone ViaVersion proxy with ViaBackwards and ViaRewind, allowing you to connect without a mod installed on your client. Supports online mode.
  • ViaProxy: Standalone ViaVersion proxy with ViaBackward, 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.

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