Shane Freeder 64e603c7e0 feat(config): add velocity.yml loading and velocity.toml migration
Implement the runtime entry point for the YAML config:

- ConfigurationLoader.loadConfiguration() resolves velocity.yml, migrating a
  legacy velocity.toml or writing the documented default on first start. Absent
  keys fall back to the model's field defaults (matching the old getOrElse
  behaviour), so existing files are never rewritten and their comments survive.
- Migration runs the legacy night-config migrations to normalise the TOML, then
  writes it as YAML stamped config-version=1, preserving a custom
  forwarding-secret-file location, and archives the old file as
  velocity.toml.migrated.
- Forwarding secret resolution mirrors the legacy path (env var, then the
  forwarding-secret-file, creating it if absent) and is injected via a new
  package-private setter; the secret stays out of velocity.yml.

Not yet wired into VelocityServer; that follows in the next change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 21:28:40 +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%