Client-side and server-side ViaVersion implementation for Fabric
Go to file
2024-06-02 02:26:21 +02:00
.github [ci skip] BungeeCord->Velocity, Exclude NEC. (#339) 2024-06-02 02:26:21 +02:00
.idea/copyright Added copyright profile 2024-01-21 11:33:04 +01:00
gradle/wrapper Gradle 8.8 (#337) 2024-06-01 18:56:38 +02:00
src/main Port to upstream changes (maybe) 2024-05-15 00:49:33 +02:00
viafabric-mc189 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1122 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1144 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1152 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1165 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1171 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1182 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1194 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1201 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1204 Update VV API usage 2024-06-01 00:34:15 +02:00
viafabric-mc1206 Update VV API usage 2024-06-01 00:34: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 Gradle 8.8 (#337) 2024-06-01 18:56:38 +02:00
CONTRIBUTING.md update legacy fabric api, lang autogen 2022-01-26 09:05:18 -03:00
gradle.properties Ubuntu 24.04, JDK 21.0.3 in JitPack, ViaVersion 4.10.3-SNAPSHOT (#333) 2024-05-17 21:50:27 +02:00
gradlew Gradle 8.8 (#337) 2024-06-01 18:56:38 +02:00
gradlew.bat Gradle 8.8 (#337) 2024-06-01 18:56:38 +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 Update version references 2024-04-29 17:59:45 +02:00
settings.gradle.kts Downgrade VV dependency to J8 2024-06-01 01:57:28 +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.12.2, 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 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 and 1.12.2) 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.12.2 1.13-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.12.2 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.1 client (⟲ if connecting to newer 1.20.2 - 1.20.6 servers)
1.20.4 client (⟲ if connecting to 1.20.6 servers)
1.20.6 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: Clientside Implementation of ViaVersion for 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 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.

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