Client-side and server-side ViaVersion implementation for Fabric
Go to file
Kichura 91a0a1809d
Update ViaFabric from 1.20.2->1.20.3 (#284)
* Prepare to update to 1.20.3. (Hunt for errors first)

* Correct report URL in value, Update Mod Menu.

* Fixed compile errors

---------

Co-authored-by: FlorianMichael <60033407+FlorianMichael@users.noreply.github.com>
2023-12-05 20:35:11 +01:00
.github Update ViaFabric from 1.20.2->1.20.3 (#284) 2023-12-05 20:35:11 +01:00
gradle/wrapper Gradle 8.4, Fabric Loader 0.14.23. (#277) 2023-10-19 15:17:09 +02:00
src/main Update ViaFabric from 1.20.2->1.20.3 (#284) 2023-12-05 20:35:11 +01:00
viafabric-mc18 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc114 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc115 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc116 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc117 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc118 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc119 Sync debug mixin to all ViaFabric versions 2023-10-16 15:00:44 +02:00
viafabric-mc120 Update ViaFabric from 1.20.2->1.20.3 (#284) 2023-12-05 20:35:11 +01: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 ViaFabric from 1.20.2->1.20.3 (#284) 2023-12-05 20:35:11 +01:00
CONTRIBUTING.md update legacy fabric api, lang autogen 2022-01-26 09:05:18 -03:00
gradle.properties Update ViaFabric from 1.20.2->1.20.3 (#284) 2023-12-05 20:35:11 +01:00
gradlew 1.20.2, Dependency updates, JDK level correction. (#272) 2023-09-21 19:57:20 +02:00
gradlew.bat 1.20.2, Dependency updates, JDK level correction. (#272) 2023-09-21 19:57:20 +02:00
jitpack.yml 1.20.2, Dependency updates, JDK level correction. (#272) 2023-09-21 19:57:20 +02:00
LICENSE GPL 2021-04-02 12:03:06 -03:00
README.md Update ViaFabric from 1.20.2->1.20.3 (#284) 2023-12-05 20:35:11 +01:00
settings.gradle.kts Fixed building 2023-09-22 23:01:34 +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.8.9, 1.14.4, 1.15.2, 1.16.5, 1.17.1, 1.18.2, 1.19.4, 1.20.3 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.

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.9 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.4 client
1.15.2 client
1.16.5 client
1.17.1 client
1.18.2 client
1.19.4 client
1.20.3 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?:

Alternatives

Client-side:

  • ClientViaVersion: Discontinued 5zig plugin.
  • multiconnect: Discontinued 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/ViaBedrock 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!)