Allows the connection of newer clients to older server versions for Minecraft servers.
Go to file
EnZaXD 60b3ba6bb7
Include snakeyaml into final jar, delete compat layers (#4070)
Snakeyaml is an untypical library which most Via platforms don't have and also broke in the past with V2, having it directly in the jar like Gson cleans up the build scripts massively, reduces the build time and also doesn't break in the future if they release V3 or any other breaking changes.
2024-08-05 09:30:34 +02:00
.github Replace other Bungee references 2024-05-30 21:55:10 +02:00
.idea Update API license headers and scope 2024-01-12 10:21:45 +01:00
api Include snakeyaml into final jar, delete compat layers (#4070) 2024-08-05 09:30:34 +02:00
build-logic Include snakeyaml into final jar, delete compat layers (#4070) 2024-08-05 09:30:34 +02:00
bukkit Only print reload info when needed, add additional log message after shutdown 2024-08-03 20:35:22 +02:00
bukkit-legacy Rename Position to BlockPosition 2024-05-21 13:05:15 +02:00
common Include snakeyaml into final jar, delete compat layers (#4070) 2024-08-05 09:30:34 +02:00
fabric Update authors 2024-04-07 20:41:44 +02:00
gradle Include snakeyaml into final jar, delete compat layers (#4070) 2024-08-05 09:30:34 +02:00
licenses Update license headers 2024-01-01 12:39:45 +01:00
template 5.0.2 Release 2024-07-28 14:37:59 +02:00
universal Removes VFP as well and recommends ViaBackwards/ViaRewind on both platforms (#4032) 2024-07-21 09:43:40 +02:00
velocity Use GH repository description in platforms (#4071) 2024-08-05 09:09:09 +02:00
.editorconfig Use enhanced switches in more places (#4043) 2024-07-24 14:32:36 +02:00
.gitignore 4.2.0 Release 2022-02-24 09:22:47 +01:00
build.gradle.kts Use GH repository description in platforms (#4071) 2024-08-05 09:09:09 +02:00
gradle.properties Fix enchantment emulation in 1.20.5->1.21 on non Paper servers (#4060) 2024-08-02 11:05:17 +02:00
gradlew Update Gradle wrapper 2024-07-14 21:31:38 +02:00
gradlew.bat Update Gradle wrapper 2024-07-14 21:31:38 +02: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 Add 1.21 to the version table (#4037) 2024-07-22 17:40:37 +02:00
settings.gradle.kts Include snakeyaml into final jar, delete compat layers (#4070) 2024-08-05 09:30:34 +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 Fabric clients 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.

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.