ViaVersion/README.md

113 lines
4.5 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://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
2024-12-04 20:42:40 +01:00
Snapshot support
--------
**ViaVersion will only be released a few days *after* a Minecraft update** unless the protocol changes of the update were trivial. If you want early-access, usually days or even weeks before the final release, you can subscribe to either:
- [GitHub Sponsors](https://github.com/sponsors/kennytv/sponsorships?sponsor=kennytv&tier_id=385613&preview=false) (preferred option. Use the `/verify` command on this Discord after), or alternatively
- [Patreon](https://www.patreon.com/kennytv/membership) (see the highest tier and make sure to link Patreon to your Discord account under Settings->Connections)
This also includes access to a private repository with the code, which will be pushed to the public repository after the given delay on a Minecraft update.
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)
2024-12-10 15:50:38 +01:00
- Previously: **[Burger](https://github.com/Pokechu22/Burger)** (see [PAaaS](https://github.com/Matsv/Paaas)) and **wiki.vg**
2023-08-11 13:06:10 +02:00
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).