Mirror von
https://github.com/PaperMC/Velocity.git
synchronisiert 2024-12-24 15:20:35 +01:00
2217e8a5c9
The 1.7 tablist packet only contains three types of information: - Name of the tablist entry (limited to 16 characters including colors) - Ping of the entry - If this entry needs to be added or removed (client accepts duplicates as 'ping update') The previous logic was trying to preserve parity with GameProfile#getName returning a stripped down name to have a 'real' username. That is fundamentally broken, because entries with duplicate content, but different colors are very common, especially with custom tablists. For packets coming from a native 1.7 server we just won't define the displayname anymore, as there is no such thing as a 'displayname', because tablist entries are not bound to any player. Using the Velocity Tablist API to modify existing entries will work, though the backend server will completely loose control over the entry. Custom entries added over the Velocity Tablist API will work, but are cut off by the 16 character limitation. This commit only fixes the bug, where entries are incorrectly handled with their stripped name, a lot of the things explained above were already implemented correctly. |
||
---|---|---|
api | ||
config/checkstyle | ||
gradle | ||
native | ||
proxy | ||
.gitignore | ||
.travis.yml | ||
build.gradle | ||
CONTRIBUTING.md | ||
gradlew | ||
gradlew.bat | ||
Jenkinsfile | ||
LICENSE | ||
README.md | ||
settings.gradle |
Velocity
A Minecraft server proxy with unparalleled server support, scalability, and flexibility.
Velocity is licensed under the MIT license for ultimate permissiveness and expanding the pool of potential contributors and users.
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, 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.