Add ViaAxiom
Deploy / Build (push) Skipped
Pull Request Build / Build (pull_request) Failing after 17s

This commit is contained in:
Jakob Schulz
2026-11-01 15:30:21 +01:00
parent e198772885
commit f373e3d6d9
76 changed files with 4496 additions and 896 deletions
+38
View File
@@ -0,0 +1,38 @@
# ViaAxiom
Translates Axiom traffic between Axiom and Minecraft versions. The Velocity plugin does this on the proxy, so players only need Axiom. The Fabric client mod does the same on the client, for servers you don't run. Never use both on one connection, the IDs would be translated twice.
## Velocity plugin
Needs Java 21 and ViaVersion on the proxy. Add ViaBackwards if clients can be older than a backend. Backends run AxiomPaper as usual, and it still decides permissions.
Build with JDK 21 or newer and put the jar in `plugins/`:
```
./gradlew :velocity:shadowJar
```
The jar ends up in `velocity/build/libs`. It bundles Zstd for Linux x64, Linux arm64 and Windows x64.
| Client | Backend | Result |
|--------|---------------------------------|---------------------------------------------------------------------|
| API 10 | API 9 | Bridged, with block IDs translated if the Minecraft versions differ |
| API 10 | API 10, other Minecraft version | Block IDs translated |
| API 10 | API 10, same Minecraft version | Passed through |
| API 9 | any | Passed through, not translated |
## Fabric mod
Needs ViaFabricPlus. Build with JDK 25, older JDKs skip this module:
```
./gradlew :fabric:build
```
## Layout
`core` holds the protocol codecs and translation. `velocity` and `fabric` are thin adapters around it. Protocol notes are in [docs/protocol.md](docs/protocol.md).
## License
MIT. See [NOTICE.txt](NOTICE.txt) for credits and bundled libraries.