A custom fork of Velocity
A list of small tweaks I made:
- Added proxy setting for authenticating player with
sessionserver.mojang.com
- The proxy setting is in the
auth-proxy
section invelocity.toml
, of course you know how to fill it - Supported proxy types:
socks4
,socks5
,http
- If enabled, velocity will firstly try authenticating with the given proxy, if failed it will try again without the proxy
- The proxy setting is in the
- Implement player UUID rewrite, like what bungeecord does.
Make setup with online velocity + offline Minecraft server work correctly
(
online-mode=true
on velocity +online-mode=false
on backend mc servers +player-info-forwarding-mode=none
)- Packets to rewrite:
- TabList packets
- Affects
LegacyPlayerListItemPacket
,UpsertPlayerInfoPacket
,RemovePlayerInfoPacket
packets - Rewrites player UUIDs inside those packets to their UUIDs in the velocity server
- Affects
- Entity packets
- Rewrites player UUIDs inside player creation packets and spectator teleport packets, to their UUIDs in the velocity server
- TabList packets
- All related configs are under section
uuid-rewrite
invelocity.toml
- Optional external uuid mapping sqlite database support
- Enabled with
databaseEnabled = true
, database path configurable withdatabasePath
- Mapping between online / offline uuid will be updated on player connected
- The sqlite database file can be shared between multiple velocity instances
- Enabled with
- UUID rewrite can be disabled by setting
enabled = false
- Packets to rewrite:
A Minecraft server proxy with unparalleled server support, scalability, and flexibility.
Velocity is licensed under the GPLv3 license.
- 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.)
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.
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.