2023-08-11 13:06:10 +02:00
# ViaVersion
2021-03-22 23:06:40 +01:00
2020-08-11 19:06:38 +02:00
[![Latest Release ](https://img.shields.io/github/v/release/ViaVersion/ViaVersion )](https://viaversion.com)
2024-08-07 11:32:16 +02:00
[![Build Status ](https://github.com/ViaVersion/ViaVersion/actions/workflows/build.yml/badge.svg?branch=master )](https://github.com/ViaVersion/ViaVersion/actions)
2017-05-22 16:49:42 +02:00
[![Discord ](https://img.shields.io/badge/chat-on%20discord-blue.svg )](https://viaversion.com/discord)
2016-08-21 16:52:59 +02:00
2023-08-11 13:06:10 +02:00
**Allows the connection of higher client versions to lower server versions -
it works on any platform you can think of.**
2024-05-30 21:55:10 +02:00
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
2024-08-13 10:14:22 +02:00
any server version from the past decade. **See [HERE](https://viaversion.com) for an overview of the different Via\* projects.**
2016-02-29 00:04:59 +01:00
2024-08-11 11:33:12 +02:00
Note that ViaVersion will be able to **run best on either Paper servers or through [ViaFabricPlus](https://github.com/ViaVersion/ViaFabricPlus?tab=readme-ov-file#viafabricplus)** due to having
2024-06-20 17:42:27 +02:00
direct access to client/server state and more extensive API.
2016-11-13 15:04:56 +01:00
Supported Versions:
2024-07-22 17:40:37 +02:00
![Table (https://i.imgur.com/zrQTcf0.png) ](https://i.imgur.com/zrQTcf0.png )
2016-11-13 15:04:56 +01:00
2016-07-01 18:13:01 +02:00
**User Docs:** https://docs.viaversion.com/display/VIAVERSION/
2016-03-27 22:50:49 +02:00
2023-08-11 13:06:10 +02:00
Releases/Dev Builds
2016-03-27 22:50:49 +02:00
--------
2023-08-11 13:06:10 +02:00
You can find official releases in the following places:
2016-03-27 22:50:49 +02:00
2023-08-11 13:06:10 +02:00
- **Hangar (for our plugins)**: https://hangar.papermc.io/ViaVersion/ViaVersion
- **Modrinth (for our mods)**: https://modrinth.com/mod/viaversion
- **GitHub**: https://github.com/ViaVersion/ViaVersion/releases
2016-03-27 22:50:49 +02:00
2023-08-11 13:06:10 +02:00
Dev builds for **all** of our projects are on our Jenkins server:
2016-08-21 16:52:59 +02:00
2023-08-11 13:06:10 +02:00
- **Jenkins**: https://ci.viaversion.com
2016-08-21 16:52:59 +02:00
2023-08-11 13:06:10 +02:00
ViaVersion as a Dependency
2016-03-27 22:50:49 +02:00
----------
2016-05-27 19:05:46 +02:00
**JavaDocs:** https://jd.viaversion.com
2016-03-18 22:25:41 +01:00
2023-08-11 13:06:10 +02:00
**Maven:**
2023-05-29 16:54:45 +02:00
2021-03-22 23:06:40 +01:00
```xml
< repository >
< id > viaversion-repo< / id >
< url > https://repo.viaversion.com< / url >
< / repository >
```
```xml
< dependency >
2021-04-26 20:52:34 +02:00
< groupId > com.viaversion< / groupId >
2021-03-22 23:06:40 +01:00
< artifactId > viaversion-api< / artifactId >
2024-05-12 21:47:20 +02:00
< version > [5.0.0,6.0.0)< / version >
2021-03-22 23:06:40 +01:00
< scope > provided< / scope >
< / dependency >
```
2023-08-11 13:06:10 +02:00
**Gradle:**
```kotlin
repositories {
maven("https://repo.viaversion.com")
}
dependencies {
compileOnly("com.viaversion:viaversion-api:VERSION") // Replace the version
}
```
2021-03-22 23:06:40 +01:00
If you need access to the existing protocol or platform implementations, use the parent artifact `viaversion` .
Please note the [differences in licensing ](#license ).
2024-06-22 11:01:55 +02:00
Note: If you want to make your own platform implementation of ViaVersion (and additional addons),
you can use the [ViaLoader ](https://github.com/ViaVersion/ViaLoader ) project.
2016-03-29 16:36:21 +02:00
2023-03-04 19:43:08 +01:00
Building
2021-02-25 10:21:11 +01:00
--------
2023-05-29 16:54:45 +02:00
After cloning this repository, build the project with Gradle by running `./gradlew build` and take the created jar out
2023-08-11 13:06:10 +02:00
of the `build/libs` directory.
2021-02-25 10:21:11 +01:00
2021-08-28 16:50:52 +02:00
You need JDK 17 or newer to build ViaVersion.
2021-02-25 10:21:11 +01:00
2023-03-04 19:43:08 +01:00
Mapping Files
--------------
2024-08-11 11:33:12 +02:00
Mapping files are generated and managed in our [Mappings repository ](https://github.com/ViaVersion/Mappings ). The generated mapping output is stored [here ](./common/src/main/resources/assets/viaversion ).
2023-03-04 19:43:08 +01:00
2023-08-11 13:06:10 +02:00
Resources
--------
- **[Via Mappings Generator](https://github.com/ViaVersion/Mappings)**
2023-09-26 02:52:03 +02:00
- **[Mojang mappings](https://minecraft.wiki/w/Obfuscation_map)** (Thank you, Mojang, very cool)
2023-08-11 13:06:10 +02:00
- **[wiki.vg](https://wiki.vg)** (Used for historic information regarding packet structure, we also contribute back)
- **[Burger](https://github.com/Pokechu22/Burger)** (See [PAaaS ](https://github.com/Matsv/Paaas ))
2023-03-04 19:43:08 +01:00
License
2016-02-29 00:18:33 +01:00
--------
2024-08-11 11:33:12 +02:00
The entirety of the [API directory ](api ) is licensed under the MIT License;
2023-05-29 16:54:45 +02:00
see [licenses/MIT.md ](licenses/MIT.md ) for
2021-03-22 23:06:40 +01:00
details.
2016-02-29 00:04:59 +01:00
2023-08-11 13:06:10 +02:00
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 ](licenses/GPL.md ) for details.
2016-03-03 11:37:10 +01:00
2021-03-22 23:06:40 +01:00
Special thanks to all our [Contributors ](https://github.com/ViaVersion/ViaVersion/graphs/contributors ).