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.
The changes in 1.13 makes this limiter too easy to hit, breaking tab
completion silently for users and causing a lot of confusion around
tab completions not working, for this reason, it's cleaner to disable
this for 1.13+ clients by default and defer this to the server, where
better control is already provided for paper servers (and any other
server will either not have broken tab completions, or can re-enable
this limit if they wish to do so)
- Respect bungeecords new "log ping" configuration along side our own
Waterfalls patch will likely be dropped by the end of the year, migrate!
- Drop 'Don't allow channel buffers to grow beyond a reasonable limit'
This is already included upstream and is configurable using system properties
- Drop 'Security enhancements for EncryptionUtil'
This patch is somewhat misguided given how mojangs auth service works and offers
no real improvements to security
- cleanup some patches
updated headers for changes which have been removed/extracted into other patches
cleaned up some code formatting changes in misc sections
- touch up the contributing guide to reflect the recent script changes
Upstream has seemingly decided that they have no
intent of providing proper support for the new scoreboard
changes inside of the bungee API, thus leading many plugins
to have already worked around this.
While having proper API support would be great, shamefully,
plugins which are already working around, which causes
incompatibilies with Waterfall.
From the Log4j 2 documentation:
When AsyncLoggerContextSelector is used to make all loggers asynchronous,
make sure to use normal <root> and <logger> elements in the configuration.
The AsyncLoggerContextSelector will ensure that all loggers are
asynchronous, using a mechanism that is different from what happens when
you configure <asyncRoot> or <asyncLogger>. The latter elements are
intended for mixing async with sync loggers.
https://logging.apache.org/log4j/2.x/manual/async.html
Since we are not using mixed sync/async loggers, we should use the
system property to enable the async loggers.
Fixes a long-standing race condition in TerminalConsoleAppender,
that eventually resulted in IllegalStateExceptions or duplicate
input prompts.
Fixes#242, Fixes#188
Currently it is possible to stop the proxy multiple times, causing
the shutdown routines to be called twice. This doesn't make any
sense and may even cause problems with some plugins.
Cancel early if stopping is already in progress to avoid this.
We recently moved some things around and as a result several URLs
changed.
Redirects are in place and most users will not need to make any changes.
We have already tested and confirmed that maven access works just fine
via the redirects.
However, maven will not allow you to deploy through the redirect so
projects using old deploy URLs will need to be updated.
Drop the original console command completion patch and rewrite it
for JLine 3. Add support to complete command names instead of just
command arguments.
The additional single thread executor for command completion was
dropped because it's redundant: since the command completer needs
to wait for it to complete anyway, we might as well do the completion
directly from the console thread.
This adds a new configuration value "use_netty_dns_resolver", which
defaults to true. This allows users to opt out of Netty's DNS
resolver if they encounter any issues with it.
Taken from WaterfallMC/Waterfall-Old@b8845c4edb
@kamcio96 claims that these channel closing changes are removing the
need of delayed kick packets
@Janmm14 can confirm this (at login state) on a no-latency and
low-latency connection (<1ms; ~16ms), high-latency connection was not
tested, but it should work on these too.
FixesWaterfallMC/Travertine#25