Shane Freeder d0e654d1ca feat(config): map VelocityConfiguration to YAML via Configurate ObjectMapper
Wire up the Configurate ObjectMapper path for the new velocity.yml format:

- Make VelocityConfiguration ObjectMapper-friendly: no-arg constructor,
  non-final nested fields, transient on non-config fields (forwardingSecret,
  motdAsComponent, favicon), and drop the dead gson @Expose annotations.
- Annotate Advanced/Query/Metrics @ConfigSerializable and add @Setting for the
  keys the lower-case-dashed naming scheme can't derive (kick-existing-players,
  packet-limiter, haproxy-protocol, accepts-transfers, query enabled/port/map).
- Add ConfigurationLoader with a LOWER_CASE_DASHED ObjectMapper factory, a YAML
  loader builder, load/save helpers, and custom TypeSerializers for the dynamic
  sections that don't fit object mapping: Servers (entries + try), ForcedHosts,
  and PacketLimiterConfig (renamed keys).
- Add ConfigurationLoaderTest: loads the bundled default, and round-trips a
  config with non-default values for every renamed/custom-mapped key so a wrong
  mapping can't silently fall back to an identical default.

Part of the velocity.toml -> velocity.yml Configurate migration.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 21:15:33 +01:00
2026-01-25 19:13:08 +01:00
2026-06-16 12:20:59 +01:00
2025-09-25 19:28:54 -05:00
2023-10-10 12:44:16 +00:00
2021-01-22 19:50:31 -05:00
2022-08-07 10:56:43 -04:00
2026-01-25 19:13:08 +01:00
2026-01-25 19:13:08 +01:00
2023-01-01 18:46:33 -05: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.

Localisation

Translations are handled using Crowdin. If you want to translate a language not available on Crowdin, you might want to ask in the Discord about it.

Description
Languages
Java 99.3%
C 0.4%
Shell 0.2%