mirror of
https://github.com/PaperMC/Velocity.git
synced 2026-02-17 14:37:43 +01:00
e49603ec0cc68e87e10f6cd08279e12bbf008e3e
# Conflicts: # api/src/main/java/com/velocitypowered/api/command/ConsoleCommandSource.java # api/src/main/java/com/velocitypowered/api/event/connection/ProxyPingEvent.java # api/src/main/java/com/velocitypowered/api/event/connection/ProxyQueryEvent.java # api/src/main/java/com/velocitypowered/api/event/lifecycle/ListenerBoundEvent.java # api/src/main/java/com/velocitypowered/api/event/lifecycle/ListenerCloseEvent.java # api/src/main/java/com/velocitypowered/api/event/lifecycle/ProxyInitializeEvent.java # api/src/main/java/com/velocitypowered/api/event/lifecycle/ProxyReloadEvent.java # api/src/main/java/com/velocitypowered/api/event/lifecycle/ProxyShutdownEvent.java # api/src/main/java/com/velocitypowered/api/event/player/DisconnectEvent.java # api/src/main/java/com/velocitypowered/api/event/player/LoginEvent.java # api/src/main/java/com/velocitypowered/api/event/player/PostLoginEvent.java # api/src/main/java/com/velocitypowered/api/event/player/PreLoginEvent.java # api/src/main/java/com/velocitypowered/api/event/query/package-info.java # api/src/main/java/com/velocitypowered/api/proxy/connection/InboundConnection.java # api/src/main/java/com/velocitypowered/api/proxy/connection/Player.java # api/src/main/java/com/velocitypowered/api/proxy/connection/ServerConnection.java # api/src/main/java/com/velocitypowered/api/proxy/player/ConnectionRequestBuilder.java # api/src/main/java/com/velocitypowered/api/util/MessagePosition.java # api/src/main/java/com/velocitypowered/api/util/bossbar/BossBar.java # api/src/main/java/com/velocitypowered/api/util/bossbar/BossBarColor.java # api/src/main/java/com/velocitypowered/api/util/bossbar/BossBarFlag.java # api/src/main/java/com/velocitypowered/api/util/bossbar/BossBarOverlay.java # api/src/main/java/com/velocitypowered/api/util/title/TextTitle.java # api/src/main/java/com/velocitypowered/api/util/title/Title.java # api/src/main/java/com/velocitypowered/api/util/title/Titles.java # api/src/main/java/com/velocitypowered/api/util/title/package-info.java # build.gradle # native/src/main/java/com/velocitypowered/natives/compression/Java11VelocityCompressor.java # proxy/src/main/java/com/velocitypowered/proxy/connection/client/LoginSessionHandler.java # proxy/src/main/java/com/velocitypowered/proxy/network/ConnectionManager.java # proxy/src/main/java/com/velocitypowered/proxy/network/NettyPreconditions.java # proxy/src/main/java/com/velocitypowered/proxy/network/PluginMessageUtil.java # proxy/src/main/java/com/velocitypowered/proxy/network/ProtocolUtils.java # proxy/src/main/java/com/velocitypowered/proxy/network/ServerChannelInitializerHolder.java # proxy/src/main/java/com/velocitypowered/proxy/network/buffer/ByteBufDataInput.java # proxy/src/main/java/com/velocitypowered/proxy/network/buffer/ByteBufDataOutput.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundAvailableCommandsPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundBossBarPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundEncryptionRequestPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundJoinGamePacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundPlayerListItemPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundRespawnPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundTabCompleteResponsePacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/legacy/LegacyDisconnectPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/legacy/LegacyMinecraftPingVersion.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/serverbound/ServerboundClientSettingsPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/packet/serverbound/ServerboundTabCompleteRequestPacket.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/AutoReadHolderHandler.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/GS4QueryHandler.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/LegacyPingDecoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/LegacyPingEncoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCipherDecoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCipherEncoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressDecoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftCompressEncoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftDecoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftEncoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftVarintFrameDecoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftVarintLengthEncoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/VarintByteDecoder.java # proxy/src/main/java/com/velocitypowered/proxy/network/resolver/SeparatePoolInetNameResolver.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/FaviconSerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/GameProfileSerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/VelocityLegacyHoverEventSerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ArgumentPropertyRegistry.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ByteArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/DoubleArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/EmptyArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/FloatArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/GenericArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/IntegerArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/LongArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ModArgumentProperty.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/ModArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/PassthroughProperty.java # proxy/src/main/java/com/velocitypowered/proxy/network/serialization/brigadier/StringArgumentPropertySerializer.java # proxy/src/main/java/com/velocitypowered/proxy/plugin/VelocityEventManager.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/MinecraftPacket.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/StateRegistry.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Chat.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Disconnect.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/EncryptionResponse.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/Handshake.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/HeaderAndFooter.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/KeepAlive.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LegacyHandshake.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LegacyPing.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LoginPluginMessage.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LoginPluginResponse.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/PluginMessage.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ResourcePackRequest.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ResourcePackResponse.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLogin.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLoginSuccess.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/SetCompression.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusPing.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusRequest.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/StatusResponse.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/TitlePacket.java # proxy/src/main/java/com/velocitypowered/proxy/protocol/util/DeferredByteBufHolder.java # proxy/src/main/java/com/velocitypowered/proxy/util/bossbar/AdventureBossBarManager.java # proxy/src/main/java/com/velocitypowered/proxy/util/bossbar/VelocityBossBar.java # proxy/src/test/java/com/velocitypowered/proxy/event/MockEventManager.java # proxy/src/test/java/com/velocitypowered/proxy/network/PluginMessageUtilTest.java # proxy/src/test/java/com/velocitypowered/proxy/protocol/PacketRegistryTest.java
Velocity
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, 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.
Languages
Java
99.3%
C
0.4%
Shell
0.2%