Andrew Steinborn
1cef82d54d
Unroll the VarInt writing loop
...
This is about as optimized as it can get. Thanks to @Leymooo for the idea, I simply expanded on it. We optimize for the common 1-3 byte cases, and punt more "complicated" cases to the original VarInt writing function we had before.
2021-05-05 22:13:54 -04:00
Andrew Steinborn
d42cc4f984
Force a flush after a certain threshold of packets have been queued for sending
...
Fixes #486 .
2021-05-04 18:51:01 -04:00
Nicolas RAYNAUD
e0153267db
Fixed copyright year ( #490 )
2021-05-04 18:22:50 -04:00
Andrew Steinborn
7c76ae9a27
Make sure to check not only the entire array but also how much was written
2021-05-04 16:32:37 -04:00
Andrew Steinborn
3dc8e25ec7
Fix varint writing (for real!)
...
Thanks to @Leymooo for reporting and providing test cases. (I also added one of my own tests which proved the most useful to debugging the issue.)
2021-05-04 16:30:32 -04:00
Riley Park
2713831f77
Revert "Avoid calling writeVarInt in the (very) common uncompressed packet case"
...
This reverts commit c041bea1b6
.
2021-05-03 19:38:39 -07:00
Andrew Steinborn
c041bea1b6
Avoid calling writeVarInt in the (very) common uncompressed packet case
2021-05-03 20:17:51 -04:00
Andrew Steinborn
0debb81392
I was nagged to make it more consistent
2021-05-03 20:08:16 -04:00
Andrew Steinborn
0811ebb312
Gotta add the license header to the test file
2021-05-03 19:18:06 -04:00
Andrew Steinborn
4ca97a6df9
Reapply "Optimize varint writing"
...
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry
Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.
This includes a test to ensure that the behavior is as expected and fixes the initialization loop so that the correct results will be given. Much thanks to @octylFractal for acting as my duck while trying to figure this out.
2021-05-03 19:14:48 -04:00
Andrew Steinborn
e531cdb373
Revert "Optimize varint writing"
...
This reverts commit 3db2fe8d63
.
2021-05-03 18:07:25 -04:00
Andrew Steinborn
3db2fe8d63
Optimize varint writing
...
Inspired by the approach described at the bottom of https://richardstartin.github.io/posts/dont-use-protobuf-for-telemetry
Given that we do a lot of varint writing as well, this should provide a small performance boost for larger/complex packets whilst not regressing hard on smaller packets.
2021-05-03 17:31:32 -04:00
Andrew Steinborn
347853b945
Disable hinting test for now
2021-04-25 10:18:58 -04:00
Andrew Steinborn
81311e7516
Don't attempt to decode empty buffers ( fixes #482 )
...
Stuff like this makes me want to drop support for <=1.13 versions of Minecraft.
2021-04-25 10:14:13 -04:00
Andrew Steinborn
f00b9b73ea
Make ServerboundHandshakePacket immutable
2021-04-23 19:16:47 -04:00
Andrew Steinborn
3dc3c40c33
Convert some more packets to use PacketReader/PacketWriter
2021-04-23 19:01:40 -04:00
Fabian Mäkilä
48a69c7cc5
Add missing hyphen
2021-04-23 17:20:26 +03:00
FabianAdrian
c729acc829
Change some wording based on suggestions
...
Co-authored-by: Antti <antti@ellila.fi>
2021-04-23 17:13:33 +03:00
Andrew Steinborn
ce26ae76c2
Fix case-sensitivity for ping passthrough
2021-04-22 11:23:42 -04:00
Andrew Steinborn
e416b9fc45
Reapply f1cb3eb
and add the same fix to ping passthrough
2021-04-22 11:22:55 -04:00
Andrew Steinborn
a5565847d1
Merge branch 'dev/1.1.0' into dev/2.0.0
...
# Conflicts:
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
2021-04-22 11:21:33 -04:00
Mariell Hoversholm
8b38fba08e
feat: nb_NO and nn_NO localisation ( #467 )
2021-04-21 16:21:51 -04:00
Andrew Steinborn
688babb4da
Actually fix loading locales from paths with spaces in them
2021-04-19 08:48:42 -04:00
Andrew Steinborn
1bd691f91b
Checkstyle strikes again!
2021-04-19 08:03:55 -04:00
Andrew Steinborn
7c0b622742
Try #2 at explicit path
2021-04-19 08:01:58 -04:00
Andrew Steinborn
6a349d24ac
Specify an explicit path instead of using Paths.get() to construct it
2021-04-19 07:54:48 -04:00
Andrew Steinborn
efa9f6f303
Make sure we fallback to en_US. Fixes #474
2021-04-19 07:42:16 -04:00
Seppe Volkaerts
71db78e172
Fix the automatic registration of main plugin event listeners. ( #471 )
2021-04-18 19:18:01 -04:00
Fabian Mäkilä
5024e432f8
Add fi_FI translations.
2021-04-19 00:38:48 +03:00
Seppe Volkaerts
6ac5643212
Fix ambiguous newFileSystem method when using Java 13.
2021-04-18 22:54:18 +02:00
Andrew Steinborn
d26d61f038
Fix pluralization of /glist player summary
2021-04-18 11:16:11 -04:00
EasyClifton
699314d7ae
Create messages_ru.properties
...
Did the translation to Russian. Tho I still have some concerns about the plural forms because Russian has multiple forms for "players".
2021-04-18 16:58:09 +03:00
Andrew Steinborn
ca52f8989e
Load forced hosts as lowercase too, see #464
2021-04-18 08:22:36 -04:00
Andrew Steinborn
ff54622663
Forced hosts should be case-insensitive. Fixes #464
2021-04-18 08:20:04 -04:00
Andrew Steinborn
c069a0730f
Fix "too many servers" message
2021-04-17 22:23:04 -04:00
Andrew Steinborn
f2ddd391a5
Fix localization loading from JAR
2021-04-17 09:15:34 -04:00
Andrew Steinborn
6c369c7d09
Fix SpotBugs stuff
2021-04-17 09:05:23 -04:00
Andrew Steinborn
3209103317
Licensing fun
2021-04-17 09:01:21 -04:00
Andrew Steinborn
69cba59630
Load localizations automatically.
...
Also included a sample "backwards" localization to demonstrate that it does in fact work.
2021-04-17 09:00:48 -04:00
Andrew Steinborn
c0b6f461cb
Add localization support. Fixes #230
...
This is less flexible, but it is an Adventure-native solution and doesn't require an onerous amount of work to maintain.
2021-04-17 08:30:31 -04:00
Andrew Steinborn
5d07c29cf6
Fix SpotBugs issue
2021-04-17 07:08:35 -04:00
Andrew Steinborn
50f4742240
Add some cases where the locale should fallback to the default
2021-04-17 07:06:23 -04:00
Andrew Steinborn
3d0ca2732e
Run all components in cases where the locale is known through the translation registry.
2021-04-17 07:02:39 -04:00
Andrew Steinborn
4318c179a4
Fix Javadocs for PairedPluginChannelId and KeyedPluginChannelId
2021-04-17 06:19:29 -04:00
Andrew Steinborn
9645fb59da
Further improvements.
...
The main component here is the total revamp of the plugin channel identifier system - instead of Legacy/Modern channel IDs, you can have a modern channel or a modern channel paired with a legacy channel, which is much less confusing to work with.
2021-04-17 06:04:12 -04:00
Andrew Steinborn
47c354e6ee
[Breaking] Many renamings in the API
...
The get prefix has been dropped from getters where it is unambiguous what is being referred to. Other getters have also received renames to clarify their purpose.
The main exception is the ProxyConfig API, but it's one of my personal sore spots in the API, so it'll be replaced instead.
2021-04-17 04:58:16 -04:00
Andrew Steinborn
2254e3b617
Rename CommandManager#metaBuilder -> CommandManager#createMetaBuilder
2021-04-17 04:23:58 -04:00
Andrew Steinborn
a6728476db
I missed a spot
2021-04-17 03:52:01 -04:00
Andrew Steinborn
730d385f02
Extract interfaces for all events.
...
This is in preparation for moving to event-impl-gen.
2021-04-17 03:50:10 -04:00
Andrew Steinborn
f879858e7d
Bring 2.0.0 fully up to date on GPLv3 relicense
2021-04-16 04:11:55 -04:00
Andrew Steinborn
e49603ec0c
Merge branch 'dev/1.1.0' into dev/2.0.0
...
# 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
2021-04-16 04:02:01 -04:00
Andrew Steinborn
f1cb3eb1a2
Move timeout handler to after frame decoder
...
Mitigates attacks like the one described in SpigotMC/BungeeCord#3066 . This cannot be considered a full protection, only a mitigation that expects full packets. The attack described is essentially the infamous Slowloris attack.
2021-04-15 22:56:37 -04:00
Andrew Steinborn
c51359e893
Move away from deprecated percent() method.
...
Also fixed another small nit.
2021-04-15 04:23:59 -04:00
Andrew Steinborn
4de71fe942
Fix color and overlay packets for Adventure boss bar
...
Someone discovered this bug but decided not to tell anyone. For the record, I'm the one who was brain-damaged... well, I made that particular copy-paste error.
2021-04-15 04:22:44 -04:00
Cubxity
5ea6728d1a
Added ListenerBoundEvent and ListenerCloseEvent. ( #454 )
2021-04-02 13:24:45 -04:00
Rocco
c34aee76ae
Fix Forge/Client Proxy Connections mismatch in config ( #456 )
2021-04-02 12:36:32 -04:00
A248
7ba2318506
Fix one more case of a possibly swallowed exception ( #455 )
...
Maybe spotbugs will add a rule for this in the future
2021-04-02 01:45:58 -04:00
Andrew Steinborn
c747120b20
Relicense the Velocity proxy under the terms of GPLv3 ( #448 )
2021-03-31 16:04:06 -04:00
Andrew Steinborn
514115a85c
Do not use an ASCII string for handshake
2021-03-30 12:10:55 -04:00
Andrew Steinborn
f88283f127
Revert "Revert strict handshake hostname checks"
...
This reverts commit 4f80d2b261
.
Experience elsewhere (Waterfall PR) and confirmation from TCPShield means
this ought to work. Let's hope.
2021-03-30 12:08:08 -04:00
Andrew Steinborn
8aad6e2ece
clear input buffer in case of bad varints
2021-03-30 12:05:43 -04:00
Andrew Steinborn
0cc300b621
don't swap these two around
2021-03-23 07:38:07 -04:00
Andrew Steinborn
3111816545
Warn about null permission functions.
2021-03-23 07:32:01 -04:00
A248
0016f4ce19
Relay more exceptions ( #446 )
2021-03-22 08:11:25 -04:00
Andrew Steinborn
015693090f
Fix typo (thanks zml)
2021-03-21 16:17:41 -04:00
Andrew Steinborn
da54a091fb
Allow the java.lang module to be opened, as a temporary Java 15+ workaround
2021-03-21 16:16:19 -04:00
Andrew Steinborn
3a51bee052
Fix Checkstyle errors and update geriatric Checkstyle version
2021-03-01 19:41:35 -05:00
Andrew Steinborn
602ed04dee
Started work on revamped protocol registry
2021-02-21 22:43:12 -05:00
Andrew Steinborn
ba7ba70f4b
Connections -> HandlerNames
2021-02-21 21:03:06 -05:00
Andrew Steinborn
0294cfda56
Add PacketWriter interface.
2021-02-21 20:45:59 -05:00
Andrew Steinborn
28f12e2d7f
Merge remote-tracking branch 'origin/dev/2.0.0' into dev/2.0.0
2021-02-21 18:10:10 -05:00
Andrew Steinborn
0e05f5f308
Mostly brought 2.0.0 up to update with Velocity 1.1.5-SNAPSHOT changes.
...
I have not verified that this actually works.
2021-02-21 18:09:56 -05:00
Andrew Steinborn
699147c916
Merge branch 'dev/1.1.0' into dev/2.0.0
...
# Conflicts:
# api/build.gradle
# api/src/main/java/com/velocitypowered/api/proxy/connection/Player.java
# api/src/main/java/com/velocitypowered/api/proxy/player/TabList.java
# build.gradle
# proxy/build.gradle
# proxy/src/main/java/com/velocitypowered/proxy/Velocity.java
# proxy/src/main/java/com/velocitypowered/proxy/command/CommandNodeFactory.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BackendPlaySessionHandler.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/backend/BungeeCordMessageResponder.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/backend/VelocityServerConnection.java
# proxy/src/main/java/com/velocitypowered/proxy/connection/client/ConnectedPlayer.java
# proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundAvailableCommandsPacket.java
# proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundJoinGamePacket.java
# proxy/src/main/java/com/velocitypowered/proxy/network/packet/clientbound/ClientboundRespawnPacket.java
# proxy/src/main/java/com/velocitypowered/proxy/network/pipeline/MinecraftDecoder.java
# proxy/src/main/java/com/velocitypowered/proxy/protocol/MinecraftPacket.java
# proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/EncryptionResponse.java
# proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/HeaderAndFooter.java
# proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/LoginPluginMessage.java
# proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/PluginMessage.java
# proxy/src/main/java/com/velocitypowered/proxy/protocol/packet/ServerLogin.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/tablist/VelocityTabList.java
# proxy/src/main/java/com/velocitypowered/proxy/tablist/VelocityTabListLegacy.java
# proxy/src/test/java/com/velocitypowered/proxy/command/CommandManagerTests.java
2021-02-21 17:56:40 -05:00
Andrew Steinborn
72d47b5a3d
Don't advertise the BungeeCord plugin messaging channel if it is disabled.
2021-02-18 18:12:51 -05:00
David Mayr
648624d333
Check permissions before providing suggestions ( #430 )
2021-02-16 19:13:48 -05:00
Andrew Steinborn
1a768bda9d
We're going to need custom hash maps after all.
2021-02-16 01:15:58 -05:00
Andrew Steinborn
b94303d2be
Map command nodes being serialized by their identities
...
Fixes #429
2021-02-16 01:14:22 -05:00
Bastian
7a713e9379
Update bStats and migrate to new config file
...
This commit simplifies the Metrics class by using the new base module
from bStats. It also migrates to the new bStats config file that will
be used by plugins that integrate bStats. If a user disabled bStats in
the old config file, this setting will be copied to the new config file.
2021-02-12 20:29:07 +01:00
Camotoy
fb879cb498
Apply initial requested changes
2021-02-09 14:13:33 -05:00
Camotoy
d47b339908
Add PlayerPluginMessageRegisterEvent
2021-02-09 13:51:43 -05:00
Andrew Steinborn
7e42c5b2e7
Turn some APIs into no-ops if they apply to clients without the relevant client functionality.
2021-02-07 15:19:59 -05:00
Andrew Steinborn
b88c573eb1
Correctly forward the player's virtual host to the remote server.
2021-02-01 16:17:02 -05:00
Andrew Steinborn
4f80d2b261
Revert strict handshake hostname checks
...
These will break TCPShield and Cosmic Guard plugins. Sad as this was a worthwhile mitigation.
2021-01-29 23:08:14 -05:00
Andrew Steinborn
501853e807
Fix Checkstyle issue for the umpteenth time...
2021-01-29 17:59:00 -05:00
Andrew Steinborn
4f6d238b39
Strictly limit the hostname size and limit it to ASCII characters only
2021-01-29 17:56:50 -05:00
Andrew Steinborn
4219bf7b09
*Actually* fix Checkstyle issues
2021-01-26 20:02:07 -05:00
Andrew Steinborn
b982c5b6ed
Fix Checkstyle issues
2021-01-26 19:59:29 -05:00
Andrew Steinborn
0c90e94e85
fix
2021-01-26 19:50:43 -05:00
Andrew Steinborn
5ceac16a82
Add upfront size checks for some packets.
...
This is simply a further protection against certain attacks which send malformed packets to the proxy.
2021-01-26 12:33:35 -05:00
Andrew Steinborn
959e75d16d
Revert "Also provide a "proper" java.util.logger logger to plugins."
...
This reverts commit 8d71ea7135
.
Totally broken
2021-01-25 09:46:42 -05:00
Andrew Steinborn
8d71ea7135
Also provide a "proper" java.util.logger logger to plugins.
2021-01-25 01:54:50 -05:00
Andrew Steinborn
4bc76b3012
Add JUL support to log4j
...
Certain badly behaved plugins insist on logging with java.util.logging. Accommodate them.
2021-01-25 01:51:32 -05:00
Andrew Steinborn
68ae92f977
Merge pull request #419 from 0-x-2-2/dev/1.1.0
...
Use keepalive queue instead of just the last keepalive.
2021-01-23 20:18:14 -05:00
0x22
7aed76ee3d
Use keepalive queue instead of just the last keepalive.
2021-01-23 18:35:14 -05:00
Andrew Steinborn
03e9fa79d6
Raise limit on JoinGame NBT reading to 2MiB.
...
This is required for particularly large mod packs (think All of Fabric 3 for instance).
2021-01-23 12:55:28 -05:00
Andrew Steinborn
fcffccf0d8
Fix typo
2021-01-23 01:35:49 -05:00
Andrew Steinborn
ce7d1dcb26
A new year, a new color for Velocity!
2021-01-23 01:34:46 -05:00
Andrew Steinborn
892ac6f626
Accept changes to compression treshold on the fly.
...
Vanilla allows this for some reason, and there has been one case where Velocity's strict behavior has caused a bug. Fix this.
2021-01-21 17:58:09 -05:00
Andrew Steinborn
567a3b2365
Swallow and more usefully log exceptions in scheduler task running.
2021-01-09 16:39:38 -05:00
Andrew Steinborn
ba1c1eef64
More clarification
2021-01-06 13:30:57 -05:00