13
0
geforkt von Mirrors/Velocity
Datei suchen
Adrian cbd07b1434
Refactor ResourcePacks handling (#1225)
* Initial ResourcePack refactor

* Implement sendResourcePacks method

* Initializes the ResourcePackHandler at player initialization

* Move adventure to velocity resource pack conversion to the same class

* Added some internal resource pack documentation

* Refactored Modern ResourcePack handling

* Handle RemoveResourcePackPacket from backend server

* Fixed license

* Use removeIf instead of manual iteration

* Improve ModernResourcePackHandler

* fix hash conversion

* bundle resource packs

* keep old constructors of PlayerResourcePackStatusEvent

* add @Nullable to PlayerResourcePackStatusEvent#getPackId

* Use a single instance of BundleDelimiterPacket

* Throw UnSupportedOperationException on operations not supported by LegacyResourcePackHandler

* Use a single instance on empty packets

* Handle active packet bundle sending from backend server in case of sending a packet bundle of resource packs

* Improve packet bundling

* Fixed login for players with version 1.20.2

---------

Co-authored-by: Gero <gecam59@gmail.com>
2024-02-08 08:51:45 -05:00
.github Move GH actions to java 17 2023-12-09 18:16:02 +00:00
api Refactor ResourcePacks handling (#1225) 2024-02-08 08:51:45 -05:00
build-logic Improve protocol version checking (#1203) 2024-01-18 17:32:42 -08:00
config/checkstyle Use Spotless for license formatting 2023-01-01 18:46:33 -05:00
gradle Bump netty to 4.1.106.Final (#1233) 2024-02-08 07:27:16 +00:00
native Stop shipping the OpenSSL 1.0.x native 2024-01-21 20:48:15 -05:00
proxy Refactor ResourcePacks handling (#1225) 2024-02-08 08:51:45 -05:00
.gitignore 1.20.2 Support (#1088) 2023-10-10 12:44:16 +00:00
build.gradle.kts Bump minimum java version to 17 2023-12-09 18:27:49 +00:00
CONTRIBUTING.md Update CONTRIBUTING.md 2021-01-22 19:50:31 -05:00
crowdin.yml Update Crowdin configuration file 2022-08-07 10:56:43 -04:00
gradle.properties Bump version pending 1.20.4 and API changes 2023-12-09 17:55:58 +00:00
gradlew Update Configurate to 4.1.2 and include Configurate 3 (#1157) 2023-12-11 15:16:44 +00:00
gradlew.bat Update Gradle wrapper, add wrapper-validation-action to build workflow 2023-03-09 19:10:01 +01:00
HEADER.txt Use Spotless for license formatting 2023-01-01 18:46:33 -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 README.md (#990) 2023-03-31 12:05:53 -07:00
settings.gradle.kts Bump to adventure release 2024-01-19 15:26:31 +00: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, 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.