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-proxysection 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=trueon velocity +online-mode=falseon backend mc servers +player-info-forwarding-mode=none)- Packets to rewrite:
- TabList packets
- Affects
LegacyPlayerListItemPacket,UpsertPlayerInfoPacket,RemovePlayerInfoPacketpackets - 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-rewriteinvelocity.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:
- Added advanced proxy setting to forward client virtual host
- setting to overwrite handshake packet host and port between virtual host or backend server
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.