mirror of
https://github.com/PaperMC/Velocity.git
synced 2025-04-06 16:40:52 +08:00
* Configuring the player (i.e. sending resource packs) should now be done in the new PlayerConfigurationEvent. * The new PlayerEnteredConfigurationEvent is called when a player acknowledged the switch to configuration state. * The PlayerEnterConfigurationEvent is no longer called twice. It is now called when the backed wants to reconfigure the player. * The PlayerFinishConfigurationEvent should no longer be used to configure the player (i.e. sending resource packs). This is because since 1.20.5 the backend server can't send keep alive packets between switching state anymore and the connection will thus time out.
Velocity
A Minecraft server proxy with unparalleled server support, scalability, and flexibility.
Velocity is licensed under the GPLv3 license.
Goals
- A codebase that is easy to dive into and consistently follows best practices for Java projects as much as reasonably possible.
- High performance: handle thousands of players on one proxy.
- A new, refreshing API built from the ground up to be flexible and powerful whilst avoiding design mistakes and suboptimal designs from other proxies.
- First-class support for Paper, Sponge, Fabric and Forge. (Other implementations may work, but we make every endeavor to support these server implementations specifically.)
Building
Velocity is built with Gradle. We recommend using the
wrapper script (./gradlew
) as our CI builds using it.
It is sufficient to run ./gradlew build
to run the full build cycle.
Running
Once you've built Velocity, you can copy and run the -all
JAR from
proxy/build/libs
. Velocity will generate a default configuration file
and you can configure it from there.
Alternatively, you can get the proxy JAR from the downloads page.
Languages
Java
99.3%
C
0.4%
Shell
0.2%