#waterfall-github

1 messages · Page 5 of 1

buoyant shoreBOT
buoyant shoreBOT
#

Waterfall version: #445
Paper version: 1.16.5 #762

Issue: When a player is refused by the subserver for some reason( for example, refused by Authme, for using an illegal username),
The subserver's console can display the right message.
[img]https://media.discordapp.net/attachments/295623711485198357/865556245980381214/unknown.png?width=1241&height=77[/img]
but waterfall can't get the right reason for "lost connection". It just displays "could not connect to a default or fallback serve...

buoyant shoreBOT
buoyant shoreBOT
#

Getting random disconnects, sometimes 5 players would disconnect at the same time with the following error:
UpstreamBridge has disconnected

sometimes
UpstreamBridge - NativeIoException: readAddress(..) failed: Connection reset by peer
[Proxy] Lost connection to server.

I can't point out where the issue is
My current version I am using:
waterfall-1.17-445

plugins
ViaBackwards-4.0.1.jar
ViaVersion-4.0.1.jar

config:
https://mcpaste.io/36b26db850397cc7

I did not have thi...

buoyant shoreBOT
#

Recently PaperSpigot added a host check that doesn't allow hostnames
in ip addresses and if a hostname is present then it kicks the player
with a configure ip forwarding in bungee to connect error message.
By default Bungee doesn't actually include the hostname (as to include
it you need to call getHostName which triggers reverse service lookups
that add the hostname info). However, the only thing a bungee plugin
needs to do is to call addr.getHostName() in PlayerLoginEvent to
trigger ...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Is there no other way to fix this? We have a check in DiamondProtector which ensures that you can join via the hostname, but if you join via the IPv4 in Minecraft, you can be banned directly with Linux IPTables.

By removing this now, this check has been broken.

What was the point of this check?

Bot attacks resolve the IPv4 through the srv record for example and then attack the server. Since they do this automatically most of the time, whole attack websites were directly blocked.

S...

buoyant shoreBOT
#

You're not understanding what I'm saying.

getHost is not removed, the data is filtered when it is written to the handshake which is sent to the backend server, it is not removed from anywhere else, just filtered before it's passed to the server, as if something causes the players IP address to be resolved, it will cause an erroneous disconnect on the backend server.

That hostname has ZERO bearings on what is exposed in the API at all, nor is the host which is filtered relevant at all to...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

before updating waterfall wasnt really old just 4 version i think.
Plugins: AdvancedNMotd, BungeeHelpMe, BungeePing, BungeeStaffChat, BungeeWhitelist, Command4Me, DynamicBungeeAuth, LiteBans, LuckPerms-Bungee, NetworkRestarter, PersianFontFixer, protocolize-plugin, ProxyAntiTab, RedirectPlus, SecuredNetwork, SkinsRestorer, SlashServer.

and there is no error in logs waterfall and paper
i tested paper without plugin

buoyant shoreBOT
#

I was not just asking for errors in the log, the proxy log should show that people connected and what kick message they got as they were unable to join 1.8.8 server.

You are using quite a bunch of plugins on your proxy which are not using the bungeecord api, but dig deep into bungeecord internals.
First, try updating all your proxy plugins. If the issue persists, try removing plugins from your proxy until you can join 1.8.8 servers again and then report it to the faulty plugin's author.
...

buoyant shoreBOT
buoyant shoreBOT
#

Whenever someone joins our fabric server and forge is enabled on waterfall we get this spam:

[10:45:21] [Server thread/INFO]: StormyIceLeopard joined the game
[10:45:21] [Netty Epoll Server IO #2/WARN]: Received invalid channel identifier "legacy:fml|hs" from connection net.minecraft.class_2535@34ec949f
net.minecraft.class_151: Non [a-z0-9/._-] character in path of location: legacy:fml|hs
at net.minecraft.class_2960.(class_2960.java:41) ~[intermediary-server.jar:?]
at n...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

The single player mode became removed from our server jar but it gets enabled by the server's command line options in vanilla mc. We cannot connect to vanilla's single player mode because single player mode uses encryption without auth. I would like to see this feature added because I see a certain use for vanilla's single player mode. I was wondering if we could add support for this into Waterfall?

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

I have a problem, which happens randomly, there are days that it does not happen and days that it does.

The problem is that most of the users that are playing get kicked (not all) from the server at the same time with the exception: [username] disconnected with: ReadTimeoutException: null

In the log of the spigot sv they are kicked for the reason: Timed out

What could the error be due to?

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

To my recollection, this is the default behaviour, it's just too darn easy
for anything which accesses those addresses to break it from what I recall
due to how the data is stored and exposed at runtime

On Mon, 13 Sep 2021, 08:01 HySand, @.***> wrote:

For some reason,my sub-servers' ip adresses are not statics,so i need to
use ddns,which auto changes the ip addresses.And i set the domain as
sub-servers' address in config but i still need to restart waterfall to get
the new ip ...

buoyant shoreBOT
#

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:
c5a90475 #3195: Remove unused translations
3008d7ef #3189: Improve username validation
1823f86d #3190: Improve login protocol state machine
06bf088d #3186: Replace String.format calls in exceptions with simple string c…
9953698a Add GitHub Java 17 build

buoyant shoreBOT
#

Hello,
I have a small home server for my kids and their friends and moved from multiverse to waterfall recently.
Almoust every time we connect (from home or outside) we get the error below.
The second or third try you can connect:
[19:04:51 WARN]: [/IP:27717|TheDarthFather] -> UpstreamBridge - read timed out
[19:04:51 INFO]: [TheDarthFather] disconnected with: ReadTimeoutException : null

I am using pterodactyl, with

Bungee:
Build: last build of waterfall and java 16.
Plugi...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

[11:17:12 ERROR]: [/45.232.34.234:55492|BarraR3port] -> UpstreamBridge - encountered exception
io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.GameState in phase GAME with direction TO_CLIENT
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125) ~[waterfall-1.17-449.jar:git:Waterfall-Bootstrap:1.17-R0.1-SNAPSHOT:306121c:449]
at io.netty.channel.AbstractC...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

That kind of feature is outside the scope of Bungeecord or Waterfall for that matter.
The effort of maintaining that feature doesn't pay off, not to mention the additional risks it brings to the table; I'm very certain there aren't enough people who would benefit from having this feature.
Also we generally don't accept requests for features which can be very easily added using plugins, that holds true in this case as well, see: https://github.com/orblazer/bungee-rcon

Und jetzt auch noc...

buoyant shoreBOT
#

rcon already causes enough issues in other aspects of mc given that it's shoed in and there's no real API to represent the concepts, rcon itself is not something where there is much traction behind, it misses out a lot of stuff to the sense that I'm more waiting on for the day of something sane rather than something which was created far too many years ago, without any form of security, which has been shoehorned many times to the sense that there are multiple variants of rcon because of the f...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

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:
6613aaea Add test fix for library classes being visible to non-dependent plugins
53ce6b93 #3200: Fix protocol for 21w40a
d8e29384 #2466: Use switch in "BungeeCord" plugin message handling
5cf869df #3198: Remove terminally deprecated SecurityManager
f26f7d88 Add optional 1.18 (21w40a) snapshot protocol supp...

buoyant shoreBOT
buoyant shoreBOT
#

Question here: I can join my entirely paper/ waterfall network with a good 80% of my mods (Biomes O‘Plenty, Security Craft, Optifine, JEI, Reauth, etc.), fully functionall jumping around servers etc.). As soon as I join my network with mods that add extra mechanics to block such as (FuturePack, Create, AstralSorcery) the paper subserver throws a incomplete set of tags error. From my very simple observations it seems more of a server problem not the proxies. Or is there something I am missing?

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

I just came across this issue and realized I wasn't completely insane trying to get this whole thing to work. If I had the expertise, I'd help with this, but I know next to nothing about network implementation.

I'm assuming that there really is no workaround other than exposing the Forge server outside of the proxy network like normal then, right? At least, until someone can find a somewhat hacky patch for this and update Waterfall.

buoyant shoreBOT
#

I'm assuming that there really is no workaround other than exposing the Forge server outside of the proxy network like normal then, right? At least, until someone can find a somewhat hacky patch for this and update Waterfall.

In our case, we are forced to run our new modded servers outside the proxy and provide a port to connect to on our server listings. I've also seen it where people can use some service records on their DNS to set a certain subdomain to work on a port but this is offt...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Hello, i'd like to know which plugins are causing these:

[18:09:20] [Netty Worker IO Thread #11/WARN]: Event PlayerDisconnectEvent(player=Zeezee12) took 731ms to process!
[18:09:25] [Netty Worker IO Thread #10/WARN]: Event PostLoginEvent(player=Lmfaoz) took 542ms to process!

Perhaps a config option to print stack trace along with these warning messages? or extract namespace from stacktrace and put it somewhere?

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#
[PaperMC/Waterfall] New branch created: pr/1\.18
buoyant shoreBOT
#
[PaperMC/Waterfall] branch deleted: pr/1\.18
buoyant shoreBOT
buoyant shoreBOT
#

[08:17:06 WARN] [io.netty.channel.DefaultChannelPipeline]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception.
io.netty.channel.StacklessClosedChannelException: null
at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) ~[waterfall-1.18-462.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ab927be:462]

buoyant shoreBOT
buoyant shoreBOT
#

at net.md_5.bungee.api.score.Scoreboard.addObjective(Scoreboard.java:55) ~[Waterfall-1.18-462.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ab927be:462]
at net.md_5.bungee.connection.DownstreamBridge.handle(DownstreamBridge.java:182) ~[Waterfall-1.18-462.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ab927be:462]
at net.md_5.bungee.protocol.packet.ScoreboardObjective.handle(ScoreboardObjective.java:67) ~[Waterfall-1.18-462.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ab927be:462]
at...

#

Thanks for the PR, However, adding new commands to the proxy is always this really weird area given how it will blindly interecept commands even if they're defined by the server, for this reason, I'd require that either the name was stupidly unlikely to conflict with something else, or served a substantiative purpose as to why it was added, and I'm not sure that this PR really serves either one

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#
[PaperMC/Waterfall] New branch created: update\-log4j
buoyant shoreBOT
#
[PaperMC/Waterfall] branch deleted: update\-log4j
buoyant shoreBOT
#

Upstream has released updates that appear 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:
b4ccdaa5 #2715: Improve BadPacketException message in MinecraftDecoder
3a116569 #3116: Do not fill in LogRecord caller data by default in slf4j wrapper
2479fab6 #3221: Use computeIfAbsent method in EventBus
51eb1ac6 Dependency upgrades
879f37f0 Upgrade to SnakeYAML 1.30 release

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Guys, I've read this and no one has really done anything yet? I ask because somehow it does not seem to me. I have some basic programming skills, but it's really hard to update from FML to FML2? When it turned out that logj4 had a bug, the fix was within a week and this has been going on for almost a year.

#

Guys, I've read this and no one has really done anything yet? I ask because somehow it does not seem to me. I have some basic programming skills, but it's really hard to update from FML to FML2? When it turned out that logj4 had a bug, the fix was within a week and this has been going on for almost a year.

Your comparing a bug that just required some small changes to fix to a major api change. Its called FML and FML2 for a reason that reason being that next to nothing about the api is th...

#

There is more to proxying than just handling the newer Forge handshake. You also have to deal with the fact that mods are not generally expecting the server to be swapped from underneath them like this. 1.13+ also sync data from server to client differently than previous versions, which may also need special handling.

When it turned out that logj4 had a bug, the fix was within a week and this has been going on for almost a year.

The log4j vulnerability is a critical issue that leaves ...

#

There is more to proxying than just handling the newer Forge handshake. You also have to deal with the fact that mods are not generally expecting the server to be swapped from underneath them like this. 1.13+ also sync data from server to client differently than previous versions, which may also need special handling.

None of that is meant to discourage an interested developer from working on this, of course.

When it turned out that logj4 had a bug, the fix was within a week...

buoyant shoreBOT
#

Due to the fact that this is a whole lot of effort for little return, very few people are interested in working on this
Due to the fact that this is not supported by the forge client in any capacity anymore, this will require client side modifications, which, shrinks the already small pool of people interested in doing this, afaik they're somewhat looking for support in native forge, but, that's not trivial, but, there's already a project which has done this as a mod

#

There is a huge pool of people that are interested in this working and many of us have written proof of concepts on how it could be accomplished properly along with making the attempts with both Paper staff and Forge staff to get this going.

People have gone as far as to make client side mods and modified Paper/Velocity builds to make this work and that already proves we all know how and have the interest in it being completed but we can't make it mainstream alone.

**What is failing...

#

This is an open source project of which we are happy to work with people, however, this project is managed by 1 person and I do not have the energy nor the investment into this project as I once did, I know this is doable, me and lex spoke about the general idea years ago of how this would all work.

There is one person on the team who routinely interacts with this project, however, and he was aware of/working on some things to solve this however idk what all has been said/done, I don't hav...

#

We were not asking for a commitment of time, or development effort we can write these solutions and we already have. The problem is not that at all, it's that all these attempts by people fall on deaf ears and frankly for many it's become extremely frustrating.

We simply do not have the ability to start the conversations or the cooperation that is needed to get the needed changes on both side in. So you see it's not a matter of writing the software it's a social problem.

#

We mentioned it to him rather recently in hopes of getting something similar to the reset packet added for 1.13+ the response was not particularly friendly effectively pushing the entire effort required onto the proxy maker side while the proxy maker side does the same.

It's that back and forth that is very damaging to anyone trying to put considerable effort into getting this issue solved, community solutions are devised but there is a holding pattern where fingers are pointed as to if a...

#

Thing with a reset packet is that the entire connection state needs to be shot back down to more or less as close to a new connection as possible, hence why our general slim discussion was more just about a reconnect packet (akin to the transfer packet people have asked mojang for years), but, more being nuanced in that, ideally, you'd just send a packet to the client, the client would DC, connect to the new server and pass some token or other back in the connection so that the proxy can dete...

buoyant shoreBOT
#

it doesn't work because waterfall doesn't have support for it. waterfall doesn't have support for it because there's little interest in dealing with support for it when the fundamental reason for support for it is not achievable with the current tech.

The server is 100% irrelevant here at this phase, they have 0 bearing on the issue at all, the foundations for this to work need to be added into forge or vanilla itself, especially if you wanted a much more reliable environment over the hack...

buoyant shoreBOT
#

The issue isn't the end server, it's the proxy (to my knowledge) which is why this debate is stemming from Waterfall and not them.

That being said, Mohist and Magma are the last people we'd ever work with for various reasons.

Regardless of the true issue being "communication" or whatever philosophy you wanna bring into here, I don't see any reason to argue in a GitHub issue tracker. We...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

@electronicboy Due to the recent log4j exploits i had to switch to the latest official build. Since, our servers were attacked again with the same result. Your fix in #628 doesn't seem to be working or did break at some time in between. The attacker(s) where able to OOM Bungeecord within seconds using only about 40 requests.

20:40:58] [Netty Worker IO Thread #8/ERROR]: [/X.X.X.X:54102] <-> InitialHandler - encountered exception
java.lang.OutOfMemoryError: Cannot reserve 16777216 byte...
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

That was intentional indeed, there are now some packets that can easily exceed that size (up to 16mb) which is already a whole ton too much Not sure how to fix this again

And is this problem happening because the client sends too large packets or because every packet, even if very small, is getting 16mb ram reserved?

buoyant shoreBOT
buoyant shoreBOT
#

This is seemingly to me akin to the slowloris attacks done against apache, reducing the native buffer size was NOT a fix, in any form shape or capacity was it really a fix, it just did as much of a mitigation here as possible towards junk being allocated in the trunk, which, pre 1.18 was a trivial way to at least mitigate this to some degree

Netty has a buffer pool which allows these native, direct buffers to be pooled rather than the expensive allocations of them across the board, you can...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

My setup:
1. Clean server, no plugins or any changes except:

**spigot.yml**
> bungeecord: true
**server.properties**
> ip: 127.0.0.1
> port: 25561
> some minor stuff like rcon, notd, port. etc

2. Pure Waterfall, with only changed:

**config.yml**
> host
> priorities
> servers

3. (as a test) BungeCord, with the same config.yml as Waterfall.

Test #1:
When running the server separately from Waterfall/Paper - everything works fin...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

I have a similar situation on my server. When the waterfall and sub-server are started, everything works fine for a while, but after a while, the joinmessage and chat have problems one after another. I can't see the chat from sub-server 2 on sub-server 1 (I installed the cross-server chat plugin), and I can't see the global join message on sub-server 1. But on sub-server 2, chat messages from sub-server 1 can be seen. But on sub-server 2, you can only see the join messages of other players bu...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Logs of both server and waterfall instance please. They must include the player joining.

As I wrote, there is nothing on logs, btw here they are:
Waterfall: https://pastebin.com/E19LTSBj
Paper server: https://pastebin.com/088t6ryZ

After successful connection to the server, as a player on a server, I was trying to enter commands, try to send something in chat. Nothing happened. Then, I send "hello?" from the server console. It displayed well. But from the player side - there is ...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

@VladOliinyk AuthMeBungee cancels any chat message/command from any unlogged player, you probably misconfigured AuthMe or AuthMeBungee. Make sure that both plugins are installed in your network (AuthMe in your lobbies, AuthMeBungee in the proxies). Make sure that the "bungeecord" option is enabled in your spigot.yml files! 😃

@sgdc3 Thanks for the detailed response! Sure! My problem was that I just completely forgot that the AuthMeBungee.jar plugin file was in the plugins folder. So I eve...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

The command's code in question

	@Override
	public void execute(CommandSender sender, String[] args) {

		if (!sender.hasPermission("command.uuid")) {
			sender.sendMessage("No permission");
			return;
		}

		if (args.length == 1) {

			ProxiedPlayer target = ProxyServer.getPlayer(args[0]);

			if (target == null) {
				sender.sendMessage("Target not found");
				return;
			}

			TextComponent message = ("§7UUID: §b" + target.getUniqueId().toString());
			message.setCli...
buoyant shoreBOT
buoyant shoreBOT
#

Update: I found the issue.
The plugin is using another Plugin (as seen in the full log) for data.
In my bungee.yml I put depend instead of depends which made the plugin load before the class was present.
But that above is still a really weird stacktrace. Should there not be a message like a "unkown value in bungee.yml depend" or a NullPointerException since the dependency is missing?

buoyant shoreBOT
buoyant shoreBOT
#
[PaperMC/Waterfall] branch deleted: ServerConnectRequest\-sendFeedback
buoyant shoreBOT
#

[08:17:06 WARN] [io.netty.channel.DefaultChannelPipeline]: An exceptionCaught() event was fired, and it reached at the tail of the pipeline. It usually means the last handler in the pipeline did not handle the exception. io.netty.channel.StacklessClosedChannelException: null at io.netty.channel.AbstractChannel$AbstractUnsafe.write(Object, ChannelPromise)(Unknown Source) ~[waterfall-1.18-462.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:ab927be:462]

Well, it's doing the work rigth it's c...

buoyant shoreBOT
buoyant shoreBOT
#

Bungeecord rewrites all entity metadata and tab list packets, those options allow you to disable that feature

The feature itself is safe and is based upon the way the modern client works, it has some caveats, but is generally safer in terms of how it treats the client and improves performance of the proxy itself
there have been some plugin compat issues, but many of those have been fixed over the years

#

Bungeecord rewrites all entity metadata and tab list packets, those options allow you to disable that feature

The feature itself is safe and is based upon the way the modern client works, it has some caveats, but is generally safer in terms of how it treats the client and improves performance of the proxy itself there have been some plugin compat issues, but many of those have been fixed over the years

Isn't it better to keep it enabled by default?

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Hey, i have a plugin that initializes a RestAPI with Spark. I can access that rest api if i use BungeeCord, but not when using Waterfall. The connection just timed out. In Waterfall Console is nothing showing up, no error or exception. it just blocks incoming traffic (as it seems)

i have tested it with default generated bungeecord and waterfall config.

  • Java 16
  • Build 480
  • Linux Ubuntu 20.04.3 LTS
buoyant shoreBOT
buoyant shoreBOT
#

Error:

Could not connect to a default or fallback server. Incorrectly configured address/port/firewall? ConnectTimeoutException : connection timed out: n1.luxxy.tech/178.128.174.71:5189

Config:

server_connect_timeout: 5000
listeners:
- bind_local_address: true
  force_default_server: false
  forced_hosts:
    pvp.md-5.net: pvp
  host: 0.0.0.0:5673
  max_players: 1
  motd: '&1Another Bungee server'
  ping_passthrough: false
  priorities:
  - lobby
  proxy_protocol...
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Upstream has released updates that appear 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:
34d416a4 #3261: Remove unused AttributeKeys
410f64bc #3268: Correct plugin message size check
978e68fc #3265: Print all thrown exception
a17d8f8a #3264: Negative packet ids are also outside of range

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

I took a look in waterfall dependencies and I found that protobuf-java is running on 3.11.4 version, which was released in 2019.
image
Because of that outdated version, some issues like that happens everywhere.
I realize this is due to transitive dependencies, but I haven't seen any of them. I mean, we could "strictly" an...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Kick reason is from the proxy because the server lost connection and thus, the proxy no longer having somewhere to connect you to, kicked you from the proxy

There is often logs when this stuff happens, but, not always, you'll have to try to deduce what caused it

I have the error:
java.lang.IllegalArgumentException: Objective sbUsername already exists in this scoreboard

#

Full error:
java.lang.IllegalArgumentException: Objective sbUsername already exists in this scoreboard
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:220) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:8e37934:unknown]
at net.md_5.bungee.api.score.Scoreboard.addObjective(Scoreboard.java:55) ~[FlameCord.jar:git:Waterfall-Bootstrap:1.18-R0.1-SNAPSHOT:8e37934:unknown]
at net.md_5.bungee.connection.DownstreamBridge.handle(DownstreamBridge.java:189) ~[F...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Not a Waterfall issue. The terminal Interfaxe you’re using has an info (terminfo) mapping that’s causing this. You will be able to fix this issue by googling for these scancode characters.
Keep in mind that this functionality, which includes the DEL key is part of the extended terminal features, so you’ll have a harder time if you’re using something like Windows builtin CMD or Powershell to access it.

buoyant shoreBOT
#

As far as im concerned, paper team is not recommending using packet-limiter in paper.yml when is running under a proxy. My suggestion would be adding a packet limiter built-in directly in Waterfall as i can not really find a packet limiter plugin for a proxy.

I don't know if this is the best option, for x reason you can send more packets and get kicked out.

buoyant shoreBOT
#

Not a Waterfall issue. The terminal Interfaxe you’re using has an info (terminfo) mapping that’s causing this. You will be able to fix this issue by googling for these scancode characters. Keep in mind that this functionality, which includes the DEL key is part of the extended terminal features, so you’ll have a harder time if you’re using something like Windows builtin CMD or Powershell to access it.

But it doesn't happen all the time, I use linux btw.

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

It compiles, but running it instantly gives an error. I tried with Java 8 and Java 17, same error. This is the entire output.

> java -jar Waterfall.jar
Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name messages, locale en
        at java.util.ResourceBundle.throwMissingResourceException(ResourceBundle.java:1581)
        at java.util.ResourceBundle.getBundleImpl(ResourceBundle.java:1396)
        at java.util.ResourceBundle.getBundle(Reso...
buoyant shoreBOT
#

I just tested this commit https://github.com/PaperMC/Waterfall/commit/958ae29cab8832d1093f4fa9292b345cd12d9a4b

It builds, but the proxy server does not start.

These are the commands I used to clone and build Waterfall:

git clone https://github.com/PaperMC/Waterfall/
cd Waterfall
./waterfall b

It builds fine. I copied the Waterfall-Proxy/bootstrap/target/Waterfall.jar in a new folder, then running it gives the following error:

> java -jar Waterfall.jar
Exception in...
#

Commit https://github.com/PaperMC/Waterfall/commit/9b0080a3ced33d7328837f6f564483ce8208d8e7

This is what shows up on the proxy's log when a 1.19 client tries to join:

[19:45:46 INFO]: [/127.0.0.1:63051]  InitialHandler has connected
[19:45:46 WARN]: [/127.0.0.1:63051]  InitialHandler - corrupted frame: A packet could not be decoded because it was too large. For more information, launch Waterfall with -Dwaterfall.packet-decode-logging=true
>

This is the error after enabling ...

#

While the issue in my original post was fixed, now I get the same error I get on BungeeCord while using ViaVersion!

I can join a spigot 1.19 server using the proxy with a 1.19 client, but I cannot join a 1.8.9 spigot server with ViaVersion 4.3.0 using the proxy. I can join the same 1.8.9 spigot server with ViaVersion 4.3.0 directly, without the proxy. I can also join the same 1.8.9 spigot server with any client between 1.8.9 and 1.18.2 with or without the proxy.

Is this a proxy issue, o...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#
java.lang.NullPointerException: Cannot invoke "net.md_5.bungee.connection.LoginResult.getProperties()" because the return value of "net.md_5.bungee.connection.InitialHandler.access$900(net.md_5.bungee.connection.InitialHandler)" is null
        at net.md_5.bungee.connection.InitialHandler$6$1.run(InitialHandler.java:573) ~[Waterfall.ja...
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Error on waterfall build 493. Happens on both 1.18.2 and 1.19 clients. Presumably this happens as soon as one of the Waterfall plugins send a message to player. Did not happen on pre-1.19 builds.

-> UpstreamBridge - encountered exception
io.netty.handler.codec.EncoderException: java.lang.IllegalArgumentException: Cannot get ID for packet class net.md_5.bungee.protocol.packet.SystemChat in phase GAME with direction TO_CLIENT
        at io.netty.handler.codec.MessageToByteEncoder.writ...
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Upon testing out the waterfall build of 493 and 490 it seemed that Spectator mode has gotten a collision where in default cases it should be no collision what so ever like noclip.
After testing on a stable server running on 1.18.2 without the latest versions of waterfall spectator mode should work how it was, but after slapping on 1.19 update of the waterfall, when spectator mode just breaks.

After downgrading waterfall to a later versions the issues seemed to be gone.

buoyant shoreBOT
buoyant shoreBOT
#

When I am in the 1.18.2 lobby and I execute the command "/server UpdatedSurvival" to go to 1.19 survival server, it does not work.
Obviously, I have via versions and stuff all set up but it keeps disconnecting me with this error.
`[12.06 11:03:12] [Disconnect] /xxx.xxx.xxx.has disconnected, reason: Internal Exception: io.netty.handler.codec.DecoderException: java.lang.IndexOutOfBoundsException: readerIndex(8) + length(1) exceeds writerIndex(8): PooledUnsafeDirectByteBuf(ridx: 8, widx: 8, c...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

I already wrote it in the discord but I think it's better off here.

I noticed that no skins are displayed in Waterfall #495. No matter which version I connect to, it remains a Steve Skin. Also, you can't see other players. I've tried several variants.

Waterfall 1.19 --> Version 1.18.2 Server = No Skin
Waterfall 1.19 --> Version 1.19 Server = No Skin
Waterfall 1.18. --> Version 1.18.2 Server = has skin
The subservers are always the same and have not been changed

If I log in from bo...

buoyant shoreBOT
buoyant shoreBOT
#

Hi, i cant start my waterfall server.
I use latest build 496
No plugins, clear server
Every time I try to start the server without config.yml server will start but after the next start/restart the server no longer works.
This error appear:
[14:20:54 ERROR]: Exception in thread "main" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Integer (java.lang.String and java.lang.Integer are in module java.base of loader 'bootstrap')
[14:20:54 ERROR]: ...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

`[19:08:34 ERROR]: [/...:52433|qkback] InitialHandler - encountered exception
io.netty.handler.codec.EncoderException: java.lang.NullPointerException: Cannot read the array length because "properties" is null
at io.netty.handler.codec.MessageToByteEncoder.write(MessageToByteEncoder.java:125) ~[waterfall-1.19-491.jar:git:Waterfall-Bootstrap:1.19-R0.1-SNAPSHOT:eceb6b9:491]
at io.netty.channel.AbstractChannelHandlerContext.invokeWrite0(AbstractChannelHandlerContex...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

This "feature" has been causing many issues such as breaking spectator more on and off for years, on top of that, I'm not 100% sure what plugins would be doing that would rely on this mechanism?

Yeah I understand, I'm just explaining for those who may be wondering why their skin plugin is no longer functioning.

As for the mechanism. Bungee skin plugins rely on the ability to overwrite the properties/uuid included in the tab-list. Without the re-write, their modified fields will not b...

#

PRs welcome for API which will deal with that better than relying on hacking into the current mess, I'm not too aware on what all plugins do around here, and would rather expose API for it vs having to tell people to re-enable a feature which has caused issues for years

buoyant shoreBOT
buoyant shoreBOT
#

I was messing around for testing the new version (1.19) and after some accurate test(s) I'm here to report that ServerKickEvent isn't started if a connected sub_server crashes (or just runs /stop).

Apparently, the issue is gone if /kick (or /ban) and /restart are being executed.
Another thing I saw after some debugging is that the proxy is using PlayerDisconnectEvent if a sub_server goes down (even in /stop) instead of kicking the player.

The issue is here after 1.19 BungeeCord's updat...

buoyant shoreBOT
#

This is the error that shows up when trying to connect to the Mohist server from another server from the Bungeecord network:
"The server you were previously on went down, you have been connected to a fallback server"

(When I connect I use the right mod packs and version of forge)

My main servers are running 1.18.2 this one is 1.12.2. (Using Via Version and Via Backwards)

Works when directly connecting to the Mohist server but not through Bungeecord.

Here is the error on the p...

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

We updated waterfall and viaversion on our network last week to the version 1.19-497 and since then player get randomly this error

disconnected with: Kicked whilst connecting to hub: Your data is still loaded, please rejoin in a moment.

It happens randomly on random player not all, either when the server restart and often when the player disconnect on himself
it happens on our whole network, thats why we think it might be waterfall

We made a binary search of our plugin to see if it ...

#

this issue happens on every server we have on our network randomly, but we still tried to remove our plugin but this error happened anyway
We tried the binary search without success

im not saying waterfall is creating this error, im saying it might be a vanilla error when a data is not saved correctly
If waterfall/papermc doesnt save/load data correctly this error would show right?

it couldnt be linked to our hub because it happens on other server as well
it couldnt be linked to a pl...

buoyant shoreBOT
#

If vanilla wouldve contained this message it'd be googleable, but there is no result on google.

Paper source code on github doesn't contain this message.
In general the "please ..." part does not sound like a message mojang, spigot or paper would ever put in.
They'd use different wording and no "please". Also they'd likely wait while unloading & reloading the data instead of kicking.

buoyant shoreBOT
#

The kick came from the server, not the proxy; We have literally 0 control over what the servers do, nothing has changed with how the proxy works either, only real caveat of bungee, which has been the case for years, is that you'll join the new server before you leave the old one, which can create very fun interesting issues for plugins which don't handle that too well

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
#

Upstream has released updates that appear 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:
587fb37b #3192, #3210: Handle null ServerPing#getPlayers upon a legacy ping
d221e529 #3241: Support ping passthrough for legacy pings
e151a6cf #3156: Add kick module
9ced5ce1 #3287: Fix HttpHandler calls done method twice
c8e876bf #3342: Fix sanitized address being not IP but hostname after InetSocketAddres...

buoyant shoreBOT
buoyant shoreBOT
#

Cannot reproduce, there are some nuances here, however; post 1.13, the way commands work in the server changed, and now the proxy needs to send all commands that the player can access to the client, this is done by injecting into the command structure packet sent by the server to add such entries

bungeecord, and by extension, waterfall, will add all of the commands which the player apparently has access to, this is 100% reliant on plugins handling command execution access properly, and won...

buoyant shoreBOT
#

Hi. I'm one of the owners of a small Minecraft network using Waterfall and SubServers 2. After many "too many file descriptors" errors for the last few months, me and the other owner (cc @ilikestohack) have isolated the issue. There appears to be some sort of socket leak in Waterfall where non-Minecraft packets are accepted (of course) and never properly closed, leaving them in the CLOSE_WAIT state.

We use a tool called Uptime Kuma for status monitoring, which sends very simple TCP pings to ...

buoyant shoreBOT
buoyant shoreBOT
#

So usually waterfall closes the connections of your tcp pinging without problem?

My idea was since you have it set up and such, that you let the tcp pinging happen like 100 or 1000 times and then check java process after 2 mnutes or so for open tcp connections?

I will attempt this, but it's not something can do quickly. Kuma has a maximum interval of 1 ping every 30 seconds (iirc), or 2 pings a minute/120 an hour/2,880 a day/174 days for 500000 descriptors (almost what we obtain...

buoyant shoreBOT
buoyant shoreBOT
#

I think with those rates, if the number of open files of a test bungeecord after a day should already indicate whether the problem exists in bungeecord or was introduced in waterfall.

I think just running a Bungee instance and mocking one of those connections (SYN, SYN-ACK, ACK, FIN) will tell me the same information (if I receive FIN-ACK, ACK I know we are all clear in Bungee)

buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT
buoyant shoreBOT