13
0
geforkt von Mirrors/Velocity
Datei suchen
Andrew Steinborn 4ca97a6df9 Reapply "Optimize varint writing"
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry

Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.

This includes a test to ensure that the behavior is as expected and fixes the initialization loop so that the correct results will be given. Much thanks to @octylFractal for acting as my duck while trying to figure this out.
2021-05-03 19:14:48 -04:00
.github/workflows Fix job name 2021-01-26 19:56:17 -05:00
api Added ListenerBoundEvent and ListenerCloseEvent. (#454) 2021-04-02 13:24:45 -04:00
config/checkstyle Loosen Checkstyle rules for this. 2020-06-24 11:34:13 -04:00
gradle Fix typo causing failed deploy. This is Velocity 1.1.0. 2020-10-28 10:58:45 -04:00
native Relicense the Velocity proxy under the terms of GPLv3 (#448) 2021-03-31 16:04:06 -04:00
proxy Reapply "Optimize varint writing" 2021-05-03 19:14:48 -04:00
.gitignore Rewrite native crypto to use OpenSSL 2020-06-22 20:14:46 -04:00
.travis.yml Allow building on Java 11 (and set Travis to build on OpenJDK 11) 2019-10-04 17:09:41 -04:00
build.gradle Velocity 1.1.6-SNAPSHOT 2021-04-22 11:28:49 -04:00
CONTRIBUTING.md Update CONTRIBUTING.md 2021-01-22 19:50:31 -05:00
gradlew Initial commit. Very broken and only does Server List Ping! 2018-07-24 14:08:55 -04:00
gradlew.bat Initial commit. Very broken and only does Server List Ping! 2018-07-24 14:08:55 -04:00
HEADER.txt Relicense the Velocity proxy under the terms of GPLv3 (#448) 2021-03-31 16:04:06 -04:00
Jenkinsfile Disallow all concurrent builds. 2018-12-07 17:25:04 -05:00
LICENSE Relicense the Velocity proxy under the terms of GPLv3 (#448) 2021-03-31 16:04:06 -04:00
README.md [ci-skip] Update license in README 2021-03-31 20:36:08 -04:00
settings.gradle An Easter basket bearing gifts! (#191) 2019-04-24 14:36:49 -04:00

Velocity

Build Status Join our Discord

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, 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.