Allows the connection of newer clients to older server versions for Minecraft servers.
Go to file
Nassim Jahnke 46a5bb16d7
24w07a
2024-02-14 17:32:13 +01:00
.github Update JDK to 17, setup-java to v4 (#3660) 2024-01-20 21:18:42 +01:00
.idea Update API license headers and scope 2024-01-12 10:21:45 +01:00
api 24w07a 2024-02-14 17:32:13 +01:00
api-legacy Add ProtocolVersionRange API (#3691) 2024-02-14 09:51:56 +01:00
build-logic Replace more raw versions with ProtocolVersion 2024-02-13 22:48:08 +01:00
bukkit Rename comparing methods in ProtocolVersion (#3693) 2024-02-14 09:54:15 +01:00
bukkit-legacy Small random cleanup 2024-02-11 10:46:08 +01:00
bungee Rename comparing methods in ProtocolVersion (#3693) 2024-02-14 09:54:15 +01:00
common 24w07a 2024-02-14 17:32:13 +01:00
compat Update license headers 2024-01-01 12:39:45 +01:00
fabric Improve Gradle scripts 2023-11-06 14:31:44 +10:00
gradle Replace tag instanceof checks/unchecked casts with helper methods 2024-02-10 23:28:36 +01:00
licenses Update license headers 2024-01-01 12:39:45 +01:00
sponge Move config load after platform creation 2024-02-13 23:37:00 +01:00
template Update template protocol 2024-02-12 10:40:17 +01:00
universal Include api sources in common sources jar 2023-11-06 20:04:45 +10:00
velocity Rename comparing methods in ProtocolVersion (#3693) 2024-02-14 09:54:15 +01:00
.editorconfig Add editorconfig 2024-02-10 23:44:13 +01:00
.gitignore 4.2.0 Release 2022-02-24 09:22:47 +01:00
LICENSE Split parts of common into api; We are now GPL, api is MIT 2021-03-24 14:02:37 +01:00
README.md [ci skip] Update Minecraft Wiki link to new domain after fork (#3446) 2023-09-26 10:52:03 +10:00
build.gradle.kts Use mcstructs for component conversion 2023-12-26 23:38:02 +01:00
gradle.properties 24w07a 2024-02-14 17:32:13 +01:00
gradlew Update dependencies 2023-10-31 13:38:43 +10:00
gradlew.bat [ci skip] Update Gradle wrapper 2023-09-05 21:16:24 +10:00
settings.gradle.kts Use mcstructs for component conversion 2023-12-26 23:38:02 +01:00

README.md

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, Velocity, Bungee, and Sponge. We also have projects integrating ViaVersion to run on Fabric, Forge, 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.

Supported Versions:

Table (https://i.imgur.com/sTrVnC2.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>[4.0.0,5.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.

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.

Mapping Files

Mapping files are generated and managed in our Mappings repository.

Resources

License

The entirety of the API directory (including the legacy 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.