Allows the connection of newer clients to older server versions for Minecraft servers.
Go to file
Nassim Jahnke 9c35228287
24w36a
2024-10-15 15:08:32 +02:00
.github
.idea
api 24w36a 2024-10-15 15:08:32 +02:00
build-logic Define as Sponge plugin for ViaSponge (#4163) 2024-10-02 10:41:59 +02:00
bukkit
bukkit-legacy
common 24w36a 2024-10-15 15:08:32 +02:00
fabric Update required ViaFabric version, don't require fabric-loader (#4174) 2024-10-10 12:26:32 +02:00
gradle Update some dependencies 2024-10-10 21:21:54 +02:00
licenses
sponge/src/main/resources Define as Sponge plugin for ViaSponge (#4163) 2024-10-02 10:41:59 +02:00
universal Define as Sponge plugin for ViaSponge (#4163) 2024-10-02 10:41:59 +02:00
velocity
.editorconfig
.gitignore
build.gradle.kts
gradle.properties 24w34a 2024-10-15 15:08:31 +02:00
gradlew
gradlew.bat
LICENSE
README.md
settings.gradle.kts Define as Sponge plugin for ViaSponge (#4163) 2024-10-02 10:41:59 +02:00

ViaVersion

Latest Release Build Status Discord

Allows the connection of higher client versions to lower server versions - it works on any platform you can think of.

The base ViaVersion jar runs on Paper and Velocity. We also have projects integrating ViaVersion to run on Fabric, Forge, Bungee, Sponge, or as a standalone proxy to join from basically any client version on any server version from the past decade. See HERE for an overview of the different Via* projects.

Note that ViaVersion will be able to run best on either Paper servers or through ViaFabricPlus due to having direct access to client/server state and more extensive API.

Supported Versions:

Table (https://i.imgur.com/zrQTcf0.png)

User Docs: https://docs.viaversion.com/display/VIAVERSION/

Releases/Dev Builds

You can find official releases in the following places:

Dev builds for all of our projects are on our Jenkins server:

ViaVersion as a Dependency

JavaDocs: https://jd.viaversion.com

Maven:

<repository>
    <id>viaversion-repo</id>
    <url>https://repo.viaversion.com</url>
</repository>
<dependency>
    <groupId>com.viaversion</groupId>
    <artifactId>viaversion-api</artifactId>
    <version>[5.0.0,6.0.0)</version>
    <scope>provided</scope>
</dependency>

Gradle:

repositories {
    maven("https://repo.viaversion.com")
}

dependencies {
    compileOnly("com.viaversion:viaversion-api:VERSION") // Replace the version
}

If you need access to the existing protocol or platform implementations, use the parent artifact viaversion. Please note the differences in licensing.

Note: If you want to make your own platform implementation of ViaVersion (and additional addons), you can use the ViaLoader project.

Building

After cloning this repository, build the project with Gradle by running ./gradlew build and take the created jar out of the build/libs directory.

You need JDK 17 or newer to build ViaVersion.

Mapping Files

Mapping files are generated and managed in our Mappings repository. The generated mapping output is stored here.

Resources

License

The entirety of the API directory is licensed under the MIT License; see licenses/MIT.md for details.

Everything else, unless explicitly stated otherwise, is licensed under the GNU General Public License v3, including the end-product as a whole; see licenses/GPL.md for details.

Special thanks to all our Contributors.