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)
|
2021-04-05 13:32:15 +02:00
|
|
|
[![Build Status](https://github.com/ViaVersion/ViaVersion/actions/workflows/gradle.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
|
|
|
|
any server version from the past decade. **See [HERE](https://github.com/ViaVersion) for an overview of the different Via\* projects.**
|
2016-02-29 00:04:59 +01:00
|
|
|
|
2024-06-20 17:42:27 +02:00
|
|
|
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.
|
|
|
|
|
2016-11-13 15:04:56 +01:00
|
|
|
Supported Versions:
|
|
|
|
|
2023-06-11 13:02:25 +02:00
|
|
|
![Table (https://i.imgur.com/sTrVnC2.png)](https://i.imgur.com/sTrVnC2.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
|
|
|
|
--------------
|
|
|
|
Mapping files are generated and managed in our [Mappings repository](https://github.com/ViaVersion/Mappings).
|
|
|
|
|
|
|
|
|
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
|
|
|
--------
|
2023-05-29 16:54:45 +02:00
|
|
|
The entirety of the [API directory](api) (including the legacy API directory) is licensed under the MIT License;
|
|
|
|
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).
|