Commit Graph

331 Commits

Author SHA1 Message Date
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
Shane Freeder
0a2275b807 Merge upstream 2018-11-11 12:15:01 +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
kashike
b52c1ae633
Merge pull request #300 from PaperMC/readme
readme fixes
2018-10-29 10:27:23 -07:00
kashike
e0656ca1d0 readme fixes 2018-10-28 22:48:18 -07: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
a5e6cc087b
Farewell...
Today, Friday 17th August 2018, marks 2 years, 2 months, and 2 days since my first contribution
to the Waterfall project (that’s a total of 792 days!). Throughout that time, 3 major Minecraft
versions have been released, Waterfall has become the go-to for modded networks, and Sponge has
become a very viable option for servers - no longer lacking in implementation.

Before the Bukkit drama, I had written very little software for the server - though I’d written
a bunch of fairly basic client mods. I had run a bunch of servers however - I had very extensive
knowledge of the Classic server software, and I’d run a lot of bukkit servers. Though vanilla
has never really been my cup-of-tea, and ever since I started to do a lot of work with the server
my time playing the game has decreased. The truth is, I’ve never played any of those 3 major
releases that have come out since I’ve been maintaining Waterfall.

Sadly I have fallen out of love with the game, and don’t see myself likely to play it anytime soon.
However, I find a certain joy in writing software so I’ve stuck around - the communities I’ve landed
on are really great :D I’ve found projects to work on that are independent from Minecraft, yet keep
me within the same communities.

Today I work on a lot of software related to obfuscation and Java - namely Lorenz, Bombe, and Survey.
Though I’m also a web developer for Sponge, in addition to a bunch of other roles I’ve landed myself
(including advising a server migrating away from a nearly decade old codebase to Sponge). I’ve
recently been working on a website for some of my friends who are fundraising for charity.

I’ve never really made any money from any of the OSS development I’ve done, amounting to a total of
$30 from a BountySource I did as a one-off. Please don’t take that as a complaint though, I would be
developing software OSS or otherwise - I see it as a hobby, I find it fun. Which is why I’m not longer
the right person to maintain Waterfall - I no longer have need to, or find it fun - in fact merging
upstream changes is a time-consuming, monotonous task :(

Though this may all sound like I’ve hated maintaining Waterfall, which certainly isn’t the case - it's
just how I’ve felt as of late. Frankly, the wonderful community has kept me around for as long as I have.
It’s been really nice to talk to people that I may have fallen out-of-contact with, were it not for
Waterfall.

Maintaining Waterfall has been an honour, and I’m very proud that we’ve become the go-to for modded and
regarded as an analogue to Paper.

And with that, my notifications are going to significantly reduce :D And finally, I’d like to thank
@electronicboy for committing to maintaining Waterfall! Legend :)
2018-08-16 23:06:26 +01:00
Jamie Mansfield
3e170666d7
Merge Upstream
Less than 2 hours till liberation :D
2018-08-16 22:44:14 +01:00
Jamie Mansfield
ac6258c10a
Merge upstream 2018-08-12 14:48:43 +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
cc4457473d Ensure that we checkout the submodules before patching(Fixes #262) 2018-07-24 16:57:08 +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
Jamie Mansfield
c8d3e9b897
Update stale-bot config 2018-07-21 15:32:29 +01:00
Jamie Mansfield
c6c3d3e9b5
Add stale-bot config 2018-07-21 13:51:53 +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
8d79956adc
Merge upstream 2018-07-13 00:03:16 +01:00