Commit Graph

309 Commits

Author SHA1 Message Date
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
Minecrell
6ae43560bc Disable JLine event expansion
Fixes PaperMC/Paper#1171 for Waterfall
2018-06-25 16:49:48 +01:00
Shane Freeder
8ad3bf6da2
Merge upstream 2018-06-21 03:41:48 +01:00
Shane Freeder
00a145e10f
Merge upstream (closes #233) 2018-06-06 11:17:32 +01:00
Zach Brown
ab76a255e5 Update Maven Deploy URL
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.
2018-05-28 23:43:32 +01:00
Jamie Mansfield
f539c023a3 Merge upstream 2018-05-28 22:00:27 +01:00
Jamie Mansfield
aab96dc7e8 Merge Bungeecord#e93323d 2018-05-28 21:53:01 +01:00
Jamie Mansfield
7385da83cf
Merge upstream 2018-04-23 21:04:05 +01:00
Jamie Mansfield
4f0d50aac3
Merge upstream 2018-04-14 12:09:17 +01:00
Shane Freeder
58127189ff
Merge upstream 2018-04-02 10:21:24 +01:00
Jamie Mansfield
5882e0a157
Merge upstream 2018-03-20 20:24:14 +00:00
Shane Freeder
804cb0dd79
Merge upstream 2018-03-14 14:55:00 +00:00
Jamie Mansfield
d4bcbb1140
Merge upstream 2018-03-05 21:07:50 +00:00
Jamie Mansfield
19d850ebb1
Merge upstream 2018-02-20 13:20:51 +00:00
Gabriele C
4c55f25c9c
Optionally log InitialHandler connections (#206) 2018-02-20 13:17:20 +00:00
Jamie Mansfield
641c851948
Merge upstream 2018-02-07 21:08:37 +00:00
Shane Freeder
4ea50d7023 Merge upstream 2018-01-28 11:36:01 +00:00
Jamie Mansfield
035090d894
Resolve broken build 2018-01-07 17:27:31 +00:00
Jamie Mansfield
7fcb9fbf8c
Merge upstream 2018-01-07 17:04:30 +00:00
phenomax
9f73d70f15
Providing access to the player's LoginResult on LoginEvent 2017-12-30 22:20:25 +00:00
Jamie Mansfield
b477eba646
Merge upstream
bungeecord-ref: dda0638869
2017-12-30 21:57:10 +00:00
Jamie Mansfield
1ef166d6a9
Merge upstream
Resolves #193
2017-12-13 21:00:48 +00:00
Jamie Mansfield
e24fdb377e
Merge upstream
Resolves #192
2017-12-05 19:14:15 +00:00
kashike
66dbf93bab Merge upstream
resolves #190
2017-11-10 15:18:17 -08:00
Jamie Mansfield
60905d7d56
Merge upstream 2017-11-10 17:53:59 +00:00
Minecrell
ef09beba3d Minor improvements to Log4j configuration that replicates Bungee setup
- Remove colons that are not present in Bungee's log file
- Use standard stack traces instead of Log4j's extended stack traces
2017-10-31 18:09:10 +00:00
Jamie Mansfield
71b76653f2
Merge upstream 2017-10-28 20:51:33 +01:00
Jamie Mansfield
b5d048b57a
Revert to BungeeCord behaviour for the 'not direct byte buf' business
Not worth the time wasted on closing invalid bug reports.
2017-10-23 19:53:51 +01:00
Jamie Mansfield
4c8715286f
Deploy to destroystokyo mvn repo
Thanks @Z750 :D
2017-10-09 20:20:14 +01:00
Minecrell
e1553a3f25 Drop redundant patches for JUL logger
Since Waterfall is now using Log4J for logging, these patches no
longer have any effect.
2017-10-09 08:15:44 +01:00
Minecrell
d3dc2d3748 Implement full console command completion
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.
2017-09-26 19:37:34 +01:00
kashike
ab5021987d Merge pull request #176 from Minecrell/log4j-tca
Use Log4j, add console improvements and allow plugins to use SLF4 for logging
2017-09-24 09:12:26 -07:00
Minecrell
ab59b59fd9 Add Log4j configuration that replicates the old BungeeCord setup
Can be enabled using -Dlog4j.configurationFile=log4j2-bungee.xml
2017-09-24 15:14:55 +02:00
Minecrell
c75b27a22e Allow plugins to use SLF4J for logging 2017-09-24 15:14:55 +02:00
Minecrell
d5d18f28b1 Handle plugin prefixes using Log4J 2017-09-24 15:14:55 +02:00
Minecrell
2e698ff9c3 Use Log4J2 for logging and TerminalConsoleAppender for console 2017-09-24 15:14:52 +02:00
Jamie Mansfield
4fc076eefa
Merge upstream 2017-09-23 19:25:31 +01:00
Jamie Mansfield
29831c0399
Merge upstream. Fixes #173 2017-09-16 12:47:11 +01:00
Jamie Mansfield
c676a410b0
Merge upstream 2017-09-05 18:17:15 +01:00
Jamie Mansfield
2e32a81429
Merge upstream. Closes #171 2017-09-03 19:55:05 +01:00
kashike
178e989894 Merge upstream
Resolves #170
2017-08-18 02:40:00 -07:00
Jamie Mansfield
34068e62d8
Merge upstream. Closes #167 2017-08-13 16:08:33 +01:00
Jamie Mansfield
5b488566be
Fix broken build 2017-08-10 22:40:40 +01:00
Jamie Mansfield
cc7e494098
Merge upstream 2017-08-09 01:20:45 +01:00
Jamie Mansfield
2b302da76c
Merge upstream 2017-08-04 14:57:11 +01:00
Jamie Mansfield
a90dae10c9
Merge upstream - Minecraft 1.12.1 support 2017-08-03 16:50:26 +01:00
Nate Mortensen
c7cd61c968 Make usage of the Netty DNS resolver configurable
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.
2017-07-26 22:42:21 +01:00
Daniel Naylor
6b33c62e14 Fix some forge plugin message packets not being forwarded correctly
This fixes #155, see SpongePowered/SpongeForge#1507
2017-07-17 20:37:20 +01:00
Jamie Mansfield
8edae227f6
Merge upstream 2017-07-09 00:24:38 +01:00
Troy Frew
6ab69de258
upstream merge 9b3b42316f25a84530e3bbc8b3887ced4ad9838c 2017-07-04 16:20:09 -04:00
Troy Frew
1c98857249
merge upstream daac8d85e20baed2ee0107ee637d0e82af8b2cd1 2017-07-04 16:06:59 -04:00
Jamie Mansfield
03bdb50116
Merge upstream + Fix build 2017-06-21 22:19:45 +01:00
Jamie Mansfield
3b5e511743
Merge upstream 2017-06-18 16:03:06 +01:00
Jamie Mansfield
0a0f6974f3
Implement changes proposed in #124 2017-06-10 20:57:00 +01:00
Jamie Mansfield
cb4d5effb9
Merge upstream - Minecraft 1.12 support 2017-06-08 16:58:07 +01:00
BlackHole
ad3bf933b8 Use correct packet ids for 1.12-pre5 2017-05-22 20:12:17 +01:00
Jamie Mansfield
9432ed7e40
Merge upstream - Minecraft 1.12-pre5 support 2017-05-19 21:51:18 +01:00
Black Hole
474774102e Use correct packet ids for 1.12-pre2 (#135) 2017-05-15 08:54:56 -07:00
Jamie Mansfield
710c45640c
Resolve previous bad merge - opps 2017-05-14 16:20:22 +01:00
Jamie Mansfield
db05bbac39
Merge upstream - Minecraft 1.12-pre2 support 2017-05-14 15:07:38 +01:00
Jamie Mansfield
ec611c5d0a
Merge upstream 2017-05-10 18:54:46 +01:00
Jamie Mansfield
11f46ca049
Merge upstream 2017-04-28 21:22:02 +01:00
Jamie Mansfield
bfb622eb23
Merge upstream 2017-04-26 17:32:42 +01:00
Jamie Mansfield
6cd013ce1d
Move 'raw hex dump for rewrite fails' patch to fire-pit 2017-04-09 22:19:14 +01:00
Jamie Mansfield
78a8edd2da
Resolve the import statements I reordered a while back 2017-04-08 15:26:20 +01:00
Techcable
b5ed82d599
Dump a packet's raw hex if entity rewriting fails. 2017-04-07 20:21:19 -07:00
Jamie Mansfield
8ff8de0fbd
Merge upstream 2017-03-11 11:12:59 +00:00
Jamie Mansfield
53eade81e8
This commit is dedicated to JetBrains
Yep, I had thought no merge conflict was odd - didn't think much of it. Jetbrains ffs fix the refresh to actual bloody refresh!
2017-03-07 21:28:08 +00:00
Jamie Mansfield
1073945fba
Merge upstream 2017-03-07 21:25:35 +00:00
Jamie Mansfield
32a7625f4f
Update upstream 2017-02-07 22:39:22 +00:00
Jamie Mansfield
91d537c7cc
Update upstream 2017-02-01 20:49:23 +00:00
Techcable
7e1c6381ee
Merge upstream 2017-01-17 08:05:13 -07:00
kamcio96
228318425b
Fix #113 2017-01-17 07:55:53 -07:00
kamcio96
0285fa1808
Improve connection closing, fixing the kick delay.
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.

Fixes WaterfallMC/Travertine#25
2017-01-15 09:57:49 -07:00
Techcable
575f88841c
Include the cause exception of an DecodingError
Add a newline to make things prettier.
2017-01-15 09:38:49 -07:00
Tux
bec652093f Merge with upstream 2016-12-24 01:36:32 -05:00
Tux
41ec1b302a Assorted security improvements
We should consider using a stronger RSA key as well.
2016-12-21 04:09:09 -05:00
Tux
6fc2170f21 Don't aggressively trim LowMemorySets
This only add complexity.
2016-12-21 03:43:00 -05:00
Tux
2dd82be3f1 Use async Netty DNS resolver 2016-12-21 03:15:02 -05:00
Tux
722e89f245 Updated Waterfall to Minecraft 1.11.1 2016-12-21 02:34:59 -05:00
Jamie Mansfield
d8d9dc852a
Remove newlines I didn't spot earlier 2016-12-09 23:54:35 +00:00
Mystiflow
4ddfe924e3
Migrate more micro-optimisations from Waterfall-Old 2016-12-09 13:36:42 +00:00
Jamie Mansfield
ea2c109864
Make waterfall-super the parent of waterfall-parent 2016-12-04 17:31:55 +00:00
Jamie Mansfield
cbe6a1b3f5
Reinstate patch to prevent Kick during Handshake
Remove redundant patch from fire-pit
2016-12-04 16:42:27 +00:00
Jamie Mansfield
5e0e224df5
Fetch modules from @Z750's CI until Aquifer's is back up 2016-12-03 21:41:35 +00:00
Jamie Mansfield
c8fe40d640
I'm and idiot 2016-11-26 20:39:19 +00:00