#waterfall-github
1 messages ยท Page 3 of 1
Hi, I'm having this problem to a few players on my server. This problem occurs while transfered the player to the main server after they logged in on Auth Server. Some people not having this problems, but some others experience this problems. As a fix, I do /send them manually using Waterfall Console.
Here's the log links: pastebin
Ps. Please read the comment on the logs...
read timed out means that no packets were sent in so long, more than likely a server issue
Hmm ok thanks for your response :)
2cab85c Don't intern scoreboard player names - electronicboy
By using enums of course
does magicaccessor class still exist? if yes, we could do nonpublic calls also with asm
needs pop2 for long/double
i think there were huge discussions about method handle vs normal reflection and i heard that methodhandles are in the end slower than normal reflection, as the jvm optimizes normal reflection also to asm at some point
This was part of waterfall in the past, someone should dig up removal reasons.
Can't access magic stuff past Java 9 iirc, wouldn't risk with that.
not a fan of adding a permission node to /bungee - all it provides is security by obscurity while making waterfall less popular
I mean people can already do that with disabled_commands, so if they really wanted security by obscurity then they can have it.
I don't see a reason to add null-safety here. Its not API and undocumented behaviour, just set enumValue to null, same for collisonrule and if value was not found.
Suggesting to use ImmutableMap or sth. similar
Well we disagree lol. shouldn't punish users just because updates haven't came out in a while. We have this same change on Paper hence the patch I linked in jest to use DemonWav's original "frustration"
Eh i don't think the complexity in the change is worth that. immutable isnt gonna offer any real performance benefit.
theres a flag to bypass
Yeah, if there are 10 fields more or less in that array it won't make any difference in performance, I just thought it'd look better.
But if you add permission node, default behaviour changes.
Actually I don't think the Modifier will ever be nonpublic, as on register it only registers public methods or sth like that
Will check it later and make changes.
Does EventBus even consider methods with non-void returns as event handlers? Then could simplify that logic and remove POP entirely.
Sure, might reconsider dropping /bungee from this patch. What about /perms? In my opinion it's pretty useless if you have custom permissions plugin (handling permission checks via an event)
EventBus does not check return value of @EventHandler methods: https://github.com/SpigotMC/BungeeCord/blob/b85df4f2a19222bf96b9143de38438a95911eec4/event/src/main/java/net/md_5/bungee/event/EventBus.java#L61
Archaeological excavations resulted with this: https://github.com/PaperMC/Waterfall/commit/80bed7979d707563283635998cc326f6aa0ad5b0#commitcomment-18806881
tl; dr; issue with Techcable's Event4J library, which is not an issue here anymore as this is more raw solution.
Where is the facepalm emoji in GitHub when I need it.
register calls findHandlers, which in turn calls listener.getClass().getDeclaredMethods(), so we still end up with non-public methods as I recalled correctly.
bungee does call getDeclaredMethods but does never call setAccessible(true), so it would fail calling a nonpublic eventhandler
In case of Bungee not executing non-public methods (either intentionally or not intentionally), then this event executor implementation becomes irrelevant.
Made requested changes.
Made requested changes.
This was part of waterfall in the past, someone should dig up removal reasons.
https://github.com/PaperMC/Waterfall/issues/70
https://github.com/PaperMC/Waterfall/issues/84
Though this makes me think. What happens when Method#invoke(...) throws Throwable instead of an Exception? Javadoc tells me only about exception.
This needs to be verified, if Throwable was passed on wrapped in InvocationTargetException, then I need to change this catch to handle Throwable instead.
There are still some things that can be improved by dropping CHECKCAST instructions when possible (see jdk.internal.reflect.MagicAccessorImpl)
@pczmr8v5n454iycf I'm very much sorry, I forgot to push the change o_O
If you're going to make this patch, best to merge it with https://github.com/PaperMC/Waterfall/blob/2cab85cbef7cefc63bb19ddbeb6d1bea3514a46c/BungeeCord-Patches/0034-Improve-outdated-build-message.patch.
@Xernium Is the Travertine fork which support 1.7 and old snapshot versions no longer maintained?
Hi,
I'm the SysAdmin of a little Minecraft server which plans to modify Waterfall to suit our needs. I cannot configure Jenkins to build Waterfall correctly, simply by running ./waterfall b, I get some errors.
Can you tell me how is configured your Jenkins ?
How about providing the errors you get?
https://ci.nexoviaserv.fr/job/Waterfall/1/console
That one: I have a Maven autoinstaller set up but seems it works only when invoking Maven using Maven Job type.
scripts/build.sh: line 6: mvn: command not found
You don't have Maven instaled
I have autoinstallers set up in Jenkins and it works well when building other projects. I don't understand why it doesn't install here :/
Solved, but what is the difference between ./waterfall b and commands used by your Jenkins ? The output is not the same at all :/
Log file doesn't contain any errors other than timeouts. The server connects instantly for any users outside of my local network, but trying to connect to the machine on my network running waterfall causes a read timeout.
Login is registered, I'm connected to one of my proxy servers, and the server begins the login process.
Wireshark shows that after a certain amount of time packets just stop being sent.
resolved by finding a very specific routing error with the configuration that I had. Set the bind addresses argument to false and disabled netty DNS seems to have resolved the problem
Every time I type a space after a proper command I get kicked for:
Method became inaccessible: TabCompleteEvent(super=TargetedEvent(sender=OrangeKale64, receiver=net.md_5.bungee.ServerConnection@451d461e), cancelled=false, cursor=/login , suggestions=[]) @ net.md_5.bungee.event.EventBus:50
As you can see I was trying to login to my server, but I get kicked every time I type the space after and proper command or if I send anything to chat. Some help please.
java.lang.Error:...
Caused by: java.lang.IllegalAccessException: Class net.md_5.bungee.event.EventHandlerMethod can not access a member of class com.vk2gpz.commanddoesnotexistbc.a with modifiers "public"
Speak to the plugin author
I have the same problem too and it's really annoying
@Xernium Could you update the Travertine fork which support 1.7 and old snapshot versions?
Fabric is a modern modding API and there is no proxy supporting fabric for now.
Since Fabric supports snapshots, it would be better if Waterfall supports snapshots (#494).
or drop 0034 entirely
either works, but dropping the older patch would cause all patches since to have their IDs changed.
Only 2 players can be at one server at once, when 3rd player want to join, they get this error: https://prnt.sc/sixpu1
That's a generic "the connection failed", you'd need to check the proxy logs for more information, this often implies that there is something screwing with the network or you're just connecting them to a dead server.
ok so how to fix that, server is not dead and there is nothing in proxy logs
it cant be dead server causew 2 other player can connect , when i send 1 player to other server , the i can join
Does removing that make sense? Waterfall uses jline 3, while BungeeCord is still on jline 2
I see. Then in the case that
return super.buildReader(builder.appName(proxy.getName()).completer(new ConsoleCommandCompleter(proxy)) used by Waterfall
is advantageous over Bungees consoleReader.addCompleter(new ConsoleCommandCompleter( this)); in the newer Jline version:
The diff could be reduced by 2 lines by removing Waterfalls custom completer impl and setting the completer of Waterfall to Bungees impl and then commenting out the update of the completer within upstream.
I think this is a no-go - Waterfall needs this diff because it uses log4j and TerminalConsoleAppender, unlike BungeeCord which relies on java.util.Logger.
As mikro said, waterfall uses jline 3, bungees impl is for jline 2, that commit uses API which has been moved in 3, our tab-completion stuff also looks more thorough, looks like bungee won't complete command names in the console?
Yeah that's why I said simply change ConsoleReader.completer(ConsoleCommandReader) to LineReader.completer(ConsoleCommandCompleter) which is a two line diff change which is compatible.
It is true though that completing with just / doesn't complete by the command map.
Hi. We had a dev set things up who is no longer with us and I'm trying to start a new Stoneblock 2 server but what he setup is blocking us in some way. I guess this isn't so much an issue as it is a plea for help. if I can resolve this, it would be great. Below is some info and a link to the config.yml.
The Waterfall and lobby servers show when a player connects to lobby but shows no attempts to connect them to Stoneblock 2
The Stoneblock 2 server console shows no signs of any connection ...
The Github tracker should not be used for support.
Your problem is that you are using the same server name for both servers (sf4) - this is wrong.
We may have some progress on this. https://github.com/SpigotMC/BungeeCord/commit/2f54c943720aea0c2c83049a37644fd67f6718bb
Can you test with latest bungee?
Modpack:
Error: https://gist.github.com/cooljacob204/090eb932b66f3fd6fadc107b54a98335
config.yml:
`listeners:
- query_port: 25577
motd: Default server, you probably have the wrong ip
tab_list: GLOBAL_PING
query_enabled: false
proxy_protocol: true # I tested haproxy directly to make sure it wasn't that
forced_hosts:
dimension.lfp2.gg: dimension
vanilla.lfp2.gg: lobby
skyblock.lfp2.gg: skyblock
ping_passthrough: false
priorities:- lobby
bind_loc...
- lobby
This is down to the plugin, potentially around UUID forwarding; Looks like the UUID of the client and the server is out of sync, and the mod doesn't really know how to deal with that, best guess would be to make sure that UUID support is working properly, e.g. if bungee is in online mode, check that UUIDs on the server are showing as v4's, beyond that, not really much we can do here
Thanks for the quick reply!
Putting the server bungee into offline mode did resolve it, but I would like to avoid going down that route if possible.
My understanding is that the server needs spigot to do ip/uuid forwarding. Is that correct?
I know that there is sponge, but; potentially too "large" of a mod depending on your needs, not really aware of anything more standalone; This is something that I would maybe speak to the mod dev about, it only ever seems to pass the clients own UUID, so, not really sure /why/ it needs to use the UUID; would be an easy patch, not really sure why looking at it you couldn't just make it grab the players info from the MessageContext
If you paste a long command into a command block, or type a lot of text into chat then turn it into a command, you get kicked for DecoderException : net.md_5.bungee.protocol.OverflowPacketException: Cannot receive string longer than 256 (got characters) @ io.netty.handler.codec.MessageToMessageDecoder:98
It appears the issue is caused by this change
Any info on this kinda arbitrary value? This seems to cause disconnects on inputting long-ish commands in chat and command blocks...
I believe it happens when pasting a long command in the chat too
Error: https://hastebin.com/ikikixekin.cs
This is a bungeecord method that looks like it was added here. I want to use this for my server to be able to see where players are switching from.
Please consider adding this method to Waterfall.
waterfall-1.15.jar:git:Waterfall-Bootstrap:1.15-SNAPSHOT:b9a1246:313
Update.
we have extra steps involved for deployment, we /basically/ just ./waterfall p, mvn clean install
Yes waterfall still needs to be updated to match what paper is doing here. will try soon.
@MrIvanPlays no improvements. Look what happened after updating:

ok your code is wrong. for average you need .avg (or .average I forgot how was the method) without any dividing your current statistic shows the result of the sum.
@MrIvanPlays I can't undestand what is wrong with my code. You are right that I should use the .avg() method of the Stream, but it doesn't change anything. I'm summing all the latencies and dividing by the number of online players.
@MrIvanPlays I don't think my code is wrong, it's just a bit of a mess. It sums all the latencies and divides by the number of online players.
Just changed it to:
private static int getPingAverage() {
return (int) ProxyServer.getInstance().getPlayers()
.stream()
.mapToInt(ProxiedPlayer::getPing)
.average()
.orElse(0D);
}
But it obviously doesn't fix the problem.
You're measuring the wrong (and in my opinion, meaningless) statistic, in my opinion.
Averages are well-known for not being a resistant statistic. The presence of extremes in a list will cause its average to increase. You're averaging the ping of all players, which can be extremely skewed. For instance, if I connect on a cable connection to a server close to my location, I will have good latency, but if I'm connecting from a satellite internet connection, my latency will be quite awful ([W...
@astei this is not meaningless. All my players live in the same country and the ping average directly shows instabilities and network problems. It helps us a lot to identify issues. I know that there are more effective statistics to diagnose network problems, but it doesn't explain why my graph shows that kind of latency spikes on the latest BungeeCord/Waterfall builds.
We noticed high traffic income that with newest waterfall, it spikes nearly up to 950mbit/s with 300 players, thats the reason, why we have ping spikes as hell, we already reached 5TB traffic in 2 days
Proof: https://image.prntscr.com/image/gnERN8pJT_qO58TtSbkUbw.png
You should check your traffic income with nload
@Hyronymos1337 I don't see this behaviour here. No changes on the income traffic.
`
java.lang.IllegalArgumentException: Objective 4f3ade0153dc already exists in this scoreboard
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191)
at net.md_5.bungee.api.score.Scoreboard.addObjective(Scoreboard.java:55)
at net.md_5.bungee.connection.DownstreamBridge.handle(DownstreamBridge.java:149)
at net.md_5.bungee.protocol.packet.ScoreboardObjective.handle(ScoreboardObjective.java:67)
at net.md_5.bungee.netty.HandlerBoss.channelRead(HandlerBoss.java:10...
Duplicate of #318
Please use the search feature in the future
I'm pretty sure thats not bungee/waterfall/whatever fork of those problem. But with the latest changes we made on this topic the data got even acurater, although I think we will need one more change; to clean up some of the old keep alives in order to free up some memory. But this won't affect the data in any way.
I'm pretty sure these spikes are either server or clients' network problem. And I agree with @astei that this statistic is meaningless.
We can confirm this error, it also appears at our server
@MrIvanPlays it should get clenaed up pretty well actually, as its saved in serverconnection, its garbage collected once the server is switched.
@MrIvanPlays it should get clenaed up pretty well actually, as its saved in serverconnection, its garbage collected once the server is switched.
I was thinking that it would still stay in memory but as you say.
Attributes aren't reset, so the player sees the wrong amount of hearts when switching away from a server that changed the default value to a server without the change (since default attributes are not sent to the client). All of the other attributes either don't affect the client itself or are reset due to non-default values for players, so only the max health attribute is important.
Caused by: java.lang.NoSuchMethodError: net.md_5.bungee.protocol.packet.Chat.<init>(Ljava/lang/String;B)V
You should probably add this constructor for compatibility.
On Vanilla 1.16-pre2 the player seems to get disconnected when left/right clicking anything.
Not sure if this is known, just thought i'd mention it.
@RedSparr0w apologies. I should have double-checked @Gerrygames commit. Should be fixed now.
Also @Gerrygames you botched a SERVERBOUND packet while matching the shift in CLIENTBOUND ;). I also added an API dummy for Chat. Gotta love lombok...
Hello @Xernium, the last build from your build server is from about a month ago, where can I download the newest travertine with 1.16 support? Thank you!
Hello,
Iโm having issues with my servers after enabling IP Forwarding so that i can use multichat, when i try to join through my Waterfall server i start connecting to my main modpack server add see some fml authentication in its console but then iโm kicked just after it said i joined the game, the client gives me the error
โThe server you where previously on went down, you have been connected to a fallback serverโ
And in the Waterfall console i get
โDownstreamBridge [main] - bad pac...
@electronicboy Would you merge a fix for this that deactivates rewriting for these scenarios? (With or without config option, that's your call)
I'm more wondering what these mods are doing, and what versions this is
actually applicable to, as I have a feeling it would be viable to just say
to skip rewriting on those versions, and maybe look at handling the extra
data and just throw it though
On Wed, 10 Jun 2020, 11:37 FivePB (Xer), notifications@github.com wrote:
@electronicboy https://github.com/electronicboy Would you merge a fix
for this that deactivates rewriting for these scenarios? (With or without
config option, th...
I see you tagged in a duplicate issue but could not see a fix, what would i need to do solve the issue for my servers? I have them all running without IP Forwarding so players can get on but they cannot cross server talk, is there anything i can reconfigure?
The linked issue is open for a reason, there is no current fix yet, bar tryna work out which mod is breaking it
Sorry i'm new to github, is there any more information you need? i can upload logs or files if needed
The part of the debug screen where it shows what type of server you're using is overlapping with the "Allocated: 100%" thingy and causes the text to be blurry / undreadable.

Same issue appears very likely on BungeeCord as well, but honestly nothing we can do about it.
I'm interested, what is your game resolution and GUI scale?
My game resolution is set to Current (2560x1440@165 (24bit)), and my GUI Scale is set to 5.
Is there no way to change the text to something smaller like this:
- Waterfall:1.15-SNAPSHOT:2615829:346 - Paper [TX]tx [RX]rx
or
- Waterfall - Paper - [TX]tx [RX]rx
Use brand changing plugins if you really must. I'd personally change GUI scale smaller, as sooner or later you'll see that other texts in game (depending on your server's content) won't fit either.
I'd think it'd make more sense to drop the version from the brand anyway. I'm not sure why Bungee thinks it's a good idea to shove the entire version string up there but ultimately it's up to @electronicboy
why got this closed?
@xxDark I don't think that normal java classes can leave out CHECKCAST, it'd get a verify error likely on class load
I guess he closed all his PRs because they didnt got merged after a month and because he is active contributing to velocity now
why got this closed?
Low interest in implementing this. If someone else wants to do this, feel free to pick up the leftovers.
why got this closed?
@xxDark I don't think that normal java classes can leave out CHECKCAST, it'd get a verify error likely on class load
Doing that without any problems. Plus it allows me to invoke private listener's methods
Im using:
Forge 2838
spongeforge 2838 for 1.12.2
Waterfall #346
And i receive two different, separate errors when connecting in. The first from the lobby:
Ren_kun lost connection: Internal Exception: io.netty.channel.unix.Errors$NativeIoException: syscall:read(..) failed: Connection reset by peer
and the client gets:
Internal Exception: java.lang.NullPointerException
while waterfall receives:
[|/45.127.94.8:60757]: ServerConnector [lobby] has connected
[/45.127.94.8:6...
need the full error from the client, waterfalls error is just saying that the client closed the connection improperly
I think this is the log you want.
https://paste.ee/p/wOZp0
[20:22:15] [Netty Client IO #0/INFO] [net.minecraft.advancements.AdvancementList]: Loaded 577 advancements
[20:22:15] [Netty Client IO #0/ERROR] [FML]: Exception caught during firing event net.minecraftforge.fml.common.network.FMLNetworkEvent$ClientConnectedToServerEvent@24f327f:
java.lang.IllegalStateException: null
at com.google.common.base.Preconditions.checkState(Preconditions.java:429) ~[guava-21.0.jar:?]
at net.minecraft.advancements.Advancement.getTree(SourceFile:565) ~[i.cl...
I think this has nothing to do with Travertine and your plugin is broken. Does it work on Waterfall or just normal BungeeCord?
Is there any way to just change this in a config or something? Do we really need to install plugins to fix this? Installing a plugin should never be the right answer...
I would be in support of dropping the version anyway
[PaperMC/Waterfall] New comment on issue #469: Shorten / Speedup "Cannot request protocol" exception
Already resolved by upstream
Closing, this is a mangled packet at the very least, often down to plugins on the server messing with the networking stuff
Hello!
So I want to change the version displayed on the server browser. Because my server is version 1.12.2, so I want to limit the versions to just only 1.12.2.
For example:
Normal Waterfall
Waterfall 1.8.x, 1.9.x, 1.10.x, 1.11.x, 1.12.x, 1.13.x, 1.14.x, 1.15.x
What I want it to show
Waterfall 1.12.2
How can i do this?
Thank You!
https://github.com/Xernium/Waterfall/pull/3/commits/8edee1f3b5b07232ade1df5f17abddccda748e2a
Just need to make this change and we are 1.16 ready. @Xernium
Can confirm that 734 (rc1) also works without any problems. Changing it to 735 should be ready for 1.16.
I Verified that the upstream changes to the downstream patch repo don't interfere. We should be good-to-go and merge-ready ๐
Hopefully I didn't mess anything up while rebasing
Cannot reproduce on the proxy itself, that's handled fine; looks like something is mangling your player list
Hello, I have a problem with the last Waterfall version (353), freshly downloaded from the website.
When I tries to connect to the server (with default configs), It kicks me from it with the reason "Internal Error: java.lang.NPE", I am running on a VPS with java 8. It do the same on my computer. I am playing on 1.8
need the full exception
I have only this : https://share.koora.eu/Lepp1W266r.png
and (server) : https://share.koora.eu/sBWgNRDqSY.png
It do it only with online-mode enabled!
It came from my side, I was not on the minecraft launcher. But the proxy did not inform me that I was in offline mode on my launcher.
Tested in 1.7.2, 1.7.5, 1.15.2 and 1.16.
Cheers, was working on this locally and just thonked out \o/
when you are offline mode in client, the NPE is clientside once the server sends encryptionrequest
The issue happened when you were in the nether and you changed from that server to another server that was in the overworld. You would stay stuck endlessly.
In addition, BungeeCord changed how the dimension changed internally, so we can safely cast to an Integer without having to worry about if the dimension was an object or an int.
The issue was in https://github.com/PaperMC/Waterfall/blob/master/BungeeCord-Patches/0046-Provide-an-option-to-disable-entity-metadata-rewriti.patch#L112
...
d2dc905 Updated Upstream and Fix switching servers with... - PatoTheBest
While we are on this subject, shouldn't JoinGame be resent if the next server is != the same mode (hardcore or not hardcore) ?
Easily reproducible by installing ServerListPlus and added a multi-line hover message without enabling the Samples.Multiple config option.
As far as I can tell the client simply doesn't like player names with new lines in them anymore.
Hello, after the latest release of travertine on version 1.16.1 my server icon stopped to appear in the serverlists. I have server icon created via the spigot rules: https://www.spigotmc.org/wiki/server-icon/
There is no error log in the console. Can you please provide me any help?
Thank you in advance!
Can you share the exact server-icon.png you're using?
Here you go - we have been using it several years without any problem - https://imgur.com/lGHIPEy
Cannot reproduce on latest Travertine. Check to make sure none of your bungee plugins are modifying the icon. Also, check to make sure ping passthrough is disabled.
Make sure to drop if/when SpigotMC/BungeeCord#2875 is merged.
This was tested using BungeeCord chat components, but adventure probably won't err.
I have tested builds 358, 357, and 356 all downloaded from https://papermc.io/downloads#Waterfall and they all fail to start with the error:
`>.... [23:23:21 ERROR]: Could not load 'plugins/Waterfall.jar' in folder 'plugins'
org.bukkit.plugin.InvalidDescriptionException: Invalid plugin.yml
at org.bukkit.plugin.java.JavaPluginLoader.getPluginDescription(JavaPluginLoader.java:162) ~[patched_1.16.1.jar:git-Paper-1]
at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java...
You need to put the Waterfall.jar in the folder before plugins, then make sure you remove it from the plugins folder.
Ah, its a server jar not plugin; Got it.
First time using Bungee/Waterfall, lol
We often don't merge stuff PR'd to both repos unless it becomes clear there is little interest from upstream, in cases where you do PR to both, it would be handy to PR without // Waterfall, etc, that way the merge resolution is dealt with automatically and treat it as a temp patch we're likely going to drop
[15:03:58 ERROR]: [Samukage|/189.63.128.200:60378] ServerConnector [RankUP_OP] - exception processing exception
java.lang.NullPointerException: null
at net.md_5.bungee.util.ChatComponentTransformer.legacyHoverTransform(ChatComponentTransformer.java:44) ~[bungeecord.jar:git:Waterfall-Bootstrap:1.16-R0.2-SNAPSHOT:d0f82f3:359]
at net.md_5.bungee.util.ChatComponentTransformer.transform(ChatComponentTransformer.java:111) ~[bungeecord.jar:git:Waterfall-Bootstrap:1.16-R0.2-S...
When ever I run a chat command with an invalid arg or the command has an error I get kicked with the message "NullPointerException : null @ net.md_5.util.ChatComponentTransformer:44"
I have encountered this on both build 359 and 258
Its a bug in BungeeCord which got fixed very recently. Wait for a waterfall update.
Its a bug in BungeeCord which got fixed very recently. Wait for a waterfall update.
thanks for the info!
Everything works fine on client version 1.16.1.
Any version below is broken, cannot switch server, cannot send bungee command.
i'm having the same issue in 1.8.9
today my server got attacked, a bunch of proxies (all different IP so current throttle wouldnt catch) all requested to login with random usernames. This resulted in 50-700 connections per second fduring the attack and ultimately my bungee IP being blocked by mojang for a bit due to too many requests, as well as bungee freezing due to out of memory. This only took about a minute for the attacker. This could mitigated by adding a configurable rate limit to ANY join (InitialHandler has connected...
maybe have the value in the config option. I think default 5-10 is about right, and for the startup period, a default of about 2 minutes ignored period is good
Currently taking some time off, so, probs not gonna really consider this for a little while
I'm not really fond of throwing in config options for this type of stuff, everybody is going to want different behaviors around this, that maintaining that in the core software is really not something I'm super happy fond about, especially when I recently added events to waterfall to allow plugins to handle with this as efficiently as possible, and saves us from having to care about every 'weird' re...
This is purely out of our control, if the client isn't parsing \n in there anymore, which does look like the case, not much we can do
If every one wants different things isnt that exactly what config options are good for?
There is no way I'm going to set up all sorts of load balancing or whatever that I don't even think would work for a ddos attack that I would never need to do otherwise I only get like 100 players
If this is possible to actually cancel any sort of handling of the connection (before sending request to mojang at least) then that's fine this can be closed I'll try to make a plugin but if not I'd still l...
instead of \n just add multiple fake player entries then
use an antibot... but not a normal antibot, try the JH_AntiBot v4 beta... https://cdn.discordapp.com/attachments/498363165520822292/719031333103468574/JH_AntiBot_v4.jar
@PhanaticD
These two events run before mojang connection:
- PlayerHandshakeEvent
- PreLoginEvent
I believe I have figured out how to do this with iptables, just posting it here for anyone to give it a second look as its not tested as I dont have this attack tool
to create:
iptables -N MCLIMIT
iptables -A INPUT -p tcp --dport 25565 -m state --state NEW -j MCLIMIT
iptables -A MCLIMIT -m limit --limit 10/s --limit-burst 20 -j ACCEPT
iptables -A MCLIMIT -j LOG --log-prefix "MCLIMIT: "
iptables -A MCLIMIT -j REJECT
then here is to remove:
iptables -D INPUT -p tcp --...
The thing with iptables is that it does not differentiate between ping attempts and join attempts. You could do this with both events.
Hello, for no apparent reason all the players suddenly have the same IP, this only happened on 1 server in the entire network, and we do not know why, since we have not touched any that has to do with it, only optimization. The problem is that now we cannot ban anyone from ip every time we ban someone, they come back with another account (Yes, it is a non-premium minecraft server). What option do I have so that this does not happen and the error is corrected? :c
You likely didnโt configure bungee mode on the backend server
On 4 Jul 2020, at 21:08, ToxicPeople notifications@github.com wrote:
Hello, for no apparent reason all the players suddenly have the same IP, this only happened on 1 server in the entire network, and we do not know why, since we have not touched any that has to do with it, only optimization. The problem is that now we cannot ban anyone from ip every time we ban someone, they come back with another account (Yes, it is a...
So, I'll explain the problem in detail, I wanted to be able to edit the messages of BungeeCord, in particular the messages that are shown when the player is kicked, for example because the player is already online on the server or because he is using a non-malicious version etc. So in order not to use a fork of Waterfall / Travertine that are never updated I decided to extract the message.properties file and edit the messages from there, I did not have some type of problem to edit the message...
Try replacing ยง with \u00a7
.properties files can't handle utf8 too well
Did you test this with different client versions?
Or does the problem not occurr with other kicks?
Can literally not be fixed on the proxy, this is a client issue. Iirc this is already known and filed as bug on the mojira
https://github.com/PaperMC/Paper/issues
I found out that this issue does only happen if i connect via BungeeCord or Waterfall (i tested both) to my servers.
If i connect directly to the Servers, the issue doesn't exist.
There is a problem with inventories containing shulker boxes created before 1.16.
If you open them your client is instantly disconnecting.
What behaviour is expected:
Players to be able to use Shulker Boxes from 1.15.2.
What behaviour is observed:
If a player had a Shulker box with NBT data in an inventory [either theirs or in a chest] from 1.15.2, as soon as that inventory is loaded after the 1.16 upgrade the player will crash.
No errors in console other than the player disconnecting.
Steps/models to reproduce:
Load up a 1.15.2 Spigot server
Get a Shulker Box that has some form of NBT data [some of these ...
Hi,
I saw today a weird bug, that only happens with the latest build 361: https://pastebin.com/dNEQWZG5
Background-Information:
I develop a plugin which gets posts from a grav website to announce it in game. I use json to proper format this message and replace some variables with the given data.
This function looks like this:
`HashMap postdata = getPostData(getLatestPost(a));
if(postdata.get("status").equalsIgnoreCase("ok")){
...
I couldn't reproduce with both the JSON's in this post:
Here's the code I used to test (it doesn't throw any exception):
public static void main(String[] args) {
String json = "[{\"text\":\"Klicke hier um die letzte News \",\"color\":\"white\",\"clickEvent\":{\"action\":\"open_url\",\"value\":\"https://eona-minecraft.de/de/news/creative-und-themona-gehen-wieder-online\"}},{\"text\":\"Creative und Themona gehen wieder online!\",\"bold\":true,\"color\":\"gold\",\"clickEvent\...
Weird. I develop this since 2 days. And my testserver downloads everytime a new waterfall jar.
It just stopped working over night :).
I try this tomorrow again and comment here what I got.
Maybe i'm blind and dont see the failure on my code xD
My bad. There was uncommited work in my workspace that was effecting the results. I'm getting an exception now. Will push a fix to BungeeCord soon and then when Waterfall pulls from upstream this should be fixed.
Oh ok. Thank you for your help :)
[12:58:05] [Netty Worker IO Thread #29/INFO]: merinos executed command: /fr bmsg FIVEFIVE
[12:58:05] [BFriend Pool Thread #0/ERROR]: Task BungeeTask(sched=net.md_5.bungee.scheduler.BungeeScheduler@221a1bb, id=195, owner=at.yawk.bfriend.BFriend@25fc83c2, task=at.yawk.bfriend.BFriend$FriendCommand$$Lambda$441/417352248@26e3de68, delay=0, period=0, running=true) encountered an exception
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at uk.co.thinkofdeath.command...
Bungee Scheduler is a little odd. Each plugin gets its own instance of the JDK Executors.cachedThreadExecutor().
If you want delayed or periodic tasks, each of the tasks calls Thread.sleep and blocks until the appropriate time.
Blocking these tasks seems like poor practice. Each scheduled task takes up a dedicated thread, even thou...
I'm leaning towards making the scheduler just a simple wrapper around the JDK's ScheduledExecutorService. It should be per-plugin so plugins don't interfere with each others tasks. I assume wasted threads for plugins that don't use the scheduler isn't a problem.
There is technically potential for API if a plugin uses a lot of blocking tasks but those plugins are kind of dumb and I don't know that we should support them.
If we are worried about potential breakage, we should probably just...
I tested it now with build 362 which includes your commit. Now its working fine again :D
Thank you for fixing this.
Greetings Bloodrayne
Hi, couldn't you add one option to disable these messages? It's annoying when players are switching servers and it instantly spam proxy console.... Something like you did in waterfall.yml with initial_handler? So something like way to disable logging of these messages?
>.... [01:38:33 INFO]: [playername|/playerIP:port] ServerConnector [server] has connected
>.... [01:38:33 INFO]: [/playerip:port|playername] DownstreamBridge [server] has disconnected
Having an issue where after updating to 1.16 (both proxy and spigots), the server is unable to change servers, citing that the player is "already connected to that server". An example of this is shown below. I am in the process of regenerating config files and re-populating them, will update and close this if that resolves the issue.

Update: Issue was with an external plugin, VersionConnector. Closing thread.
comment: only one player gets kicked. Other players remain on the server.
`
java.lang.IllegalStateException: Adding 1 elements would exceed capacity of 128
at com.google.common.base.Preconditions.checkState(Preconditions.java:593) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.2-SNAPSHOT:9234e50:358]
at net.md_5.bungee.util.BoundedArrayList.checkSize(BoundedArrayList.java:19) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.2-SNAPSHOT:9234e50:358]
at net.md_5.bungee.util.BoundedArra...
No it is some bug in here:
https://github.com/SpigotMC/BungeeCord/blob/master/proxy/src/main/java/net/md_5/bungee/connection/UpstreamBridge.java#L251
All (not cancelled) minecraft:register or minecraft:brand messages from the client to the bungee since the client connected are stored in a list and sent to the new server after a server switch.
The problem is that those messages are never removed from that list and after every server switch the client resends the minecraft:register and min...
Client only resends minecraft:brand or MC|Brand when recieves Login(JoinGame) packet. Maybe forge or fabric resend register stuff but not vanilla
I created a plugin that logs those messages for debugging. The vanilla client definitely sends a minecraft:brand on server switch. Forge/Fabric clients also send one or more minecraft:register packets on server switch.
Vanilla Client:
[playername|/x.x.x.x:50282] <-> ServerConnector [Farmen] has connected
Setting stored Location for playername: Farmen
[/x.x.x.x:50282|playername] <-> DownstreamBridge <-> [Freebuild] has disconnected
[BungeePluginMessages]: Message to playername: minecr...
I highly recommend to create an issue on BungeeCord for this in that case.
I always use the latest MC-Version. In this case it was MC 1.16.1 - Vanilla, no modified Client or so
I've seen that error when someone logs in with Geyser MC (Bedrock Edition to Java Edition proxy)
Using Waterfall to connect to a 1.16 paper server.
Right clicking a fishing rod plays the sound, but doesn't show a bobber being casted. This works when direct connected, not via waterfall.
I use paper's Player#setPlayerProfile() to change skin of a player, using code below
PlayerProfile profile = player.getPlayerProfile();
profile.setProperty(new ProfileProperty("textures", skin_value, skin_sign));
player.setPlayerProfile(profile);
This WORKS without problem when connect to paper directly (offline or online mode), and also works when connect to Waterfall in online mode. But not working in offline mode.
Steps to reproduce:
-...
Disable meta rewriting in the waterfall config and see if it still happens. If no I already know whatโs wrong and Iโll PR a fix to bungeecord.
We had this issue and solved it by updating to the latest Waterfall.
I have run into situations before where the number of people connections to a proxy at once can sometimes overwhelm certain systems and cause rate limiting from mojangs end.
One of the teams I work for have developed an in house solution to this to load balance Mojang login requests over our internal infrastructure to combat this (which may be open sourced at some point), but to use it we are required to modify this url each time with a custom build.
To keep updating simple (this is li...
Being perfectly honest, I can understand the desire for this, the nature of just slapping it in a config option is where I eer a bit
I fell the vanilla way for this is to use a proxyselector
Agree with cat on this, should be a command-line option/property imo. I can see users mistakenly touching that in the config.
Also, why aren't you just using %s in the URL so you can use String#format. I don't understand the need for your own variables here.
Have moved this to a system property and switched to String#format.
Hello,
Players are randomly disconnected from the bungee with this error:
An idea: Velocity implements its scheduler by using a dedicated executor alongside a single-threaded scheduled executor to fire periodic tasks.
Not vanilla client. Vanilla 1.8.9 clients cannot send empty chat messages.
Probably, but most of people on Minecraft don't use the vanilla client...
This wasn't happening with an old version of Waterfall who was supporting 1.8-1.15.2
Caused by the property rewrite at
net.md_5.bungee.tab.TabList#Rewrite
Is it possible to add a configuration that skip the rewrite of items.property field, or just keep the properties when it's offline player?
When trying to set the description component in ServerPing gotten from ProxyPingEvent it does takes BaseComponent and not BaseComponent[] like all the other api that use base components take
https://gist.github.com/MithrandirCraft/510c406c15b4e99db6900ae8d7e37366
maybe more like a paper issue. If so let me know and I'll forward.
same here. I wish sponge updated to 1.14.4. hope they fix this soon as its been 8 months since this has been opened

I'll include this as a conversation that occurred in the MinecraftForge Discord, make sure to go there and find these messages for the rest of the conversation and context as there is more.
Essentially a reset packet has to be added to Forge that follows this general idea for any support like this work. At this time they are not interested in spending the t...
I believe that the best route, which I'm pretty sure we talked to lex about, would be to basically have a server switch packet, the only real caveat is making this work in common proxy environments, the /only/ way I could see this working would be to have some way to pass some data to the client to re-forward on join, that way we can send them to the correct server, which ofc, creates its own "we don't want the client to be able to throw arbitrary data at us and do whatever" issues
Hello everyone,
so I have a problem with starting my Waterfall Proxy Server. I don't know what the problem is so I decided to turn to you guys for some help with the console log.
[16:16:36] [main/INFO]: Using mbed TLS based native cipher.
[16:16:36] [main/INFO]: Using zlib based native compressor.
[16:16:36] [main/INFO]: Enabled Waterfall version git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:8afc4e2:366
[16:16:36] [main/INFO]: Not on Windows, attempting to use enhanced EpollEventLo...
Please use the discord/IRC for support, there is nothing in those logs which suggests an issue bar it not saying it's starting to listen, advice for stuff like that is generally going to be to start pulling plugins or even maybe grab a jstack of the process to see what it's currently doing
Currently using Waterfall#366 for my 1.12.2 modded spigot server. Most packs work just fine, just not sure if this can just be fixed on Waterfall's side (if there isn't already one) without having me to find which mod(s) are conflicting/causing this.
The only other time I have experienced this is when there is too much data (too many packets?) going from the client to the server. But in this case, I know its Waterfall. I can join the server just fine until I use vanish from a plugin such a...
Looks like the Just Enough IDs mod causes this problem when using Waterfall.
My Server keeps crashing.
https://hasteb.in/ekiyibav.lua
not a crash, looks like you're getting botted and hit the mojang auth limit
So on our server we have quite a few custom villagers that sell custom items. Their summon command are quite large to fit in all their data. We just recently made our servers into a network with Waterfall. Now when we try to paste our commands into command blocks to summon our villagers, we get kicked and this message pops up.
DecoderException : net.md_5.bungee.protocol.OverflowPacketException: Cannot receive string longer than 2048 (got 8668 characters) @io.netty.handler.codec.MessageToMe...
c0f946a Cap tab complete packets to servers max - electronicboy
Hi, we are facing the same issue on our server. We are running Thermos 1.7.10 on our backend servers. When you join a Bukkit dimension, Thermos sends DimensionRegister packet to client to inform it about the world's provider.
I think that either the DimensionRegister packet doesn't get forwarded to the client at all, or ...
When I tried to connect a 1.16.2 server with waterfall#367, an error occured.
[02:30:02 INFO]: [/180.102.122.78:19374] InitialHandler has connected
[02:30:02 INFO]: [MAX_XiaoKui|/180.102.122.78:19374] ServerConnector [survival] has connected
[02:30:03 WARN]: [MAX_XiaoKui|/180.102.122.78:19374] ServerConnector [survival] - bad packet ID, are mods in use!? Unsupported protocol version 751
[02:30:03 INFO]: [MAX_XiaoKui] disconnected with: Exception Connecting:FastDecoderException : ...
Waterfall does not support 1.16.2 yet.
bungeecord and waterfall are not 1.16.2 compatible yet
@electronicboy there you go.
74e388d 1.16.2 Temporary support patch (#560) - Xernium
It works nicely, except I have an issue with resource packs kicking players.
@ramdon-person are you using a plugin for that?
Yes, bungee resource packs. (The development build for 1.16)
The plugin has no valid packet offset for 1.16.2 yet, it has changed from 1.16.1, so naturally this will cause this kind of issue. Not a Bungeecord issue itself
oh okay good to know. I'll update that and use it. Thanks
oh I didn't see, it looks like the plugin's owner just updated it
@electronicboy did I miss something? Should I be changing the pom version?
Feel free to add edits
Need to update the EntityRemoveEffect packet ID
I love how I just realised that I forgot this PR was still open. Lol.
Hi, i have been trying to figure this out for months without any clues. I am new at this git stuff and i don't really understand how it works. I am trying to pull from Upstream with some patches done to the Travertine source and then pulling to get the 1.16.2 update but it isn't pulling stuff from Upstream.
/travertine p output
https://hastebin.com/imenociwok.sql
Thanks.
Did you update the submodule Waterfall (assuming this is a modified travertine) with ./travertine up and then rebuild your changes? Assuming you just modified travertine, I would suggest you clone the current Travertine repo, put your extra patches in the patches folder, rebuild the patches and go from there
Did you update the submodule Waterfall (assuming this is a modified travertine) with
./travertine upand then rebuild your changes? Assuming you just modified travertine, I would suggest you clone the current Travertine repo, put your extra patches in the patches folder, rebuild the patches and go from there
Hi, please explain carefully what i have to do, because i just lost all my changes by doing ./travertine rb :/
Up, patch, fix any issues, rebuild
Up, patch, fix any issues, rebuild
Thats exactly why i asked for more detailed info. I dont understand that terms. I already readed the CONTRIBUTING.md on how to pull but it gives me the error i described in the first message.
Remove the spaces in the path, that would be my guess
On Fri, 14 Aug 2020, 17:27 LinsaFTW, notifications@github.com wrote:
Up, patch, fix any issues, rebuild
Thats exactly why i asked for more detailed info. I dont understand that
terms. I already readed the CONTRIBUTING.md on how to pull but it gives me
the error i described in the first message.โ
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<https:...
Hi, that fixed some issues with /travertine rb but it is still not compatible with 1.16.2 after doing /travertine b and getting the jar from /Travertine-Proxy/bootstrap. Do i have to do something else?
I just noticed it is trying to take stuff from a old folder that doesn't exist anymore. What could be causing this?
It is taking stuff from the users/downloads/... folder instead of /files/workspaces/...
Another Update:
I re-cloned Travertine to a new folder without touching anything then i moved Travertine-Proxy files from FlameCord into Travertine-Proxy folder of the new cloned Travertine.
For some reason every pom fails to merge because of conflicts: https://hastebin.com/kokukaqusi.sql
What can i do from here? I am trying to understand this as much as possible.
Okay, after 12 hours of try/fail i now understand the Patch system. But now my problem is that Travertine/Waterfall patch system is broken because it generates the folder path when built so now that i am using another path (moved from downloads to minecraft-workspace) it tries to use the unexistant downloads path.
What can i do from here? It seems now like an issue from Travertine/Waterfall that i can't solve. I don't want to lose the source, i already recoded FlameCord 3 times because of ...
@LinsaFTW if you still need help DM me on discord @stormfront#5479
Okay. Thanks for all the help on Discord, Purple. I was able to fix this with the following steps to pull from upstream:
- I made my patch as CONTRIBUTING.md specifies.
- When i tried to
travertine pit gave merge errors with my patch, this is what i did to fix the issues:
2.1. Open all files listed on the "merge error" message with your favorite text editor.
2.2. You will see that each file has a "<<< head" text added on the files, this is to identify between the incoming change ...
This function is important for servers have multiple domains.
Content: https://github.com/SpigotMC/BungeeCord/pull/1956
I wanted to pack a modpack into my small server network again, I also have "forge_support: true", but I get a readtimeout error if I want to go to the Forge server (I don't have any mods in it at the moment)
io.netty.handler.timeout.ReadTimeoutException: null
read timeout suggests that something missed something,
worth noting that #450, disabling metadata rewriting in waterfall.yml may help
Should just lead to https://papermc.io/javadocs/waterfall, I understand Paper just leads to the javadocs page, but it has multiple options, and Waterfall just one.
* Waterfall API JavaDocs here: <https://papermc.io/javadocs/waterfall>
* Maven repository (for `waterfall-api`):
Players can not see or interact with each other, even though they show up
2020-08-27 02-51-02.zip
in the tab list
Uploaded to youtube @ https://youtu.be/s-AqPK2jUes, in the future please do so as well.
This doesn't seem like a Waterfall issue, too many variables for this.
What is the server running? Paper, etc? What versions of both?
#550 added a way to customize the session server. Utilize this if you are still experiencing this issue.
Can't reproduce, and this is likely a SSH client or operating system error.
#550 added a config for it too. This should help as well :)
/greload is also not supported. I believe you can simply restrict the server and reload then send everyone on there back to lobby, or shut down the server.
Around this time I believe the session server IP changed. You can also customize it now if needed as of latest build. If this is still an issue, feel free to let us know. Have a good day!
its "waterfall-370" and i downloaded the top 1.16.2 paper server yesterday.
fricc i changed bungeecord and forward_ip to true
This issue has nothing to do with customizing the session server did you even read it
The error was with it not being able to access it. So if it can't resolve, you can change it to something else that does. Anyway, is this still an issue?
no, the issue is that it resolved the WRONG IP
Yeah, it's mostly a DNS caching error then, what do you propose the fix to be?
well what I did was disable the netty resolver and added -Dnetworkaddress.cache.ttl=10 to startup arguments
but that solution does not work with netty resolver enabled
its do not plugin, i tested start 3 versions of server. 1 plugins+mods 2 plugins 3 mods, first and thrird give this error
now i try to find problem mode and fix this
I've been trying to fix this issue for hours now but it seems from all my tests that this problem is because of Travertine.
I'm using the latest build #158 and the problem isn't when I login directly to the Minecraft server. I also used latest buuild of spigot. Normally I'm using Waterfall also the latest build.
What it all comes down to is that when I or other ppl logon we can't see each other. We can see chests opening, fireworks going off and arrows flying. Just not the player doing t...
Appears to be a duplicate of PaperMC/Waterfall#564
99% of the time, this is due to plugins on the server sending data around with upsets bungee, with the information provided, we have 0 to go off
nonetheless, Duplicate of #564
99% of the time, this is caused by plugins installed on the actual server mangling data, I've yet to hear of any reports of this specifically for waterfall where information has actually been provided, generally it boils down to server plugins such as outdated Tab, etc
All plugins are deleted!!!
After reports, this appears to be a Waterfall issue, it is able to be reproduced without plugins on either server. Testing on Bungee to see if this is an upstream issue.
This is an upstream issue, see SpigotMC/BungeeCord#2942
Cannot reproduce against a spigot 1.12.2 server (jar I had lying around...)
Waterfall version git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:52a5c6f:371 by md_5
Ive suddenly today had a lot of bungee crashes, which is odd as nothing has changed in months with my waterfall it just sits there, one of my admins mentioned some kid saying "Ill send more packets in a second than you've had hot dinners", pulled the logs for waterfall and its nothing like ive ever seem, 200,000+
Here is 1 seconds worth of logs:
https://gist.github.com/TomLewis/6c4433bdf72dfc1e4196dd8...
Seems pretty illegal if you ask me...
Do you need to have Query protocol enabled at all?
Nice IP leak
I think that does not matter - I'm sure all those IPs are spoofed as query is udp based
Do you need to have Query protocol enabled at all?
Yeah I do to show online players on my website
How on earth is it possible to spoof an IP!?
Query is UDP, don't need any form of handshake here
At the end of the day, a piece of software exposed to the internet has one job: to process connections
The only way we could solve this is by attempting to perform stuff like connection rate limiting, which due to the scope of, is
- Better handled by the firewall of your server, iptables, etc
- failing that, much better for a plugin to deal with given the nature of configurability req...
This appears to be caused by being in "online mode but IP forwarding not enabled." if you are experiencing this issue, try this solution.
How on earth is it possible to spoof an IP!?
Query is UDP, don't need any form of handshake here
At the end of the day, a piece of software exposed to the internet has one job: to process connections
The only way we could solve this is by attempting to perform stuff like connection rate limiting, which due to the scope of, is1. Better handled by the firewall of your server, iptables, etc 2. failing that, much better for a plugin to deal with...
Just firewall off the port for all but some IPs (vote lists), and have some endpoint such as /api/query returning server info for your website. You can trust the vote sites, and your own code.
Just firewall off the port for all but some IPs (vote lists), and have some endpoint such as
/api/queryreturning server info for your website. You can trust the vote sites, and your own code.
But I already do that, I only have open ports that I need on the firewall.... Literally makes no sense why those IPs have random port numbers on them in the logs.
And you're saying to turn off query on the server?
The vote websites will all query in the same way, I would have to reverse engin...
What solution would you like to have? Mitigating attacks at application layer is too inefficient and must be done at lower layer (your best option - firewall). Query protocol has always been vulnerable to such attacks, your best solution is to firewall it off from others, or turn it off completely, as suggested multiple times already.
I would have to reverse engineer the minecraft query to solve a bug in bungee.
No you don't, it's already documentated
Query protocol has always been vulnerable to such attacks
Surely this should be a priority to get fixed then.
Or at the very least link me an alternative plugin that replaces the query that isn't vulnerable, if its always been a problem then someone would have by now created an alternative. Its vital to Vote list websites.
Read the answers above. I'm locking as you seem to want to selectively read.
These "Magic" queries are not legitimate queries, only process legitimate queries is one step in the right direction
That's exactly what is happening with the invalid magic message
the second one is limit the size of packets
At this point, size checks are 100% useless, this would be a micro-optimization at best, the memory and resources required to handle this packet have already been allocated, the existing logic to catch these will drop these packets from being responded to, as...
Also, quick 2 second look at pinglimiter suggests that it doesn't even deal with query packets at all
also note that ping server lists use is the TCP based one, not the UDP one. SOME of them might use the UDP one for optional extra data, but this is pure fluff and unnecessary.
Ran a server for many years and never used the UDP query protocol.
Probably obsolete by the time anyone gets to this but eh
Almost forgot to push this one. Eh.
I get this error on the client when connecting to a server using TyphoonLimbo as a fallback server.
Exception Connecting:IOException : An established connection was aborted by the software in your host machine @ sun.nio.ch.SocketDispatcher:-2
this error is only relevant in WaterFall but not bungeecord.
This appears to be caused by being in "online mode but IP forwarding not enabled." if you are experiencing this issue, try this solution.
That's why I closed it...?
Are there any updates on the issue?
I'm currently facing the same problem as described in #548, but unfortunately this still isn't merged. Is there a problem with the PR or something else preventing this from moving forward?
This was merged a few days ago, forgot to close the issue
I get this error on waterfall but i dont know from where.
On BungeeCord i dont have it.
An exception occurred processing Appender File com.google.common.util.concurrent.UncheckedExecutionException: java.lang.IllegalArgumentException
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2217)
at com.google.common.cache.LocalCache.get(LocalCache.java:4154)
at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4158)
at com.google.common.cache.LocalCache$Loc...
version? JVM version? etc
We need basic information about your environment.
Version: Waterfall Build 377 (1.16.2)
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment (build 11.0.8+10-post-Debian-1deb10u1)
and again: it works on bungeecord.
No need to point out given fact multiple times.
Seems like one of the plugins bundles Guice which seems to conflict with Log4j for some reason.
From a quick glance at SimplixCore it looks like it depends on log4j and guava. They may have neglected to relocate it
well, obviously multiple others have reproduced it
There was some comments that this was an issue with configuration, e.g. IP forwarding enabled with servers stuck in offline mode; if that's the case, you can disable the tab list rewriting in waterfall.yml, otherwise, we need better replication info, I can't debug something I can't reproduce
Using only one quotation mark will render it unused. '' becomes ', and ' becomes a literal and is not present in the resulting string.
This means that e.g. no_server_permission will now do You dont instead of You don't in the message the player sees.
Waterfall build 379 outputs the following because of this. https://github.com/PaperMC/Waterfall/blob/7b4d6e99a98216175470bdb3c0f8c4cc3563a78b/BungeeCord-Patches/0016-Micro-optimizations.patch#L18-L21

Could've sworn that was how properties were (properly hehe) loaded. In that case, at least do it to every message with this issue.
I think already fixed all messages.
Maybe waterfall should instead take a second look at how it is loading those properties differently from bungeecord, as the change from one to two '' was done recently in bungeecord.
(If the message is not displaying properly on bungeecord as well, it should be solved at bungeecord.)
Hello i have a problem with watefall lately. A player cant connect to a spigot server and this shows up in my console
`>.... [01:34:09 ERROR]: [/119.92.185.147:49667|Haxxe] DownstreamBridge [survivalB] - encountered exception
java.lang.IllegalArgumentException: Team Feitan already exists in this scoreboard
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:191) ~[waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:691ffb1:379]
at net.md_5.bungee.api.score.Sc...
Hello, this appears to be an issue with your target server. If your target server is running Paper, please open an issue for it there.
Not a server issue, see #318
I am running Lucene Indexing technique using JAVA 11 and got the same warning on google colab, however, it did not affect the performance a bit. It's just a warning and you can ignore it.
Please do not bump stone age issues without any proper reason. This issue has been solved long time ago.
I'm having trouble connecting my forge server to my vanilla hub. I'm not using Sponge/SpongeForge, just Forge. I have seen previous issues about this but I believe they are outdated and they were not helpful to me.
I have multiple other vanilla servers connected to my network fine, however with my forge server online and appearing in the waterfall/bungee server list, and attempting to connect, I get the error "Could not connect to a default or fallback server, please try again later". I h...
You can't use a Forge on a proxy with IP forwarding without also using SpongeForge.
Also you failed to include any logs that might help us investigate the issue.
Oops just noticed the typo. Will fix that soon.
Typo's still in patch name :cry:
No it's not. I changed the commit message and rebuild the patches. The file name and content have been fixed.
My mistake, I was looking at the wrong commit
Noone want to solve this?
Use a log4j filter or one of the console spam fixers, etc, there is very little interest from me in terms of disabling this type of information, especially when it's already achievable with the logger framework;
The expectation to provide a way to disable every single message and still likely expect support in these configurations is just meh.
Hello I know this thread is old but i just started to have this problem this had to do with plugins sending misinformation to bungee here is what cause the problems 1. dicefurniture 2. Protectionlib 3.ProtocolLib after removing these the server started to work fine not sure why this happens but yea its crazy
[19:33:55 ERROR]: [/:59520] InitialHandler - encountered exception
java.lang.NullPointerException: null
at net.md_5.bungee.connection.InitialHandler$2.done(InitialHandler.java:199) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:691ffb1:379]
at net.md_5.bungee.connection.InitialHandler$2.done(InitialHandler.java:183) ~[Waterfall.jar:git:Waterfall-Bootstrap:1.16-R0.4-SNAPSHOT:691ffb1:379]
at net.md_5.bungee.api.event.AsyncEvent.postCall(AsyncEvent.java:40) ~[Waterfall.jar:git...
Looks like a plugin set players in ProxyPingEvent to null as a legacy ping happened (1.6 or older I think)
If you are having this problem on a new, supported version, please make a new issue and follow the template.
ERROR StatusLogger Catching
java.net.SocketException: No such device (getFlags() failed)
at java.net.NetworkInterface.isLoopback0(Native Method)
at java.net.NetworkInterface.isLoopback(NetworkInterface.java:411)
at org.apache.logging.log4j.core.util.NetUtils.isUpAndNotLoopback(NetUtils.java:134)
at org.apache.logging.log4j.core.util.NetUtils.getMacAddress(NetUtils.java:99)
at org.apache.logging.log4j.core.util.UuidUtil.(UuidUtil.java:67)
...
Upstream updated to Netty 4.1.53.Final
Update maven-shade-plugin.log4j2-cachefile-transformer to 2.13.2 for compatibility with maven-shade-plugin 3.2.3
Could anyone help me to make a pull request?
Build 380: console is ew
2020-10-28 14:38:02,478 main WARN Advanced terminal features are not available in this environment
Build 379: this doesn't show to me and console is completely fine
I can't connect via waterfall to 1.16 modded servers, can be compatible with FML2 protocol?
I think that todo should be solved before merge. shouldn't be hard as the method already gets the protocolVersion.
While we are on this subject, shouldn't JoinGame be resent if the next server is != the same mode (hardcore or not hardcore) ?
@Xernium
This should already happen in BungeeCord.
Tabbing completion doesn't always work on java 15
Tabbing completion doesn't always work on java 15
any errors, or any form of information beyond "doesn't work"?
The version of java is likely 100% irrelevant here, and more likely down to plugins, etc
@electronicboy sometimes you just can't tab any nickname. It started to happen after updating java to 15.
There is no information here for me to go off, completion of nick names is done by the client, not the server, common issues here are oddball plugins messing with the tab list, etc
@electronicboy even if I use TabCompleteEvent on bungee and add players to it? Thanks for closing
TabCompleteEvent is not fired for nickname completions, only for commands, which are handled on the server
Please don't create issues on both project trackers.
Been meaning to look into issue templates for way too long, would be nice to have something that allows us to not have to try to pull information out of people,
Common aspects are really a pain, given that many issues can be caused down to server configuration and are not isolated to just proxies
@electronicboy yes! I call this event in commands to get players, you get it?
@electronicboy you didn't answer on my last issue so I don't know where to create issues.
Well, provide basic info, you're giving me nothing to go off here, it's not the expectation that we're going to flood peoples email accounts trying to get basic info.
Can the client see the command? Do they have perms? Where is the plugin for this running? Can they see any commands? etc, etc
This is an environmental issue, oddball network configuration?
As this is not harmful, I'd just say ignore it, otherwise, you'd need to look into sending an issue report for log4j.
@electronicboy what email?
Yes. Yes. On the server in plugins. Yes? 1.8/1.16 client, server Travertine.
@electronicboy what issue? Why does it show?
log4j blew up trying to get the MAC address from your network interface, apparently some network interface it found did not exist or something
@electronicboy how to fix that?
I created a plugin that logs those messages for debugging. The vanilla client definitely sends a minecraft:brand on server switch. Forge/Fabric clients also send one or more minecraft:register packets on server switch.
Vanilla Client:
[playername|/x.x.x.x:50282] <-> ServerConnector [Farmen] has connected
Setting stored Location for playername: Farmen
[/x.x.x.x:50282|playername] <-> DownstreamBridge <-> [Freebuild] has disconnected
[BungeePluginMessages]: Messa...
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:
9c078b78 #2985: Add Keybinds.SOCIAL_INTERACTIONS
281aecef Minecraft 1.16.4 support
Just wanted to tell if anyone is trying to run #382 with 1.16.4 for some reason it doesn't let the player on 1.16.4 connect to the server.
Should be fixed, the upstream didn't apply properly
85f0a0c Capture some script failure states better - electronicboy
Hi folks. For some reason Waterfall doesn't announce any sort of version to the game. Do we need to install an additional tool for this or is this a bug? If we write the version specifically to the config.yml file and restart the server, the game still doesn't detect it. Every other server (not ours) have the version detected by the game, even when they're using Bungee network. But our server kind of doesn't. We are using Waterfall + Paper 1.16.4, along with AdvancedNMotd plugin, which only...
This is a side-effect of how bungee works, it quite simply can't know what version the server is, especially with features like priority lists meaning that you could have multiple versions of the game, nor do we have a 'stable' mapping to game versions, there are many cases where the protocol version is used for multiple versions of the game, etc
However, waterfall.yml does have an option to let you throw a string in there for the messages, but the protocol version is separate, which most ...
Well, the thing is that server list website made up versions on its own accord saying 1.8.x-1.16.x, while the server is only 1.16.4 (lower versions are unable to join), misleading new players. So unless there are some ways to recover info about each server (mainly the lobby server used to connect ot every other server in network), the information on the server list website will be misleading.
waterfall.yml has an option in there to let you set the string that is sent, as for actual protocol version in pings, either use ping passthrough or find a plugin which lets you control the supported protocol versions
Okay, I'll look into it then. Thank you :)
Here we go again;
I'm tracking the changes up to 1.17 so this is merge-ready when its released.
This is a byproduct of https://github.com/VelocityPowered/Velocity/pull/382 which I am prioritizing over this.
If you want to run a build of this either compile it yourself or use one of the milestones from https://github.com/Xernium/Waterfall/releases
If you encounter issues please comment on this PR or open an issue on my fork.
Hi.
It's a well known issue that plugin messages can be easily spoofed and I think that allowing every IP to send plugin messages packets it's not the best way to handle this kind of stuff.
I propose to add a list of IPs in the config.yml, only the packets from those IPs will be handled by the plugin messaging module.
Let me know if this is a doable proposal and if the packet IP can be spoofed making this proposal not useful at all.
Thanks in advance.
Kindest Regards.
Bungee plugins just have to verify the sourceof the plugin messages.
Plugin messages are a base part of the game. They are used for some game mechanics as well as mods to communicate with the server. Blocking them in general is not easily possible, plugin authors have to ensure that their plugin messages can only be sent from proper sources (e.g. by blocking the channel on the bungee or by using key/password authentication)
Of course a plugin could also be made to simply block all incoming plugin messages so this doesn't need to be in the proxy to begin with.
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
Waterfall Changes:
85f0a0c Capture some script failure states better
7bf2352 Updated Upstream (BungeeCord)
c617bbf Updated Upstream (BungeeCord) (#579)
This time I actually committed the module update... not sure how I missed it in Waterfall.
When you join the server with 1.7 you get crashed
--- Minecraft Crash Report ----
// Quite honestly, I wouldn't worry myself about that.
Time: 12.11.20 02:23
Description: Ticking screen
java.lang.IndexOutOfBoundsException
at java.nio.Buffer.checkIndex(Buffer.java:540)
at java.nio.DirectIntBufferU.get(DirectIntBufferU.java:253)
at bls.a(SourceFile:270)
at bls.a(SourceFile:220)
at azd.a(SourceFile:1675)
at azd.a(SourceFile:1633)
at biv.a(SourceFile:113)
at gu.a(SourceFile:70)
at gu.a(SourceF...
This seems like more of an issue with the server you're joining, not necessarily Travertine itself. What are you joining?
What phoenix said, plugin messages are a core part of the game, not as much these days but we gotta support back to 1.8 (and .7...), so, disabling plugin messages as a whole is not even remotely viable; The proxy also itself only accepts plugin messages for its messing channel from the server, beyond that, plugins need to ensure that they validate their source, practically 1 one of security
What @Shevchik is trying to say is what I suspected but didnโt reply for because I didnโt think itโd be caused by this. Go into the video settings and change your render distance to anything on 1.7
It can literally be anything as long as you set it while being on 1.7.
Playing on a newer version, you set the render distance to something 1.7 canโt deal with; this is the fix to it.
TestingCode:
Color color = new Color(red ,green ,blue );
ProxyServer.getInstance().getLogger().info(ChatColor.of(color) + "COLOR RGB: " + red + " " + green + " " + blue + " - " + rgb);
the Color is Dark Gray, but ingame it display another Color
You tested with 1.16 client?
yes, the problem is that the ChatColor.op(Color) methode is broken.
If by "ingame", you mean the actual console output, see:
https://github.com/PaperMC/Paper/issues/4668
There appears to be a known issue with how the client shows the favicon that's been reported anecdotally over the past few months, nothing has changed here whatsoever, and this even occurs on vanilla, hence, closing
There have been no further updates on this, and I'm inclined to believe that this was an upstream bungee issue
Not particularly fond of this entire system as a whole, why are we replying messages if they're already sent on a server switch, are some messages missing from what's automatically resent?
Perhaps someone will find this useful. Personally running on Kubernetes, so I need Docker images for everything. Figured I might as well share it here if anyone's interested.
@Shevchik @Xernium @electronicboy is there a way to avoid this server-side?
@assasin541 if there were then a patch for that would already exist. No there is not.
when all the players are send to lobby server, some player will face this problem
java.lang.runtimeexception: varint too big

waterfall show this:
[10:30:54] [Netty Worker IO Thread #14/INFO]: [PecomcAdmin] disconnected with: IOException : ้ ็ซฏไธปๆฉๅทฒๅผทๅถ้้ไธๅ็พๅญ็้ฃ็ทใ @ sun.nio.ch.SocketDispatcher:-2
waterfall version 1.16 #384
i tryed to use a bare bones no mods forge server on 1.15 and i just get timeouts not shure if foges only works for 1.12? can any one confirm? or is it just me?
No support for forge 1.13 and newer, see https://github.com/PaperMC/Waterfall/issues/450 but rest assured, it is being worked on.
Step 1: Put WaterFall.jar in a folder with no files except Waterfall.jar
Step: 2: Run Waterfall.jar
Error Log:
[22:53:08 ERROR]: Exception in thread "main" java.lang.ClassCastException: class java.lang.String cannot be cast to class java.util.Map (java.lang.String and java.util.Map are in module java.base of loader 'bootstrap')
[22:53:08 ERROR]: at net.md_5.bungee.conf.YamlConfig.getListeners(YamlConfig.java:264)
[22:53:08 ERROR]: at net.md_5.bungee.conf.Configuration.load(Configura...
cannot reproduce, and, as this file is produced programmatically, meaning that in order to load off the disk, it must have been ran before, (either that or you're using some broken control panel or something). That error generally implies that your config.yml is mangled
I used the StackUp mod to make the size of items more than 64, crash occurs when more than 64 items are discarded at once, Direct connection to the server does not have this problem.
If you have time, please help me look at this,Thanks.
When discarding๏ผ
` DownstreamBridge [1.12server] - encountered exception
java.lang.IndexOutOfBoundsException: readerIndex(35) + length(1) exceeds writerIndex(35): PooledUnsafeDirectByteBuf(ridx: 35, widx: 35, cap: 35)
at io.netty.buffer.Abs...
Disable entity meta rewriting. The mod is not compatible with it
Disable entity meta rewriting. The mod is not compatible with it
Thank you for your reply.
When translating the "messages.properties" file(which is inside waterfall.jar), special characters from my language (Portuguese) end up breaking the translation.
Characters such as:
รช, รก, รฃ, รญ, รง, ร , รต, among others.


I hope the bug ca...
You saved the file not in the default encoding of the server you run Waterfall on.
This is an encoding issue as already hinted, property files do not support unicode until java 9+
Either update to a newer version of java and make sure that the file is saved in the proper encoding, or, use native2ascii to convert the unicode text to a format that's supported by java.
Atualize para uma versรฃo mais recente de java e certifique-se de que o arquivo seja salvo na codificaรงรฃo adequada ou use native2ascii para converter o texto Unicode para um formato compatรญvel com java.
How to do this?
This is an encoding issue as already hinted, property files do not support unicode until java 9+
Either update to a newer version of java and make sure that the file is saved in the proper encoding, or, use native2ascii to convert the unicode text to a format that's supported by java.
How to do this?
@electronicboy is there any Solution for this issue?
No, because I've not had the investment to rip apart 100 mod packs to work out what some mod is doing to the packet, or if the behavior causing this is still applicable to "modern" versions of forge or even at all, https://github.com/PaperMC/Waterfall/issues/418
I have the same issue. Right after I died in game, it wouldn't let me reconnect. it says the server is down, but it clearly isn't.
@electronicboy after some research and testing i found that the mod Just Enough IDs is sending the packet,the mod expands the max IDs can be used
Judging from JEID's resource code, it extends the potion effect packets in a non-standard way which breaks BungeeCord and Waterfall because of a fix to a Forge 1.8 issue.
I see three options: complain that JEID...
@astei it happens when dying too so i don't think it's directly potion related
The packet is the one used for potion effects
isn't there any way to let Travertine ignore this packet?
Well yes, disable entity meta rewriting in the config. If you still have issues then Iโd suggest you try using Velocity instead of Travertine. Iโm sure that if the config option doesnโt fix it, Velocity wonโt have the issue at all
[00:36] kashike: @everyone We have removed public access to our Jenkins instance. Please switch to using our API for all downloads if you are still using Jenkins - documentation can be found at https://papermc.io/api/docs/ if you are unfamiliar.
https://papermc.io/downloads also exists for downloading normally, if you don't need to automate your downloads.
caea6e6 Remove Jenkins references (#591) - aurorasmiles
35af3c4 [CI-SKIP] Remove jenkins references (#148) - aurorasmiles
Suggesting that the error should print out the registered channels.

