ViaVersion/README.md

107 lines
3.8 KiB
Markdown
Raw Normal View History

2023-08-11 13:06:10 +02:00
# ViaVersion
2020-08-11 19:06:38 +02:00
[![Latest Release](https://img.shields.io/github/v/release/ViaVersion/ViaVersion)](https://viaversion.com)
[![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
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-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
```xml
<repository>
<id>viaversion-repo</id>
<url>https://repo.viaversion.com</url>
</repository>
```
```xml
<dependency>
<groupId>com.viaversion</groupId>
<artifactId>viaversion-api</artifactId>
2024-05-12 21:47:20 +02:00
<version>[5.0.0,6.0.0)</version>
<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
}
```
If you need access to the existing protocol or platform implementations, use the parent artifact `viaversion`.
Please note the [differences in licensing](#license).
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
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)**
- **[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
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.
Special thanks to all our [Contributors](https://github.com/ViaVersion/ViaVersion/graphs/contributors).