Commit Graph

294 Commits

Author SHA1 Message Date
Shane Freeder
337ca7f887
Updated Upstream (BungeeCord)
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
2019-12-05 11:53:03 +00:00
Mark Vainomaa
b4bdcf3f62
Add callEvent shortcut to Event 2019-12-02 11:55:27 +00:00
Shane Freeder
47f94911d0
Cleanup imports from last commit 2019-12-02 03:30:55 +00:00
Shane Freeder
ea158c344f
Further robustness of entity metadata rewrite setting vs plugins 2019-12-02 03:24:35 +00:00
Shane Freeder
e94c0b96ca
Cache session exception
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
2019-11-25 19:55:27 +00:00
Shane Freeder
cbb038fcc2
Bring back jansi workaround for windows
This wasn't needed with jna, however; Now that we're back with jansi and
windows being... windows... We need this again.
2019-10-27 17:22:28 +00:00
Shane Freeder
2b3b0ec998
Ignore empty packets
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
2019-09-24 05:46:15 +01:00
Shane Freeder
0085381369
Updated Upstream (BungeeCord)
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
2019-08-17 21:47:53 +01:00
Mark Vainomaa
fa0711d2b8 Speed up packet construction (#373)
* Speed up packet construction
2019-08-17 21:41:28 +01:00
Minecrell
30021329af Update TerminalConsoleAppender to 1.2.0, replace JNA with Jansi 2019-08-17 17:10:34 +01:00
Minecrell
79935991b6 Update Log4j2 to 2.12.0 2019-08-17 17:10:34 +01:00
Shane Freeder
9cdf9ddbfd
Remove LowMemorySet (Fixes #394)
This set, while aiming to save memory, has heavy implications on performance
with larger sets

This set
2019-07-29 01:01:23 +01:00
theminecoder
0766f50f5b Updated Upstream for 1.14.4 (Bungeecord) 2019-07-20 03:05:46 +01:00
antbig
18b9500429
Fix server transfers across dimensions (Fixes #378)
This commit fixes an issue with transferring across server dimensions
with entity metadata rewriting disabled
2019-06-27 14:44:00 +01:00
Shane Freeder
ba94135bd5
Updated Upstream (BungeeCord)
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
2019-06-24 18:42:23 +01:00
Shane Freeder
b430974060
Updated Upstream (BungeeCord)
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
2019-05-28 00:40:07 +01:00
theminecoder
b65f2c9395 Updated Upstream (BungeeCord) (#382) 2019-05-13 21:41:14 -05:00
Shane Freeder
86ec79b6a5 Updated Upstream (BungeeCord)
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
2019-04-30 04:19:02 +01:00
Shane Freeder
8974fb3b97 Updated Upstream (BungeeCord)
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
2019-04-26 03:20:17 +01:00
Colin Godsey
154eb184b6 Bring up waterfall to 1.14 release
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
2019-04-23 18:40:01 +01:00
Shane Freeder
69d0c4010d Updated Upstream (BungeeCord)
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
2019-04-23 09:09:26 +01:00
Shane Freeder
a218f5750f Report correct unknown type ID, also point people to entity metadata rewrite config
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.
2019-04-22 20:56:33 +01:00
Shane Freeder
872b8619cb Statically link against mbedcrypto on macOS
This means that users don't have to have these libraries installed on
their system via homebrew for usage.
2019-04-17 02:39:38 +01:00
Colin Godsey
d66a0af471 OSX native zlib and crypto 2019-04-17 02:39:38 +01:00
Shane Freeder
2e1620e860 Make disable-entity-metadata-rewriting config more robust (Closes #361)
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
2019-04-09 04:35:23 +01:00
Shane Freeder
a4c1e457e8 Updated Upstream (BungeeCord)
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
2019-04-09 04:12:16 +01:00
Shane Freeder
7962b23cbb Drop waterfalls server ping list option
This functionality was adopted by upstream
2019-03-30 18:01:17 +00:00
Shane Freeder
56c18488fe Fix more javadoc issues 2019-03-30 17:18:24 +00:00
Shane Freeder
083479278e Fix javadoc doclint issues
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.
2019-03-30 16:09:06 +00:00
Shane Freeder
c331e7fd00 Report slow events in milliseconds
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.
2019-03-26 04:40:06 +00:00
Shane Freeder
ae319ce090 Reuse existing ServerInfo object when reloading config
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?
2019-03-26 04:03:01 +00:00
kashike
b346845ec2 Use proper max length for serverbound chat packet 2019-03-20 21:41:13 -07:00
Shane Freeder
8f8bdf58a9 Updated Upstream (BungeeCord)
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
2019-03-20 03:55:00 +00:00
Shane Freeder
c803d54488 Manually specify deploy plugin version 2019-03-20 03:24:44 +00:00
Byteflux
897f9d63f5 Aggregate API and Chat Javadocs 2019-03-18 17:17:34 -07:00
Byteflux
6a9800938d Apply delombok to sources, generate javadocs from delombok sources 2019-03-18 20:42:54 +00:00
Shane Freeder
03ebf04b65 Add ProxyDefineCommandsEvent (Fixes #358)
provides an event to allow plugins to intercept tab completions
sent to the client
2019-03-16 07:08:11 +00:00
Shane Freeder
c31195b627 Updated Upstream (BungeeCord)
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
2019-03-09 01:29:09 +00:00
Shane Freeder
504670360d Fix allowEmptyPackets setting to return real value (Fixes #357) 2019-03-06 15:35:52 +00:00
Shane Freeder
04edf2ee50 fix dangling fixup patch 2019-03-03 01:47:29 +00:00
Shane Freeder
f23ec52afd Handle empty minecraft packets
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.
2019-02-26 20:48:23 +00:00
Shane Freeder
f2cd0938da Updated Upstream (BungeeCord)
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
2019-02-26 19:53:11 +00:00
Shane Freeder
0874931518
Updated Upstream (BungeeCord)
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
2019-02-20 18:56:38 +00:00
Shane Freeder
09ef1a5613
Update BungeeCord 2019-02-03 18:06:37 +00:00
Shane Freeder
7dd259045b Update BungeeCord 2019-01-31 22:24:13 +00:00
Shane Freeder
255b419646
Provide an option to disable entity metadata rewriting (fixes #136)
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.
2019-01-19 20:04:41 +00:00
Shane Freeder
47ee48d1fc
Fix missing return in previous commit
Doh.
2019-01-17 04:50:19 +00:00
creeper123123321
7f6187dfe1
Don't use a bytebuf for packet decoding 2019-01-17 03:26:52 +00:00
Shane Freeder
2af9e83888
Revert "Fetch version hash from the parent project"
This fails to work consistently due to how maven
seems to resolve this information, hopefully we'll
take another stab at this at a later date
2019-01-16 19:39:20 +00:00
Shane Freeder
dd7f15943d
Fetch version hash from the parent project
This fixes the disparity between the version hash in the version output
vs that in the waterfall repo itself
2019-01-16 18:39:05 +00:00
Shane Freeder
85d4001642
Update jenkins and urls to point towards papermc 2019-01-13 22:17:54 +00:00
Shane Freeder
c74411e6dd
Update BungeeCord 2019-01-03 06:07:41 +00:00
Shane Freeder
a177c30d89
Update Bungeecord 2018-12-26 23:40:37 +00:00
Shane Freeder
61b6cadebb
Don't load permissions from waterfall.yml (broken in upstream) 2018-12-21 15:43:20 +00:00
Shane Freeder
6b32122de3
Update Bungeecord 2018-12-21 15:24:26 +00:00
Shane Freeder
bea8aacdbe Merge upstream 2018-12-10 14:02:05 +00:00
Shane Freeder
e34183360f
Actually rebuild patches 2018-11-24 17:08:22 +00:00
Shane Freeder
e3e6521502 Do not fire an exception for incoming invalid packets
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.
2018-11-18 23:15:44 +00:00
kashike
12e53fcf76 Drop 'Fix unicode characters in configuration files' patch 2018-11-11 00:40:41 -08:00
Shane Freeder
c4351109e8 Merge upstream 2018-11-04 20:27:05 +00:00
Shane Freeder
18911e22ce
Merge upstream 2018-10-27 23:33:50 +01:00
Shane Freeder
1c8ea44393
move up Fixup ProtocolConstants to waterfall
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)
2018-10-27 22:18:13 +01:00
Shane Freeder
38390d14d0 Merge upstream for 1.13.2 2018-10-22 20:59:47 +01:00
Minecrell
1a303b6d7a Declare shaded JAR as Multi-Release JAR. Fixes #293
Update Log4j to 2.11.1 while I'm at it (unrelated to #293).
2018-10-15 18:47:46 +01:00
Shane Freeder
22ce5f5012
Add Configuration to allow empty packets
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.
2018-10-14 10:47:38 +01:00
Shane Freeder
f48db6b757
Disable tab spam limiter for 1.13+ by default
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)
2018-10-06 19:59:28 +01:00
Jamie Mansfield
f7f3cfeb27
Merge upstream; remove fire-pit 2018-09-30 19:17:21 +01:00
Zach Brown
dd0a4d8be8
Update maven POM information
Issue tracker, CI, maven repository deployment
2018-09-29 22:15:31 -04:00
Shane Freeder
757945e1eb give the project some TLC
- 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
2018-09-17 03:07:48 +01:00
Shane Freeder
c56f1321bc Merge upstream 2018-09-10 21:07:54 +01:00
Minecrell
0b5d132185 Consider JUL logger level and filters in Log4JLogHandler 2018-09-04 22:56:54 +01:00
Shane Freeder
5955ede0cb Merge upstream (Closes #282) 2018-09-04 03:12:52 +01:00
Shane Freeder
6125c28a94
Merge upstream - Minecraft 1.13.1 Support
\o/
2018-08-23 22:25:38 +01:00
Jamie Mansfield
3e170666d7
Merge Upstream
Less than 2 hours till liberation :D
2018-08-16 22:44:14 +01:00
Shane Freeder
0ad8543546
Merge upstream 2018-08-07 02:15:36 +01:00
Jamie Mansfield
ebdac40aee
Merge upstream 2018-08-05 13:55:22 +01:00
Shane Freeder
3fd1c6f6d8 Merge upstream 2018-07-30 12:54:15 +01:00
Shane Freeder
e910db4871 Drop 1.13 scoreboard api support
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.
2018-07-25 19:10:26 +01:00
Shane Freeder
ed37fdbc41 Merge upstream 2018-07-23 08:12:21 +01:00
Jamie Mansfield
f6788a0886
Disable Metrics 2018-07-22 17:45:31 +01:00
Mariaum
99bc9a7029 Fix scoreboard objectives with 1.13 2018-07-22 15:08:45 +01:00
Mariaum
988361eea9 Fix scoreboard team packet issues 2018-07-22 14:36:46 +01:00
Shane Freeder
35a69a6c42 Merge upstream 2018-07-22 06:42:58 +01:00
Shane Freeder
d1b91271e0 More scoreboard fixes 2018-07-22 01:28:48 +01:00
Shane Freeder
d12ec7493c
Correct field for objectives 2018-07-21 21:51:10 +01:00
Shane Freeder
b354bf04ef Fix team handing inversion 2018-07-21 19:55:56 +01:00
Shane Freeder
b7a2ebe8f5 Handle team display name 2018-07-21 18:51:15 +01:00
Jamie Mansfield
c97fa453e1
Fix broken patch + document edit command 2018-07-21 18:47:04 +01:00
Jamie Mansfield
126c0d88dd
Add waterfall command 2018-07-21 18:42:34 +01:00
Shane Freeder
c8eb6aec7b Handle 1.13 scoreboard objectives/teams properly 2018-07-21 18:13:02 +01:00
Shane Freeder
49ea630d46
Rework 1.13 release protocol support 2018-07-21 17:19:36 +01:00
Shane Freeder
1d3fae9d1d
Pull back 1.13 release protocol support from Travertine 2018-07-20 19:36:07 +01:00
Minecrell
56b617c361 Update TerminalConsoleAppender to 1.1.1
See https://github.com/Minecrell/TerminalConsoleAppender/releases/tag/1.1.1
2018-07-20 18:07:23 +01:00
Shane Freeder
578418c4f2
Merge upstream 2018-07-20 02:30:56 +01:00
Mark Vainomaa
3d4d154926 Copy license files into jar
Solves issue #201 with including the BungeeCord LICENSE file
in binary distribution, as the license requires.
2018-07-18 18:47:50 +01:00
Minecrell
f8cc726520 Set up Log4j 2 async loggers using system property
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.
2018-07-18 16:12:17 +01:00
Minecrell
223b748b87 Update to TerminalConsoleAppender 1.1.0
Fixes a long-standing race condition in TerminalConsoleAppender,
that eventually resulted in IllegalStateExceptions or duplicate
input prompts.

Fixes #242, Fixes #188
2018-07-18 09:33:43 +01:00
BlackHole
6a77c81ac1
Merge upstream - Minecraft 1.13-pre7 support 2018-07-15 13:16:15 +01:00
Jamie Mansfield
a40c225a66
Merge upstream 2018-07-09 10:12:55 +01:00
Minecrell
3d3ab27dcf Avoid stopping if already in progress
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.
2018-07-07 00:25:36 +01:00