This reduces the impact of attacks that send a large packet size first and then send data very slowly but frequently enough to not trigger a timeout (as the timeout handler was before the Varint21FrameDecoder). This causes connections to stay open for a long time without much effort from an attacker, while the packet never leaves the Varint21FrameDecpder stage of the netty pipeline (causing no additional checks to happen and no logs of the connection to be created).
This will not have an impact on bad connections as without recieving full packets the underlying spigot server would timeout instead.
this patch orignally existed to prevent the constant cries from bad server
owners, however creates some room for abuse, this should plug that
hole by only allowing the server to send such broken packets
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
830ee8f2 #3061: Continue to fallback to underlying URLClassLoader
425dd451 Override classloader close method for completeness
6a039de8 Add preview of automatic library support
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
8d783aa1 #3058: Remove world limit
a4e5f500 Add full support for building on JDK [15,)
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
a7c6edeb #3041: Respond to login query requests in a way that matches the Vanilla client
updates log4j from 2.12 to 1.14, this includes a fix for systems
with a broken mac address which can cause the proxy to not start
on such broken machines
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
4f23b49f #3037: Update ProxiedPlayer#setDisplayName javadoc to current behaviour
cfcc8b1a Pin GitHub workflow build to ubuntu-20.04
ebec582c Add full support for building on JDK [8, 14]
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
9c078b78 #2985: Add Keybinds.SOCIAL_INTERACTIONS
281aecef Minecraft 1.16.4 support
This build has not been tested bar outside of typical smoke testing, however,
the changes in 1.16.4 to the protocol are virtually inexistant and should
have no bearing on stability, RUN AT YOUR OWN RISK, however.
Upstream updated to Netty 4.1.53.Final
Update maven-shade-plugin.log4j2-cachefile-transformer to 2.13.2 for compatibility with maven-shade-plugin 3.2.3
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
15204131 #2942: Players invisible in 1.16 where bungee is online mode but IP forwarding not enabled
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
23661737 Minecraft 1.16.3 support
5ab5a846 #2953: Fix player limit off by one
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
e93c762f #2921: ClickEvent without value exceptions in window title
023f407b #2928: Add IPOther special plugin message
64e4f465 #2931: Fix exceptions on ChatColor.of(Color) due to truncation
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
15b51413 #2908: Don't frame packets for dead connections
a0f9333a Bump version to 1.16-R0.4-SNAPSHOT
287e28a7 Release 1.16-R0.3
c1522ab9 #2909: Don't serialise as array for single element contents
0af4bfdb #2905: HoverEvent getValue compat method
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
94c4fcba Bump version to 1.16-R0.3-SNAPSHOT
a99f62f6 Release 1.16-R0.2
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
fd4864d4 #2899: Various chat API stability updates
c5610a6a #2897: Add params of recursive call of ChatComponent transform
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
bcc3460d #2893: Refactored Hover Code for Maintainability
4794fccf #2888: Correct font check in BaseComponent
637e7e93 #2884: Mojangson in hover events cannot be parsed
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
a64c34d2 #2875: Add the MessageRaw channel
1d40b8a8 #2866: Add support for contents in Hover Event
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
87cb3b90 Improve license info in pom.xml
198004da Add release maven repository
b41e9be4 Constrain dimension to String|Integer
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
75af27ac Fix missing static on ChatColor.values
d0fd673b Minecraft 1.16 support + RGB ChatColor preview
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
2f54c943 #2786: Should first peek keepalive queue
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
67c2dfd8 #2794: connection throttle race condition
eeb3c6d3 #2811: Shorten "Cannot request protocol" exception
727281e6 Make all BaseComponent.duplicate methods specific
4e99a325 #2808: TextComponent.duplicate should return TextComponent
3373eb86 #2834: Add support for long array NBT tag
b85df4f2 #2830: CommandSend - replace iterator-while with for-each
This patch was heavily intented to fix a server side issue which
is generally no longer relevant, not to mention the cost of interning
only cements this patch into it's grave
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
855d1525 #2829: Fix action bar messages on pre 1.11 versions
a1969b2f #2823: Update Netty to 4.1.49.Final
b91d4d30 #2820: Sending a player via /send prints incorrect message
aa66633d #2821: Add support for brigadier:long argument type
Waterfall is now built using JDK 11, we will target java 8 for the
forseeable future, however do recommend that users do look into
migrating off the sinking ship
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
f1c32f84 #2379: Add ServerSwitchEvent getFrom API
cb3f87bb Update Netty to 4.1.48.Final
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
697f0875 #2770: Handle posix signals SIGTERM, SIGINT, SIGHUP gracefully
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
a52ea500 #2769: Guardian target beam lost on server change
17d5dd3f Add dist Maven profile to generate source and Javadoc jars
9e8ab747 Add JsonConfiguration support to bungeecord-config
cdacc0b1 #2498: Add ServerConnectRequest accessor in ServerConnectEvent.
b4b998b2 #2761: Add ClientConnectEvent
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
a3ab2bf5 Update checkstyle
adee7bd2 Source jar does not need to fork build
7bd8a027 Always print remote IP in InitialHandler
0cf27a09 Update scriptus
bf673c5d Add pretty colours to console log levels
2235a323 Optimize ColouredWriter slightly
1dee0490 Don't send/construct redundant kick messages
e9ba95b9 Don't log full CorruptedFrameException
d3bd7852 #2762: Work correctly with disabled timeout
3ce4132c Switch keepalive queue to ArrayDeque
ce2dcaf7 #2763: Fix .DS_Store entry in .gitignore
cf72c3a7 Show slow event times in milliseconds
cd7a3ab2 #2758: Improve server list ping response where remote ping failed
0a4b9b49 #2752: Configurable connect and ping timeouts
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
70370faf Add checkstyle indentation checks
24a53a67 Show socketAddress in BungeeServerInfo.toString
503b4827 Fix bad formatting in EntityMap
eeb37479 #2710: Store queue of pending keepalives
3f6aa033 Also check that things that should not be padded are so
78a84953 Add more checkstyle rules
636c0207 #2753: Add configurable remote ping caching
a4512e50 Check Maven version in action build & don't print noisy transfer progress
f510989c Add building of pull requests via GitHub Actions
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
129884f4 Minecraft 1.15.2 support
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
4bb0fb67 Fix Javadoc in ServerInfo.getSocketAddress
68cc325a #2755: Add ClickEvent.COPY_TO_CLIPBOARD
3d3a5aef Remove unused .travis.yml
2c6a21d5 Remove stray import breaking build
b7e7274b #2750: Don't special case TextComponent constructor with a single extra
b70cb014 Add beta support for binding bungee to unix socket addresses
701391f2 Update Netty to 4.1.45.Final
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
85ea4c16 Remove redundant scheduled close, already channel closed by future.
22d2cd33 #2747: Fix TranslatableComponent.deserialize()
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
d8c222ae Update date
d20e622b Apply checkstyle to javadoc
6c8a0cce Remove m2e settings, causes useless warnings
2f547f73 Fix some javadoc warnings
5f29e939 #2720: Send different log message for pings (vs login)
46521568 #2740: Fix BaseComponent#equals() stack overflow
d2ceccd6 #2725: Various improvements to chat API
7ed4c41d #2723: Improved Send Command
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
065893b5 Update Netty to 4.1.44.Final and remove usage of some deprecated methods
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
1f24591a Minecraft 1.15.1 support
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
4cccf537 Minecraft 1.15 support
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
70038c91 Revert "#2714: Remove unnecessary throws in ServerConnector"
39ef20b2 #2716: Don't attempt to send kick packet during handshake phase
74a6aa32 #2714: Remove unnecessary throws in ServerConnector
c7984070 Misc dependency update
The concept behind this patch will be expanded in due time as health permits,
however; This is one of the more common/troublesome exceptions that is thrown
and causes issues for the proxies performance
Make ignoring empty packets the default behavior vs hiding it
behind a configuration option, allowing such packets is less harmful
than the current handling of them
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
34febec6 Increase outdated build delay to 8 weeks
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
fe2a39e4 Minecraft 1.14.3-pre4 support
8eb56837 Bundle 1.14.2 translations
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
8fda0606 Minecraft 1.14.2 support
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
7d68335c Fix switching to servers with larger view distance
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
9bce8370 #2622: Let ThrottleTest work independently of real time
191afb6a Minecraft 1.14 support
There are reported known issues with entity metadata on this version,
for better support, consider enabling the option to disable entity
metadata to disable this affected mechanism
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
af10f82d Apply and enforce import ordering rules
3f01748d Minecraft 1.14-pre5 support
Bungee works around mojang adding a metatype to the middle of the list
of ids by decrementing the type ID, which results in the incorrect value
being shown in server logs. Also, if we see this exception, we'll point
people to the configuration option to disable this system.
While we originally aimed to avoid this, using a system property allows
us to avoid breaking this configuration setting should any plugin
attempt to extend this class
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
5aaccd2e #2621: Fix score component serialization
Also, bump javadoc plugin to 3.1.0, as this fixes some local issues with
the javadoc tool not being in the correct place, we're also going to
leave doclint disabled, upstream doesn't seem to care about this too
much, nor do I really feel a super strong need to maintain this.
nanoseconds is an overly accurate measurement for event handers, and
only ends up confusing and overly worrying people.
milliseconds is a much more normal and expected measurement in the
community, especially when we do not care about nanosecond level
accuracy.
Prior to this command, greload would replace the ServerInfo stored in
bungee, this leads to the /glist counters being out of sync, but also
potentially highlights futher complications in replacing live server
objects, in that code doesn't generally expect/account for it to occur.
This behavior is not as ideal as being able to use the new server info,
which will have updated settings such as the motd, however, this change
offers better expected behavior.
We may wish to revisit this in the future, e.g. system property to force
using the new objects at the risk of breaking the player count on
reload?
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
771f1735 Clearer message for illegal IP addresses
4428409d Netty 4.1.34.Final
52a125dd Add --help flag
Fixes#356
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
caeabb5b #2610: Fix out of date message for unsupported versions
Actually detect this and print a message instead of just
throwing exceptions down the line, also includes support
for the "allow empty packets" for completeness, but,
follows the same set of recommendations.
Upstream has released updates that appears to apply and compile correctly.
This update has not been tested by PaperMC and as with ANY update, please do your own testing
BungeeCord Changes:
e2bc7ed7 Misc formatting fixes
9133a6f5 Simplify packet registration
Also, pulled in papers upstreamCommit script to provide more consistency and information
across the project
BungeeCord Changes:
6d6fbb5e Fix two minor formatting issues
0d6f3ee3 Make 1.13 command injection normal functionality
Closes#309
The work here is derived from the research and guidance of
various members of the minecraft community
This patch provides the ability to disable entity remapping,
which creates various incompatability issues with mods, however,
may also create various issues with mods which do not support this,
hence why the configuration option is provided.
This patchs changes will be disabled by default, as we do not
wish to release an update which may cause certain issues with mods
and plugins by default when this is not essential, however, this
is subject to be changed in the future.
The InitialHandler is exposed to incoming traffic from, ideally, the
minecraft client, however, anything else connecting to this will end
up causing an exception which is spammy and costly to generate, leading
to a significant performance impact in some cases.
We will downgrade this to a log message, which should tell us where the
issue is, and still provide useful information, but will improve the cost
of such cases.
This patch contains a trivial formatting fix, while while somewhat
pointless, I decided to keep, the main advantage is in the util
helpers which will aim to keep code cleaner (I've wished for this
to be included in waterfall for a while, and given future work, I
feel now is a good time to shift it over)
This setting provides the ability to allow servers/clients
to send empty packets without kicking the player with an error.
This option is not encouraged or supported in any capacity, and is
provided as a last ditch effort for server owners to allow players
to connect in such a broken state as allowed by vanilla.