Client-side and server-side ViaVersion implementation for Fabric
Go to file
EnZaXD 01aa8fd17e
Code cleanup (#246)
* use CommonTransformer fields in Decoder

* Renamed classes and removed unused code
2023-05-28 10:40:02 -03:00
.github Add wrapper validation action to workflows 2023-02-22 16:36:04 +01:00
gradle/wrapper 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03:00
src/main Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc18 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc114 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc115 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc116 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc117 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc118 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc119 Code cleanup (#246) 2023-05-28 10:40:02 -03:00
viafabric-mc120 Code cleanup (#246) 2023-05-28 10:40:02 -03: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 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -03:00
CONTRIBUTING.md update legacy fabric api, lang autogen 2022-01-26 09:05:18 -03:00
gradle.properties 1.20 Pre-Release 6 for ViaFabric. (#248) 2023-05-28 10:36:49 -03: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 23w18a support, CI updates, Minor README adjustments (#242) 2023-05-08 18:09:40 -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 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.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

✓ = 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

multiconnect

Does it work with multiconnect at same time on client?:

  • Yes, ViaFabric can be used with multiconnect. ViaFabric will send to its version auto detector the closest non-beta supported version. (multiconnect beta-supported versions are currently < 1.11))

Differences with multiconnect:

ViaVersion multiconnect
Designed for servers clients
Can be installed on multiple client/server versions latest client version
Objectives simply implement ViaVersion version support with fixes to version changes
How does it work? modifying packets at network code modifying client code more deeply
Triggering anti-cheats very likely less likely

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