multiconnect

multiconnect

108k Downloads

Project icon

multiconnect

GitHub license GitHub issues GitHub tag

Connect to many different server versions from your Fabric client!

This project has been archived

Multiconnect has kind of been in a state of disrepair for a while now, and if I'm going to be totally honest it's because I haven't had the motivation or energy to work on it for quite a while. I don't see this changing so I have decided to archive the project.

For a replacement, I can whole-heartedly recommend ViaFabricPlus, which has all the features that multiconnect had, and also goes all the way down to classic versions of Minecraft, and can connect to Bedrock servers. It is available on Modrinth and CurseForge for 1.19.4, and is open source under the GPL-3.0 license.

Social

Discord: https://discord.gg/Jg7Bun7 Patreon: https://www.patreon.com/earthcomputer

Why another protocol translator?

Multiconnect distinguishes itself from similar projects such as ViaVersion and ProtocolSupport in that it is very much client-side. Crucially, this means it can (and does) fix many version differences on the client; such issues are unfixable on the server. As of the time of writing, multiconnect is the only mod which fixes 1.12 swimming mechanics, parkour differences, and re-adds removed features such as command syntax on the client.

On the other hand, multiconnect supports only the latest Minecraft client version, and only on Fabric. It also does not have as much version coverage as ViaVersion and ProtocolSupport (yet).

Usage with ViaFabric

If you want to connect to servers older than what multiconnect can currently support, you can install ViaFabric alongside multiconnect, the two are compatible - multiconnect will translate as much as it can, ViaFabric will take you the rest of the way. Follow the instructions in the ViaFabric readme for details on how to do this.

Other alternatives

Installation for Players

  1. Download and run the Fabric installer.
    • Click the "vanilla" button, leave the other settings as they are, and click "download installer".
    • Note: this step may vary if you aren't using the vanilla launcher or an old version of Minecraft.
  2. Download multiconnect from the releases page and move it to the mods folder (.minecraft/mods).

Build Instructions

  1. Building requires JDK17.
    1. On Windows, run gradlew build
    2. On Linux and MacOS, run ./gradlew build
    3. Note: sometimes, especially on development versions, the tests may fail. To skip the tests, use ./gradlew build -x test
  2. The JAR file can be found in build/libs (it's the one with the shortest name).

Installation for Mod Developers

Looking to support custom payloads? Check out this document.

This section is for when you are developing your own mod and want to use the multiconnect API, or run multiconnect alongside your mod in the IDE. Aside from the first step, you ONLY need to follow the steps applicable to you and your mod.

  1. Explicitly setting a repository is not necessary, as multiconnect is hosted on Maven Central.
  2. If you want to use the API inside your mod, you will have to jar-in-jar it for the release and add it to the classpath. To do this, add the following to your dependencies {} block:
    dependencies {
       // ...
       modImplementation('net.earthcomputer.multiconnect:multiconnect-api:<version>') { transitive = false }
       include('net.earthcomputer.multiconnect:multiconnect-api:<version>') { transitive = false }
    }
    • Note: replace <version> with the version of multiconnect you want to depend on.
    • Note: SKIP the include part if your mod is NOT using the API in any way.
  3. If you want to run multiconnect in the IDE alongside your mod, add the following to your dependencies {} block:
    dependencies {
       // ...
       modRuntimeOnly('net.earthcomputer.multiconnect:multiconnect-slim:<version>') { transitive = false }
    }
    • Note: the previous step should also be done alongside this step.
    • Note: this step is only necessary if you want to run the full mod in the IDE. Otherwise you can skip this step.

Contributing

See contributing.md