#waterfall-help

1 messages · Page 37 of 1

marble kelpBOT
#

use plugins

#

permissions probably

midnight latch
#

bungeecord.command.server permission

river panther
#

how can I either get the name of a players server on log out or get the players last server on log in?

marble kelpBOT
#

well waterfall isn't a normal bungeecord either, S​ep​ty​Is​He​re​ ;)

#

i​ca​nf​ly​it​: bungee stores that already if you disabled force_default_server

river panther
#

yes, I'm making a plugin that I want to intercept the log in event and store that server

#

but then send them to a different server first

#

@tidal musk do you have a permission manager installed?

#

Like luck perms?

#

What exactly is your problem?

gray haven
#

H'loo. So, my apologies if this is a dumb question, I've done a bit of searching and haven't found what I'm looking for, BUT.... Going through Waterfall to PaperMC 1.14.4.... it seems like it only works if PaperMC is set to offline mode, is that correct? And that my UUID will necessarily change because I'm going through Waterfall?

reef fulcrum
#

read the install guide, you need to setup ip forwarding and ensure that your stuff is secured proeprly

gray haven
#

The reason I ask is because I'm trying to figure out if I can continue to use the whitelisting that's built into the PaperMC server or if I'll need to get a whitelisting plugin for Waterfall.

#

Yeah, I've got it set to localhost internally....

reef fulcrum
#

enable bungee in spigot.yml, and ip_forward in the proxies config.yml

gray haven
#

Yeah, did all that.

#

In both spigot.yml AND in paper.yml because I'm not sure which one it's actually using.

#

I mean, in paper.yml it was already set to true.

reef fulcrum
#

if you do that properly, then the UUIDs won't change

gray haven
#

The IP definitely seems to be being forwarded now (though it wasn't at first, which was weird, don't think I changed anything)

#

Hmmmm.

reef fulcrum
#

as the proxy will pass through the IP and UUID

#

and, on that note, make sure that you didn't configure the proxy to be in offline mode

gray haven
#

No, proxy is not in offline mode.

#

That's interesting, the whitelist seems to have updated my UUID?

#

I guess it's working, then, maybe I don't need to worry about it.

reef fulcrum
#

the way the whitelist works is... odd

gray haven
#

But I can keep using my whitelist from PaperMC, I guess?

reef fulcrum
#

well, you might wanna consider using a bungee plugin instead, but, yea, should work for that server

next harbor
#

I have a question about the architecture of a network with waterfall.
How should I distribute chat messages on several servers? Should I send the chat messages via a plugin channel to the proxy, which then distributes the messages to the servers?
Would this slow down the proxy of large networks with many messages?

reef fulcrum
#

/ideally/ if you can do it on the proxy, do it on the proxy

#

caveats come into play with placeholders, but, I have doubts that it would really be a massive slowdown, not ideal, but, bleh

next harbor
#

So can I assume that the amount of data generated by chat messages is negligible compared to the data generated by movement, particel, etc.?

reef fulcrum
#

wouldn't be something of concern until you get uber large

#

but by then, you'd probs more be on multiple proxy instances, etc

next harbor
#

Hmm is there an estimation to much player you could solve it so that the chat messages go through a proxy?
1000 players or 5000 players or even more^^

reef fulcrum
#

the network concerns are basically none

#

You gotta remember that the server itself would be sending that info anyways

#

you're just adding extra processing into it, which shouldn't be that bad anyways

#

only real caveat is if you're planning to actually deal with servers hitting 1k players, you more wanna look towards proper networking solutions, bearing in mind that multi-proxy setups are somewhat neccesary there

next harbor
#

Ok, thank you for your help.

violet shard
#

nuvotifier make lag?

unreal stag
#

NuVotifier is incapable of causing lag when used by itself. NuVotifier's activities always take place off the server threads. Only when a vote is received and validated does NuVotifier take any sort of action that requires access to the server threads.

#

You filed one of the least useful bug reports I've ever seen in the bug tracker. I'm going to need a lot more information than "epoll make me server have 300% cpu usage pl0x halp"

violet shard
#

what information can i give from votifier plugin lol

#

only short config

#

and no logs

unreal stag
#

Start by responding to my comment and don't go off control panel "CPU usage" figures

next harbor
#

One more quick question. I've been researching how to set up multi proxy networks. Unfortunately I could not find any information about how the plugin channels behave.
Does a paper server send the message to every waterfall, do I understand this correctly?

reef fulcrum
#

no, it just sends it to one

#

which is where stuff like rabbit and redis come into play

next harbor
#

Well i read the tutorial code from bungeecord about the Pluginmessages, but there is no information how to select the proxy to send the information to.
Is a random proxy selected?

unreal stag
#

whatever proxy of the player you send it to gets the request

reef fulcrum
#

the "non-player" one just picks the first player online to use

next harbor
#

Oh i overread it, my fault. Sry

spiral crater
#

That's coming down from a plugin, phanatic, invalid json? o.O
@reef fulcrum yes a bungee plugin

reef fulcrum
#

bungee made some changes with hover events

#

Its's basically upset that a hover component isn't using json

#

that for a 1.7 client or something?

#

(or, just a general one?)

toxic sun
#

Heya, having players connect to server with forge mods seems fine but the moment they run a command via bungee they're kicked with the error NullPointerException : null @ net.md_5.bungee.util.chatcomponenttransformer44

#

Latest build of Travertine also

#

I also have the console error via proxy if you need it.

#

I also apologise in advance if i'm being a pain

#

It's probably something silly like startup parameters

reef fulcrum
#

update

toxic sun
#

Oh okay xD

#

Cool that fixed it xD, and here i was thinking i was on the latest version. Sorry for wasting your time.

marble kelpBOT
spiral crater
#

it was for anyone

reef fulcrum
#

might be fixed now

toxic sun
#

yeh its all good

thorny ridge
#

Is there any way to make the Bungee/Waterfall config leave comments alone? i.e not wipe them on start?

reef fulcrum
#

nope

thorny ridge
#

Is it possible to request that functionality for Waterfall?
[Meaning will it actually be considered]

reef fulcrum
#

issue is that we rely on saving for adding config options, etc

#

comments in yaml just don't work

thorny ridge
#

Fair enough, was worth a shot

reef fulcrum
#

velocity is literally a complete rewrite of a proxy

#

issue with waterfall is that we're based on bungee, so we get all the issues from there

#

Well, yes, because they rewrote the entire stack

#

Issue with waterfall is that we're based on bungee

#

We have o be weary about touching stuff, even deep, because then we fight against stupid plugins and such

#

So, if somebody could provide a useful means to reproduce this type of thing, it's like; I could look into it, spend a few dozen hours fixing it, and then be unable to keep the fix because it breaks 20 dozen common hackjobs people love to have on their proxy

#

the whole "just rewrite the crap" was like... the entire winning moving and pretty much essential to actually fix it

#

We know it exists

#

We just have literally 0 ways to reproduce it

#

lolno

#

Quite simply, I don't get paid for this shit

#

I have 0 interest investing cash into this

toxic sun
#

So not crazy sure if this is related to travertine or not since it's only started happening since this morning. When joining my modded server (Connecting using travertine build 150) i'm kicked with the error invalid payload register

#

Only with large modpacks

crisp thistle
#

are you using a normal forge server or is it a Bukkit+Forge server software?

toxic sun
#

Second one

crisp thistle
#

Mohist?

toxic sun
#

CatServer

crisp thistle
#

ah

toxic sun
#

Allows spigot plugins too

crisp thistle
#

Spigot is using Bukkit

#

so yeah I know

toxic sun
#

issue is even when i remove all plugins

#

i still get the error

reef fulcrum
#

if that's the actual server doing the kick, glhf

crisp thistle
#

I had that issue with Mohist on 1.15.2 without any mods or plugins

reef fulcrum
#

CB has a limit on the # of plugin channels

#

if they kept that on catserv, that's just comical

crisp thistle
#

Maybe try with Magma

dusky current
#

Do I need to give my Waterfall more ram or somthing?

reef fulcrum
#

you probably have a mod sending data which waterfall doesn't understand, or something is mangling a packet

#

there is an option to disable entity metadata rewriting in waterfall.yml that might help

dusky current
#

I mean that might be another issue but I also had online mode toggled to true lmao

#

ok yeah Ill do that too

#

ok its working now but all my plugins on waterfall are freaking out

#

like it wont let me in

#

Only viabackwards actually

#

How do I stop Bungee plugins from attacking a server

#

lol

reef fulcrum
#

That's a via issue

#

Well, "issue"

#

more a limitation of.. well, versioning

#

you can probs disable those warnings

dusky current
#

Yeah but.... I cant join

#

I think I maybe found the issue

reef fulcrum
#

god knows

#

looks like something mangled a tab complete response

dusky current
#

ok then just gonna remove it from bungeecord and run it seperate

royal hawk
#

Remind me to implement proper forge 1.13+ support one of these days

strong mountain
#

is there a list of commands for waterfall somewhere? My players can't use /server after replacing with bungee

reef fulcrum
#

waterfall uses all the same commands as bungee

strong mountain
#

Hmm why would /server no longer work all of a sudden then?

reef fulcrum
#

can't tell you

#

best guess would be check your log files

strong mountain
#

Log on the hub server or waterfall server?

reef fulcrum
#

on the proxy, given that that is what has the server command

strong mountain
#

Waterfall logs are empty, command just isnt even in there & same for the hub server

#

so its not showing on the proxy at all

#

/bungee command returns "Server is running waterfall version 1.16 R2"

#

Fixed

#

Guess my perms plugin just wasn't loading

leaden igloo
#

What are the perms for like /server and suchh?

pale flax
#

hi, can I remove these commands from tab complete? All from proxy.

leaden igloo
#

Or is it the same perms as Bungee, too?

pale flax
eternal cairn
#

they dont tab complete if you dont have permission

#

same as bungee, dovah

pale flax
#

Must be incorrectly registered then.

eternal cairn
#

no, they work fine

pale flax
#

Yeah, /glist I have perm to, rest are just poorly registered

eternal cairn
#

oh plugin ones yes

pale flax
#

yepp

eternal cairn
#

cant help you there, sorry :p

#

complain to the authors

pale flax
eternal cairn
#

doesnt work on the bungee side tho

pale flax
#

This is the bungee plugin

eternal cairn
#

there one register the perms in code

pale flax
#

oh?

eternal cairn
#

yes

pale flax
#

I can do that too I guess

vital moon
#

for some reason when adding a updated server from 1.15.2 to 1.16.1 to waterfall, all items are missing

pale flax
#

Ok I got all but /bungee

#

@vital moon waterfall is just a proxy, it doesn't manage items if I'm correct..

#

Does /bungee have a special perm?

vital moon
#

seems like online mode has something to do about it

#

changing to server to offline gets rid of items in inventory

pale flax
#

I'm pretty sure they are different UUIDs with the same name? on/offline mode thing?

#

Can I not change this btw? Does it have to be /1?

sturdy cloak
#

Isn't it just in the config.yml? @pale flax

I may be wrong though

sturdy cloak
#

I'm trying to set up a firewall, but I can't figure out what my Bungee server IP is...

With IPWhitelist, the IP I had to whitelist was different from the IP my host told me the bungee was on and different from the IP that I can connect to. I can't connect to the IP I had to whitelist with IPWhitelist.

Would I have to use my connectable IP for the Bungee IP or the IP that IPWhitelist had me whitelist for the firewall?

crisp thistle
#

you have to use your connectable IP for the Bungee I guess

#

the IP you have in IPWhitelist is probably 127.0.0 1 which = localhost

#

so that would be why it couldn't work when you tried to connect to the server

#

and actually, maybe you can also use the 127.0.0.1 IP I guess if it's on the same machine

#

I'm not that experienced and others will probably have more details so I can't really confirm anything

sturdy cloak
#

Interestingly with IPWhitelist I initially tried whitelisting the connectable IP but that did nothing, it had to be the reserved IP address

crisp thistle
#

you'll probably need someone else to answer that because I'm really not that experienced =/

sturdy cloak
#

alright, thanks for the help :)

granite latch
#

i have a problem here
not really a command block stuff question here, but i need this sorted out
How come my farmer villager isn't planting/harvesting any crops?
i have 1.16.1 paper server

#

like, every farmer isnt harvesting ore planting

eternal cairn
granite latch
#

sorry

tidal musk
marble kelpBOT
#

?paste

tidal musk
marble kelpBOT
#

you have an error in your waterfall.yml

tidal musk
#

i didn't configed anything

#

but here

#

use_netty_dns_resolver: true
disable_modern_tab_limiter: true
log_initial_handler_connections: true
throttling:
tab_complete: 1000
game_version: ''
disable_entity_metadata_rewrite: false

tidal musk
#

can you name me the wrong config?

marble kelpBOT
#

?paste

#

ok actually it might also be an error in your config.yml

plucky imp
#

Does anybody have any ideas why my players cannot use /server <servername> on our waterfall network anymore? It is claiming they don't have permission, but they do and literally nothing has changed (as far as I know) in about a week on the server and now it all of a sudden says this?

marble kelpBOT
#

use lp verbose mode to see which perm it's checking I guess

tidal musk
#

?

#

its the standard config

plucky imp
#

Ok so I'm getting this when players use /server creative

[13:39:44] [LuckPerms Pool Thread #2/INFO]: [LP] VB > sapphirecrafty - bungeecord.command.server - undefined

reef fulcrum
#

it's saying that you've not given them the perm

#

it's undefined, bungee perms default to false

plucky imp
#

But I did add it at least I think I did

[13:46:46 INFO]: [LP] default already has bungeecord.command.server set in context global.
reef fulcrum
#

well, is that user in the default group?

#

If LP is saying something is undefined when it's not, you should go speak to them

plucky imp
#

I resolved it, it was a LuckPerms issue. Thanks for pointing me in the right direction though

tidal musk
#

should i set ip forwarding to true or false?

reef fulcrum
#

you probs want it set to true

tidal musk
#

what is saver

reef fulcrum
#

safer?

tidal musk
#

yes

reef fulcrum
#

Read the bungee install guide, specifically the firewall one

#

If you need to use one of the plugins, don't use any of the suggestions, but use bungeeguard

tidal musk
#

i know there is a bungee op bug you can give op if you can connect on special servers

#

ok

half carbon
reef fulcrum
#

speak to the plugin author

junior sable
#

is there a way to download always the latest version of waterfall? Maybe .../waterfall/latest.jar for example

zinc sapphire
vocal lake
#

Why does ProxyPingEvent sometimes return a null response?

#

Like event.getResponse() is null

reef fulcrum
#

i wanna say legacy

#

oh, no

#

shouldn't ever be null unless something set it to that

vocal lake
#

No idea

#

I got a NPE with that and after checking out some ping plugins, all of them check if the response is not null

reef fulcrum
#

it can't be set to null, the proxy will throw an exception if a null was actually in there

vocal lake
#

🤔

spiral crater
#

@reef fulcrum that issue is still happening

#

do i need to look into fixing the plugin or is that something that would be fixed on bungee side

patent lantern
#

don't ping server rules

proven crypt
#

Whats the API for waterfall downloads? lawl

eternal cairn
marble kelpBOT
royal hawk
#

@proven crypt I hope you’re not making an auto-updater

#

Wasn’t meant as mention. God damnit. Discord mobile ffs. Example given, wasn’t sure if it was gonna do it

unreal stag
#

odd musical choice @royal hawk

royal hawk
#

Was listening to radio at the time

#

Alas this stuff qualifies as summer music somehow

#

¯_(ツ)_/¯

shadow iris
#

nvm i had the wrong server file

pale flax
#

Hi, does anyone know a plugin which blocks the tab completion for /bungee and other proxy-only commands?

marble kelpBOT
#

not granting the permissions should make them not show up

tidal musk
#

This may be a dumb question. But if I'm running a paper server, would i just need to add the waterfall jar to the plugins folder to allow it to connect to another server using portals?

#

Basically I have 3 paper servers and I want to be able to bridge them together by using a portal or sign or command.

hearty coral
#

waterfall is a server

#

to do what you're describing, you will need a 4th server running waterfall

#

the players will connect to this server, and it will forward them to one of the 3 other servers

#

after which they can switch across those 3 servers as desired

tidal musk
#

i have a problem with waterfall permissions i gave myself admin rank in the config but i cant use commands like /server

#

Ok thank you. I'll look into that later. I'm sure it has all the available commands to make that happen. But essentially, once I make a waterfall server, I can create different portals within that server that can go to any paper server? And then would I be able to able to travel back to the waterfall server from a paper server?

marble kelpBOT
#

for portals you need a plugin adding those, by default only the /server command exists to switch servers

tidal musk
#

Ok that's not bad. Will a waterfall server accept spigot/bukkit plugins?

scenic pebble
#

No

#

It's a different software.

reef fulcrum
#

it's a proxy, not a server

#

it's sole job is to bounce you between servers, it's not a server that runs server plugins

hearty coral
#

that said, there are plugins for it

#

called bungee plugins

tidal musk
#

Ok I'll do some googling unless you can point me in the right direction :)

frosty finch
#

well players are connecting to your waterfall / bungeecord proxy, and that proxy is redirecting them automatically to the specified server

#

the proxy isnt a server with a world

tidal musk
#

Oh I seeeeee

frosty finch
#

its just a bridge

#

the player will only see a "world" switch

#

while they actually switch the server

tidal musk
#

That makes more sense. I was thinking of bungee being more of a lobby room/world type of thing. I've been running servers for years but have never messed with bungee. Typically if I wanted another world, I'd just create another world within the same server and restrict and grant access to specific plugins to be used on that world. But now I have 3 different servers to help load balancing with a completely different player demograph. But am just now trying to figure out how I can connect all 3 servers together to make them feel like they are different worlds within the same server and not have to constant log out and log back in with a different port number.

frosty finch
#

have you ever played on a large server like hypixel?

tidal musk
#

I dipped my foot in there once lol. But my daughter has played on them. I've seen what it looks like and the servers I've been building are more like hypixel just more streamlined and less chaotic.

#

But my end goal is to have many servers all connected together

frosty finch
#

well, hypixel is using bungeecord aswell
you connect to a bungeecord proxy and it will redirect you to the lobby, when you join a game it will redirect the player to the server where that game is running

#

waterfall is a better fork of bungeecord

#

just if you didnt know

#

but make sure to just let the proxy be able to talk with the outside world

#

otherwise other people can just put your server in their bungeecord proxy, join and do whatever they want, giving them op, grief etc.

tidal musk
#

I want to keep this going. Keep talking, but I'll brb.

#

Hello on my waterfall, i am an warning strange :
Query - Incorrect magic!: /96.22.38.113:53079
with +200 times this warning to 5 seconds.

What is it ?

#

Can we talk about that last part real quick. Where you said to let just the proxy speak to the outside world and if not, then others can take it over. I understand how proxies work and port forwarding but that concept is confusing me lol. So if I don't set it up correctly somohow, someone could just take over the server with their own proxy?

frosty finch
#

yep

#

when you enable bungeecord on your paper servers, every bungeecord will be able to connect to your servers, so you need to make sure your servers behind the proxy wont accept any other connections

#

the most simple thing would be (if everything is on the same physical machine), to change the ip of each server in the server.properties to 127.0.0.1 and put that ip into the bungeecord config

dusty kindle
#

so super dumb question, possibly

#

can I chain two waterfalls together

#

as-in, have one waterfall pointing to another waterfall as the server

reef fulcrum
#

no

dusty kindle
#

gotcha, thanks for the quick reply

frosty finch
#

but you can use multiple waterfalls for the same servers

heady sedge
#

Just any player?

#

I imagine there are loads that make player join messages network wide but not sure about only to staff members

hearty coral
#

.g bungee join messages spigotmc

marble kelpBOT
rain loom
#

what is the best cloud system for waterfall that can automatically create paper servers? im thinking of using timocloud but i dont think there is much documentation on that, + i want to be able to define a custom choosing strategy for choosing free servers based on statistics of the player (aka skill-based and ping-based matchmaking)

median isle
#

I dont have an issue, more of a question just to clarify something. Theres guides (for bungeecord) which tells you to secure your servers if you run them on the same machine using IPtables. Now I have only just moved onto waterfall so I actually dont have much experience with it. But am i correct to assume that seeing as its essentially a proxy, the players are all connecting THROUGH the proxy when playing on the servers rather than just being bounced to them. I wanted to clarify as I will be securing my server completely soon but I wasnt sure if i needed to block the ports for every server aside from the waterfall proxy.

rain loom
#

@median isle im pretty sure the answer is yeah, just make sure your waterfall proxy is the only thing that can connect to those servers

prisma whale
#

@median isle yeah or you can look into bungeeguard if you cant

meager citrus
#

Hi, could I somehow disable these messages? ServerConnector [Survival] has disconnected disable logging

violet shard
#

what is normally should i allocate ram for 200 player and 5 plugin only?

noble kestrel
#

hey guys,

since yesterday it not possible to connect to the server. i didnt changed anything, just restarted the whole server.. so anybody knows whats happend?

#

Bungee config:

ebon kernel
#

@noble kestrel does your console output any thing on join? if can i see it?

noble kestrel
#

16:48:45 [INFO] [/213.239.204.169:38307] <-> InitialHandler has pinged
16:48:48 [INFO] [BigLife5] disconnected with: Could not connect to a default or fallback server, please try again later: io.netty.channel.ConnectTimeoutException
16:48:48 [INFO] [BigLife5] -> UpstreamBridge has disconnected

#

just this

reef fulcrum
#

The connection timed out

#

as it says

#

something is wrong between the proxy to the backend server

ebon kernel
#

The server your trying to connect to (TeamBlock) is down

#

or timed out

#

try restarting that

noble kestrel
#

but why? i didnt changed anything and it worked for months

ebon kernel
#

is the TeamBlock server down?

noble kestrel
#

no

ebon kernel
#

restart it

#

and see if you can join

noble kestrel
#

strange thing too: if i restart the bungee, it takes a long time if it restarts. since yesterday

ebon kernel
#

probably just because its trying to ping servers that are not working/timed out

noble kestrel
#

16:51:53 [INFO] [BigLife5] disconnected with: Could not connect to a default or fallback server, please try again later: io.netty.channel.ConnectTimeoutException
16:51:53 [INFO] [BigLife5] -> UpstreamBridge has disconnected
16:51:55 [INFO] [/95.90.223.202:13791] <-> InitialHandler has connected
16:52:01 [INFO] [BigLife5] disconnected with: Could not connect to a default or fallback server, please try again later: io.netty.channel.ConnectTimeoutException
16:52:01 [INFO] [BigLife5] -> UpstreamBridge has disconnected

ebon kernel
#

As i have already said TeamBlock is either timing you out or down

noble kestrel
#

the console says its on

reef fulcrum
#

connection timeout means that the server basically didn't even say "am here" back

#

either the server is down or misconfigured, or, there is a networking issue between the proxy and the server

noble kestrel
#

i basicly restarted the whole server yesterday (on time 30 days). after that restart, the game servers died

rose kite
#

hello

#

I want to switch to waterfall which antibot do you prefer?

reef fulcrum
#

So, maybe you didn't change nothing

#

Maybe the reboot caused something to change

#

We don't know your setup so we really can't say

noble kestrel
#

this is my bungee config

reef fulcrum
#

Well, yes, but that basically tells us nothing about your actual setup

#

best guess is that you're using ptero

noble kestrel
#

yes

reef fulcrum
#

do the servers respond to commands? tried checking that the interface is properly setup? etc

noble kestrel
#

the server respond to commands yes

rose kite
#

hello
I want to switch to waterfall which antibot do you prefer?

meager citrus
unreal stag
#

@neon palm No proxy is compatible with Forge post-1.12.2 due to changes in the handshake protocol. Just use Fabric.

gray skiff
#

hey guys. Please advise plugin for bungee portals for 1.16.1

tidal musk
#

hey can somebody help me please? i have a problem with the bungee perms

#

i gave myself admin but i have no perms

#

listeners:

  • query_port: 25577
    motd: '&1Another Bungee server'
    tab_list: GLOBAL_PING
    query_enabled: false
    proxy_protocol: false
    forced_hosts:
    pvp.md-5.net: pvp
    ping_passthrough: false
    priorities:
    • lobby
      bind_local_address: true
      host: 0.0.0.0:25565
      max_players: 1
      tab_size: 60
      force_default_server: true
      remote_ping_cache: -1
      network_compression_threshold: 256
      permissions:
      default: null
      admin:
    • bungeecord.command.alert
    • bungeecord.command.end
    • bungeecord.command.ip
    • bungeecord.command.reload
    • bungeecord.command.server
      log_pings: true
      connection_throttle_limit: 3
      server_connect_timeout: 5000
      timeout: 30000
      stats: 87b0b3b0-9ee5-470c-99a8-450fc009a0ef
      player_limit: 1
      ip_forward: true
      groups:
      Skygamer_777:
    • admin
      remote_ping_timeout: 5000
      connection_throttle: 4000
      log_commands: false
      prevent_proxy_connections: false
      online_mode: true
      forge_support: true
      disabled_commands:
  • disabledcommandhere
    servers:
    lobby:
    motd: '&1Just another Waterfall - Forced Host'
    address: localhost:25575
    restricted: false
    oneblock:
    motd: '&1Just another Waterfall - Forced Host'
    address: localhost:25545
    restricted: false
reef fulcrum
#
  1. Don't flood the chat, use a damned paste site
tidal musk
#

ok

reef fulcrum
#
  1. Did you have a permission plugin on the proxy? are you sure that you have the correct perms? admins don't have all perms, etc
tidal musk
#

what are the perms?

#

bungee.command....?

reef fulcrum
#

the bungeecord wiki has a list of commands and their perms, etc

tidal musk
#

ok

#

thanks

reef fulcrum
#

I mean

#
  1. Not sure how waterfall links to that
empty path
#

oo shoot wrong server

reef fulcrum
#
  1. that mod is doing an illegal cast
empty path
#

I sincerily apologize

#

I swear I was in the Fabric server

meager citrus
reef fulcrum
#

those aren't configurable

#

you'd need a log filter or something

meager citrus
#

and this should happen by normal on waterfall? it has to be annoying for people, no?

#

why any of mentioned settings from config.yml and waterfall.yml don't work for this?

reef fulcrum
#

because they cover specific phases

#

Not everything

gloomy sundial
#

is there a way to list all available commands from console like how u can do ? with a backend server

timber stag
#

What's the difference between waterfall's
log_initial_handler_connections: true
and bungee's
log_pings: true

reef fulcrum
#

ones for pinging, the others for the initial handler log messages

timber stag
#

so which woukd [ip] <-> InitialHandler has pinged fall under?

reef fulcrum
#

I mean, one says initial handler in it

#

oh, wait, pinged

timber stag
#

but it also says pings,

reef fulcrum
#

That would fall under pings

timber stag
#

ah okay

#

so setting waterfall's to false would also disable stuff like <-> InitialHandler - read timed out and connected and all that

reef fulcrum
#

no

#

waterfalls would disable the initialhandler has connected messages

#

errors, etc, are all logged

timber stag
#

ah, no matter what

gloomy sundial
#

i dont even see the initial handler connections option in the config 🤔

reef fulcrum
#

that's in waterfall.yml

gloomy sundial
#

ah

reef fulcrum
#

we had an option for both of those because it was super trivial to spam

gloomy sundial
#

is "game_version" the thing you see in the server list when you're using an outdated client

reef fulcrum
#

My irk with adding options for disabling logs is that 99% of the people asking for them to be removed are the people who expect us to solve all their other issues for them, so, removing logging to have to deal with further crap because they disable logging is very... er...

#

That's the version that's displayed

gloomy sundial
#

ah

reef fulcrum
#

otherwise you get the long list of supported versions

gloomy sundial
#

yeah i've got another plugin that overrides that anyways lol

violet shard
#

what caused that?

#

Abandoned connection cleanup thread

icy needle
#

(this happens after I run the Waterfall jar)

reef fulcrum
#

i mean, it thinks your plugin directory isn't a directory, so...

icy needle
#

nevermind lol, running it as superuser fixed it

somber geode
#

Our waterfall just ran out of memory, this isn't normal right? 🤔

#

We are 2 versions behind, but seeing the commits none of them mention memory leak of any kind. Could it be a plugin that's causing this?

kind karma
#

@somber geode not waterfall's issue, some plugin is probably doing something wrong

somber geode
#

I see, I have atleast one suspect

reef fulcrum
#

Biggest one is that BungeeServerInfo stores a "queue" of packets, iirc, probs some plugin tryna shoot messages over the network doing it badly

woven stone
#

How much ram is recommended for Waterfall on a server with ~30 people? (without any plugins installed)

frosty finch
#

1gb

#

or just use the reccomended flags

woven stone
#

Thanks a lot!

#

Is there also a timings command for bungee?

reef fulcrum
#

no

woven stone
#

Is it normal for Waterfall to go up to 60% cpu usage if a player changes a server than drops back down to 10%?

young jasper
#

How do I pull commits into Paper-Server

#

I do git pull upstream master but it says up to date even though it clearly isn't

reef fulcrum
#

looks at the channel name

young jasper
#

I thought this was paper sorry lol

#

I'll put it there

odd hatch
#

We run a network that can get a few hundred joins within a couple of minutes and have problems with Waterfall choking the CPU and making login times suck

#

Is this my infra or is there something I can do to halp

unreal stag
#

@odd hatch Care to share details of your infrastructure?

odd hatch
#

We run a Waterfall instance on it's own hardware as the only publicly accessible server to the network. Then, Waterfall distributes users into 1 of 4 hubs located on another machine in the same datacenter

unreal stag
#

What hardware do you use?

#

Because if it's some crappy i3 from 2011 or a Pentium 4 I'm not going to be surprised

odd hatch
#

Onee sec

#

The phoenixnap panel is a little slower than I'd like.

unreal stag
#

PhoenixNAP pepega Yeah, we use them too.

odd hatch
#

Just pretend that my coworker selected Ubuntu for the OS. We've reinstalled it already :|

unreal stag
#

CentOS? kekw

#

Okay, whatever.

atomic grail
#

the people installed it as centos even tho we chose ubuntu

#

it's running on ubuntu just isnt updated on the panel

odd hatch
#

^ Said coworker

unreal stag
#

Classic PhoenixNAP incompetency.

odd hatch
#

We're at just about 3GB with 30ish players, which doesn't feel.. right

unreal stag
#

They fucked up our Ubuntu install too. We got an outdated version of the OS (16.04) and they gave us a really tiny root partition. Thankfully, they did configure it as LVM so we could online resize... but it was a terrible ordeal.

#

They'll get the OS install right if you use CentOS I guess.

odd hatch
#

I make it clear to install "Latest Ubuntu (20.04)"

unreal stag
#

And it was kinda scary doing the online resize over SSH

#

Already, enough complaints about PhoenixNAP.

#

How many players are we talking?

#

Usually BungeeCord-based stuff doesn't respond well to sudden player count spikes

#

Your best strategy would be to switch to Velocity. I'm biased but also not even joking, if you want to improve BungeeCord scalability you have to rewrite the entire thing.

You could run multiple proxies (on different servers).

odd hatch
#

Well, my guy is a fairly large youtuber who likes running spontaneous events

#

@atomic grail How many users was the last event

#

He didn't reply, 130

reef fulcrum
#

Part of my worry is around the netty dns stuff

odd hatch
#

So that's at least 70 people connecting as soon as the announcement drops

#

And then trickle down

reef fulcrum
#

There was some bug report that I spotted a while bak where in some cases, the netty DNS stuff ends up causing a network lookup in the event loop or something dum from what I recall

unreal stag
#

Yeah, I gave up on Netty DNS. In Velocity 1.1.0, I just do a blocking lookup on a separate thread. That works fine for the most part.

#

Performance is still really good afterwards, AsyncHttpClient is probably caching it for a bit afterwards

odd hatch
#

I might run a Velocity experiment to see how it goes...

#

Did Velocity ever get 1.16 client support

unreal stag
#

Yes

#

Try Velocity 1.1.0 for best results

odd hatch
#

Trying to figure out what plugins I have to rewrite lol

atomic grail
#

hey tux, if you or anyone still around, does velocity have multi proxy support?

unreal stag
#

No

#

Not natively, at least.

quartz vale
#

HEEEL! P... network-compression-threshold sat to -1 on waterfall but! 64 or 512 on the servers! I read 64 is better then on spigot 512 to reduce lag! WTH! I want to give ppl. form us a better connection.

unreal stag
#

You need to set the network compression threshold on the proxy to the default (256) to avoid issues with some clients. For the backend servers you should set it to -1 as having it enabled just burns CPU for no good reason

quartz vale
#

Thank you so mutch... I was totaly confused!

unreal stag
#

If your proxy is starved for CPU, then bumping the compression threshold to 512 or 1024 may reduce load on the proxy somewhat

quartz vale
#

😆 My proxy

cloud torrent
#

Htop nice 👌

#

I never understood how to read the load averages though?

quartz vale
#

But will it help ppl from overseas to set the threshold up? I had some problems but i have geo blocked China and conf faild2block because i was totally under "attack" ...

reef fulcrum
#

lower threshold = smaller packets = more CPU burning

quartz vale
cloud torrent
#

Thank you

quartz vale
#

I haven´t paid attention to this section so thanks to you too 😄

cloud torrent
#

Damnn. Yeah that helps a lot!

quartz vale
#

It's like the tps command in papermc! 😄

quartz vale
#

Scot, my server is virtual on a proxmox with 4 cores... i think that the Load average is for the whole server cpu in my case because my server is almost idle..

tidal musk
#

?paste

#

!paste

#

.paste

marble kelpBOT
tidal musk
#

I use the following (https://paste.gg/p/anonymous/d2b53a9ad88d4a9eb9fcd64b22778027), to broadcast to all servers. It works most of the times but I have scenarios where it wont broadcast at all. It seems like in some cases where a player joins a empty server (I broadcast a "X moved to Y" message) and I use my function it wont broadcast to any servers at all.

#

Is there something sketchy I'm doing or is sockets not reliable?

errant pivot
#

players and me getting kicked for running commands

#

from more than 5 plugins so far

kind karma
#

lower threshold = smaller packets = more CPU burning
It is burning because writing proxy in JAVA was VERY BAD idea

#

(even Velocity went on the same road, lol)

torn river
#

Is there a way to fix this? They're the exact same modpack im on.

unreal stag
#

@kind karma Well, actually it's more complicated than "Java slow af". The real answer is "JNI method calls are fucking expensive". I optimized this in Velocity - stopped using zlib and started using libdeflate. If you spend less time doing native crap it should in theory pay for the cost of dropping from compiled Java code to native code.

kind karma
#

I know)

unreal stag
#

So libdeflate will let me (de)compress in one shot, it doesn't require streaming (in fact you can't stream with it!), and I can do just one JNI instead instead of at least 2, sometimes up to 5-10

kind karma
#

We wrote our own Rust library for ciphering, it spends like 10 ns on each iteration

#

and JVM is like: okay I'll just slow this down to like 10 milliseconds per iteration

#

that's why we lost hope on JVM and writing proxy with Rust

unreal stag
#

I've been thinking about combining the compression and encryption into one

#

But I've also been thinking about "fuck it, I'll rewrite it in Rust and find a way to have Java compatibility hooks"

kind karma
#

One game on Hypixel's murder mystery is 0.6 seconds of CPU time. (with Rust)

#

that's how terrible JVM is.

#

Yeah, we are doing exactly what you was thinking about

#

.We are leaving JNI callbacks.

marble kelpBOT
#

(DiscordBot) The geocode API is off in the Google Developers Console.

kind karma
#

oops

unreal stag
#

Well, at Hypixel scale, you have money and resources to throw at just getting rid of Java

kind karma
#

nah I'm just testing this on Hypixel

#

And as far as I know hypixel was using BungeeCord

unreal stag
#

Testing in production? thonk

kind karma
#

don't know how it is now though

frosty finch
#

somehow it must be tested

kind karma
#

Nope, there are quiet a few things left.

#

We have an ability to mod the client, so I'm making it now so I can change compression threshold during PLAY, for example.

#

We was actually thinking about modifying JVM itself

#

but like

#

fuck it

unreal stag
#

C++ gives you permanent brain damage, I can't blame you for not wanting to touch HotSpot lol

kind karma
#

well it's not CPP

#

it's actually terrible hotspot sources

#

and there are so many things you need to do to compile it

#

so we just gave up on that

frosty finch
#

what about openJ9 ?

kind karma
#

OpenJ9 sucks

unreal stag
#

I doubt OpenJ9 is going to be significantly better, just saying.

kind karma
#

OpenJ9 beats HotSpot only in GC.

#

U can try Zing tho

#

We did not try, but don't think that it will improve something

unreal stag
#

Basically, JNI is expensive. You need to avoid it as much as you can.

kind karma
#

You can't

#

sadly

#

i think that most time is spent on actually preparing for native method call

#

like pushing stack frame, safepoint, injecting stuff like JNIEnv etc

#

(JavaCritical does not help)

unreal stag
#

Unfortunately, I had to make trade-offs when making Velocity, and I made the trade-off of focusing on what the community expects, and on my own familiarity.

#

If performance was my utmost goal, I'd probably write it in a native language.

kind karma
#

Well, there are some things you can do :)

unreal stag
#

Safe to say that Rust or Go would have much better performance than Java

kind karma
#

Go is like Java

#

it does have GC too.

#

Well, there are some things you can do :)

#

Like unpacking only N amount of bytes before actually doing stuff

#

Unpack 5 bytes, read packet id, Velocity does not use it - pass through

#

That's what we are doing rn.

unreal stag
#

That only helps for decompression. It's not very helpful if we have to compress packets, which tends to be the common case.

kind karma
#

You don't need to compress packet again :)

#

It's already compressed

#

you pass through compressed buffer

unreal stag
#

Also wouldn't help me now, I'm doing libdeflate, so we decompress the entire buffer anyway

kind karma
#

that's sad.

#

The disadvantage is that all backend servers must have the same threshold as the proxy.

#

But I think everyone can deal with that

unreal stag
#

The idea is interesting, but in practice, the approach I'm taking is pretty amenable to the "just throw more cores at it" solution

kind karma
#

bruh

#

while we are speaking about proxy stuff

#

I've noticed that BungeeCord reads unused server side packets

#

That might be optimized a bit too.

#

Chat, for example, is registered for both Client and Server, however, only upstream handles it.

unreal stag
#

At least Velocity optimizes that.

kind karma
#

never tried Velocity

#

Well, one time, actually

#

Did not go well D:

unreal stag
#

Though it's possible libdeflate optimizes compression to the point where JNI overhead definitely takes up most of the room.

#

From some experimentation, I've seen a 2.5x improvement on both amd64 (Zen 2) and aarch64 (AWS Graviton2).

kind karma
#

that's a story of how we optimized ciphering.

#

terrible

unreal stag
#

This overhead can be significant if a native function is simple and is called frequently. JDK has a private API called Critical Natives to reduce overhead of calling functions that do not require much of JNI functionality.

kind karma
#

It does not help

#

at ALL

unreal stag
#

I wasn't even aware Critical Natives even existed.

kind karma
#

Yeah, it was first time introduced to speed up ciphering

#

But it does not help

#

Nothing changes, lmao

unreal stag
#

The only thing I can think of is to reimplement AES CFB-8 over ByteBuf directly in Java.

#

Or swallow your pride, and use Cipher and heap buffers.

kind karma
#

meeh

#

Cipher actually supports ByteBuffer's from NIO

#

but...

unreal stag
#

I know, it just makes a byte array copy.

kind karma
#

The implementation just reads the whole buffer

#

yes

#

lol

unreal stag
#

I've read JDK code

timber root
#

Hello, I am just now switching to Pterodactyl panel. I saw where there was an Egg for Paper and that is working great. I was wondering if there's a script somewhere that works for Waterfall? I tried duplicating the paper one and renaming everything to waterfall, but that didn't work

unreal stag
#

Search for a Waterfall egg

frosty finch
#

there is a bungeecord egg

#

you can just replace the bungeecord.jar with the waterfall.jar

#

and rename it

unreal stag
#

Basically, unless we can instrinctify native ciphers in the JVM, it doesn't matter.

kind karma
#

or just switch to Rust!

unreal stag
#

Yeah, but that requires a rewrite of everything to Rust.

#

For previous reasons, I can't really do that

#

The "array access" benchmark is kinda a joke. Just writing the relevant code directly in Java would seem likely to be faster...

#

Also, the sum loop would be a field day for autovectorization optimizations.

#

I might look at JavaCritical anyway, maybe you missed something. Or I need to dig more deeply into HotSpot code.

kind karma
#

may be.

unreal stag
#

My understanding of what happens on JavaCritical:

  1. Create a C-style stack frame
  2. Freezes GC, could do a garbage collection.
  3. Move arguments to proper register or stack locations according to ABI.
  4. Calls JavaCritical function.
  5. Check if safepoint is needed.
  6. Unwrap object result and reset JNI handles block.
  7. Remove the stack frame and return result to client.

So it does reduce the steps by about half, in theory.

#

The calling convention is very C-esque too

#

It's also mentioned that the method only gets called from compiled code (C1? C2?)

#

Hopefully it's both C1 and C2.

#

In fact, we tested functions that do absolutely nothing and there was no real difference between critical and standard JNI.

#

that's pretty damning

timber root
#

I tried taking the BungeeCord egg and modifying everything to match Waterfall. It says this when I try to start the server No server egg configuration could be located; aborting startup.

#

Is there some place I can get a Waterfall egg? I tried searching for it but couldn't find it

unreal stag
odd hatch
#

@timber root It's not that hard

#

Just reset back to the BungeeCord Egg

#

Then after your first startup, replace the server.jar with the Waterfall jar from source.

#

Writing the actual egg if you need to deploy Waterfall is different, but I think at that scale you'd have less issues/know how to say that's what you want :P

timber root
#

We're trying to make it where it automatically uses the latest build of Waterfall

odd hatch
#

That's the deploy step I was talking about, one sec.

#

Waterfall egg.

unreal stag
kind karma
#

@unreal stag C2 only.

timber root
#

Oooh

#

Thank you!

odd hatch
unreal stag
#

So yeah, looks like JavaCritical either doesn't help or is a regression

odd hatch
#

Then upload that json file.

timber root
#

It still says
No server egg configuration could be located; aborting startup.

odd hatch
#

I think at this point you'd benefit from the Pterodactyl discord rather than here :P

timber root
#

Okay

odd hatch
#

Try manage, rebuild server container

#

then start again, otherwise idk what to tell you but try the pterodactyl cord

unreal stag
#

@kind karma I did some more Googling and found some pretty interesting things about JNI critical methods.

JNI critical methods were introduced to optimize cryptography... on Solaris: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=7013347
Then the Solaris port got deprecated, and there was an issue to remove JNI critical methods: https://bugs.java.com/bugdatabase/view_bug.do?bug_id=8233343

Well, looks like LWJGL uses JNI critical methods. But at best, you maybe get a 5% performance improvement for a function that does basically nothing.

timber root
#

Yeah I've tried both that^ and reinstalling

unreal stag
#

LWJGL probably pays the cost as it's the kind of thing where you need low latency...

timber root
#

I'll go to their discord

unreal stag
#

You can make it faster if you're willing to play fast and loose.

tidal musk
#

I have connected all my servers to bungee. When i try to connect to one of them (not connecting to the proxy) is says "Ip forwarding is enabled but spoofed data can't be decoded or missing"

odd hatch
#

Correct, just log into the proxy

kind karma
#

@unreal stag maybe one day we will get cheap native method. calls.

unreal stag
#

Project Panama is supposed to usher that future in

kind karma
#

it's still slower than current JNI calls

#

as far as I know

unreal stag
kind karma
#

nah

unreal stag
#

This article gave me a crazy, stupid idea

kind karma
#

yes?

unreal stag
#

What if I could batch a bunch of writes together and do just one JNI call?

kind karma
#

uh

#

not sure how would you do that

unreal stag
#

I'm crazy, I will find a way lol

signal trout
#

I'm a bit new to bungee stuff and I am wondering what plugins are updated that let you send players between servers from the "client" servers, I've looked around quite a few forums and found some super outdated stuff but surely there must be some working plugin that everyone uses?

timber root
#

I'm sure there's other plugins for npcs or portals though

signal trout
#

Is there something that lets you use like a console command on the client server to send someone to another server?

unreal stag
#

@kind karma working on it now

#

PoC shows promise. Now I've managed to halve the number of JNI calls per packet, which is pretty sick.

#

Now I want to try Tuinity as it has flush consolidation.

unreal stag
#

The results are in. It does seem it helps, but not by as much as I'd like. It does however reduce JNI encryption calls by half in the Velocity case, which probably makes it worth it.

#

Switching servers seems to get the most benefit from my brief testing.

kind karma
#

yeah because of batch of chunk packets i think

#

when you log in

reef fulcrum
#

just wait till you see all the scoreboard packets

unreal stag
#

Yeah. Main catch is that Velocity encodes the length buffer in a slightly unusual way, just to avoid a memory copy.

kind karma
#

scoreboards... that one thing

#

it scares me

unreal stag
#

@reef fulcrum I own a copy of FeatherBoard. Challenge accepted

kind karma
#

actually who cares when you remove them from the proxy

reef fulcrum
#

there was a PR for it, but, in the midsts of my death and well, still kinda dead

unreal stag
#

Figured it out. The FlowControlHandler was basically making Velocity flush consolidation toothless.

#

Now I get to come up with an alternative

kind karma
#

what's the purpose of flow control handler

#

I don't get it

#

alright I see for what it was used but still don't get it

#

why is it used in velocity

unreal stag
#

@kind karma ServerConnectedEvent

#

I came up with an alternative, that only holds messages if autoRead is off, but releases them on read() again.

#

Working great with Tuinity, and even with Paper's flush consolidation.

frosty finch
#

btw thanks for reccomending zulu, works quiet nice

unreal stag
#

It’s working but I need to do some extensive sanity checking.

unreal needle
#

I am wondering if anyone has had this issue before and might know what needs to be done to fix.
I am apparently stuck on using waterfall build 357. If I go higher or lower in build versions, my players get stuck on a loading terrain screen when they try to change servers. They are able to connect to the hub server just fine, but when they try to connect to a different server it gets that problem. I had tried updating my servers to 1.16 and it fixes the terrain issue, but we are being forced to wait on a couple plugins to update before we can commit to 1.16. So we are currentlyrunning on 1.15.2.

cursive flicker
#

@unreal needle I had a similar issue with an outdated forge client version, updating that fixed it.

marble kelpBOT
#

Yippee, build fixed!

#

Yippee, build fixed!

kind karma
#

Like, what?

unreal stag
#

For PacketCompressor, the answer is "md_5 allocates too small buffers", "md_5 is doing an extra JNI call", and "zlib is flat-out slow"

#

If you optimize all three, compression still eats CPU time, but as optimized as you can make it.

#

The other factor is that it does a memory copy if it decides the packet shouldn't be compressed.

#

The JNI boundary is expensive to cross, and md_5 hasn't really done a good job of reducing those boundaries.

#

Heck, there's even areas of improvement in Velocity, some of which I'm working on right now. But Velocity's JNI boundary crossing for compression is very well-optimized.

quartz vale
#

Is there an easy fix if i wish to have more than one bungee/watherfall to the same servers? RedisBungee is not maintained anymore and the problem is that players can't see each others in the tab menu 🙂

mental eagle
#

do i need to change bungeecord to true from paper.yml

#

to use waterfall

reef fulcrum
#

no

#

it's for online mode, that option lets you break the bungee mode == online mode assertion on the proxy

mental eagle
#

encountered exception: net.md_5.bungee.util.QuietException: Server is online mode!

reef fulcrum
#

all backend servers need to be in offline mode

#

read the bungee install guide

mental eagle
#

thx i opened waterfall servers long ago and i forgot them 🤔

honest spruce
#

Hi, can you see, why my waterfall display only the players connected in the hub server ?

green palm
#

since that's the case you probably forgot ip-forwarding too, don't forget that

reef fulcrum
#

ping passthrough does that

honest spruce
#

So, i have to set it false

tidal musk
green palm
#

yep

tidal musk
#

alright thx

candid panther
#

Hello ! I have some issues with a player who can't join my bungee network, i don't know if it cause of bungee or other stuff, but can you help me ?
Sometimes Disconnected
Sometimes An existing connection was forcibly closed by the remote host

keen patio
#

Hello

#

Im getting this error when a player on 1.14 places a block

formal cloak
ancient atlas
#

If you are using paper try using waterfall instead of bungeecord

wispy fable
#

Hi! Does anyone know why this is happening when i try to join the bungee hub? I think i have ip forwarding turned on in the bungee config as well

kind karma
#

You need to enable bungeecord mode in paper.yml/spigot.yml as well

formal cloak
#

Its Always in spigot.yml even tho your on paper

kind karma
#

Paper uses it's own option for something else.

rough lintel
#

do i have to download bungee cord or can i just use waterfall?

reef fulcrum
#

waterfall is a fork of bungee, meaning that're essentially the same thing

unborn arrow
#

So, does the MOTD only update on a restart and not a greload?

reef fulcrum
#

no

#

greload works fine

unborn arrow
#

and its supposed to just pull the config.yml from the waterfall directory right? cause my MOTD refuses to cooperate at this point 😂

reef fulcrum
#

yes

unborn arrow
#

whelp, i guess imma just restart the network during low count. The MOTD for every server listed in the config.yml is correct, but clients still load the previous one. Thanks anyways zzzCat

reef fulcrum
#

wait, you're using forced hosts?

#

reloading the server list is kinda shaky and often doesn't work properly, it gets reaaaally weird; Need to look into it but dead + low priority

unborn arrow
#

things like this is what i mean

reef fulcrum
#

the listener list should always reload

#

/greload literally throws out the existing listeners

unborn arrow
#

well, see how it says 'This shit work?'

#

here its like this after a greload

#

we're restarting network now

reef fulcrum
#

best guess would be check your plugins

unborn arrow
#

a restart cleared it up

tidal musk
#

how to make it so that when a server shuts down it sends everyone to the hub?

celest kindle
#

i have a problem, the server icon on 1.16+ its showing up as a white box

agile sigil
#

You icon is 64x64 and in png format ?

reef fulcrum
#

known issue

quaint bolt
#

So, we're getting attacked:
[18:35:38 WARN]: Query - Incorrect magic!: /65.xx.xx.xxx:123
Questions:

  1. How tf can they specify their outgoing port, that's usually not possible without a custom driver, right?
  2. What query/magic is this about?
  3. Could this cause the whole server to be come irresponsible? Shouldn't it only affect a few threads/cpu or is this about the linux limit of pending connections?
  4. Couldn't I safely write a patch to blocklist those IPs directly for at least until the restart?
#
  1. Would connection_throttle and connection_throttle_limit help in any case?
unreal stag
#
  1. UDP contains little verification, and you can send raw IP packets. In fact, you can easily spoof source IPs and ports.
  2. It's to prevent UDP amplification attacks
  3. UDP doesn't have connections, though it's possible it can burn up CPU time on one core due to how UDP is handled by the kernel (it's handled like a single connection)
  4. You could also just disable query, then you get full protection
  5. No
quaint bolt
#

Oh, didn't know it's UDP, that changes quite a few things. I guess it just used up all our bandwidth or exceeded some queues then.
I guess blacklisting queries after the first false attempt won't help much as it's on a too high level already and I can only prevent reading the message but the OS and JVM needs to handle the packets already?

#

We're just implementing geoblocking now, as the attacks came from russia, china, etc which is not our playerbase

amber root
#

Is there any way to have like a backup proxy should the main one go down so players just get moved over to the other proxy?

frosty finch
#

you can use multiple proxys for your servers, yes

#

but there is no "get moved over" function

#

except if they reconnect manually

amber root
#

ah ok

#

Do you know if theres any "get moved over" function possible?

frosty finch
#

no there is no such function possible

celest kindle
#

@agile sigil yep, but its only in 1.16 + , other versions work ok

delicate phoenix
#

There are pluins

#

Witch ones send the pleayer to an other server if the one falls they are on.

#

just replace the jar?
@tidal musk yes, should work

#

It shoud be enough.

silent hedge
#

A lot of fixes, performance improvements, better forge support

cursive flicker
#

Is it possible to connect to waterfall with a paper hub and move to a forge server on the network?

peak knoll
#

is there a way to reload waterfall's config

#

without restarting it and kicking players

cursive flicker
#

Technically I think there is a bungeecord command /greload but it is very buggy.

peak knoll
#

what does that mean

#

what's wrong with it

cursive flicker
#

Often crashes or crashes servers, doesn't remove servers if they were previously configured, etc.

peak knoll
#

fuck

#

fucking technoblade joined my server and I need to increase the cap

raven pawn
#

@peak knoll yeah that doesn't happen too often

hidden star
#

anyone know what this is?

#

player can't connect

reef fulcrum
#

java.lang.IllegalStateException: Cancelled ServerConnectEvent with no server or disconnect.

#

I erm.... I mean, it says?

#

A plugin cancelled a connection event and didn't send them anywhere else

hidden star
#

thanks

#

multilobby perhaps

tidal musk
#

My bungeecord keeps dying

lofty basalt
#

is bungee/waterfall considered safe once i have it all set up, or do i need additional plugins to prevent players from connecting to the servers in offline mode?

reef fulcrum
#

use firewall or localhost binding if they're all on the same box, or, use bungeeguard

lofty basalt
#

so i dont have to have the ports of the offline servers open to the firewall?

#

and localhost binding is just done in the server.properties, right?

reef fulcrum
#

you just need them accessible by the proxy, not the whole world

#

yes, just bind the servers on 127.0.0.1

lofty basalt
#

thats really smart!

#

so since its on the same machine its fairly simple to be locked nice and tight 😄

#

thanks for your help!

sullen flume
#

hi

#

any website that indicates waterfall configuration?

twin solstice
#

what

unreal stag
#

probably was looking for a wiki or docs of some sort

icy schooner
reef fulcrum
#

connection refused

#

that means that whatever server that's pointed to said "nope"

marble kelpBOT
quaint bolt
#

btw looks like we got an NTP Amplification Attack, so processing speed wouldn't have helped much, we've now just iptabled port 123, which was the reason for this strange port

frosty finch
#
[12:19:19 ERROR]:       at net.md_5.bungee.conf.YamlConfig.getListeners(YamlConfig.java:245)
[12:19:19 ERROR]:       at net.md_5.bungee.conf.Configuration.load(Configuration.java:92)
[12:19:19 ERROR]:       at io.github.waterfallmc.waterfall.conf.WaterfallConfiguration.load(WaterfallConfiguration.java:49)
[12:19:19 ERROR]:       at net.md_5.bungee.BungeeCord.start(BungeeCord.java:278)
[12:19:19 ERROR]:       at net.md_5.bungee.BungeeCordLauncher.main(BungeeCordLauncher.java:62)
[12:19:19 ERROR]:       at net.md_5.bungee.Bootstrap.main(Bootstrap.java:15)```

latest waterfall seems broken
reef fulcrum
#

your config is busted

tidal musk
#

hey

#

is it like a plugin

#

or do i have to edit the source

#

or config

reef fulcrum
#

plugin

tidal musk
#

ok any u recommend

#

hold up

#

my dev already made one we good thanks for help lol

slate moat
#

Is bungeecord plugins compatible with waterfall?

reef fulcrum
#

yes

slate moat
#

Thank you

wispy fable
#

Anyone know why i cant use /server on a bungee server as an op with * perms?

#

Is it because i dont have those perms in the permission plugin of bungee?

winged cape
#

what does waterfall do and is it better than paper

reef fulcrum
#

waterfall is a fork of bungee, paper is a fork of spigot

winged cape
#

what does that mean

reef fulcrum
#

essentially, it's nothing to do with paper

winged cape
#

what does waterfall do different to paper

reef fulcrum
#

it's a proxy

#

lets you join multiple servers together as a network

winged cape
#

so like hypixel?

reef fulcrum
#

essentially, yes

winged cape
#

can you run multiple servers on the same world so that it's faster

reef fulcrum
#

you can't share worlds across servers

keen thistle
#

hello i keep receiving this error every time someone tries to join on the proxy error : io.netty.handler.codec.DecoderException: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target. could someone please help.

reef fulcrum
#

That generally means that your java install is busted

#

either that or your network is jacked up

keen thistle
#

ok thanks

warm violet
#

What’s waterfall?

#

!waterfall

#

!info

#

!commands

#

!help

#

!isthereanybotsonhere?

reef fulcrum
#

fork of bungeecord

keen thistle
#

hello when i load up minecraft it says my server is out of date

#

i installed the latest version of water fall

reef fulcrum
#

waterfall is a proxy

#

you need to update your actual server

keen thistle
#

ok

keen thistle
#

it still says that the server is out of date

fallow flume
#

Hi I’m thinking of syncing 2 survival servers together. So setting resource worlds to a separate server.

#

Does Waterfall support this (with player data syncing/inventory/other plugin data etc)

cursive flicker
#

That requires a plugin

delicate phoenix
#

Hello! My players can't login in to the server:

REMPIZSOLTI lost connection: Internal Exception: io.netty.channel.unix.Errors$NativeIoException: syscall:read(..) failed: Connection reset by peer

What can cuse this issue?

reef fulcrum
#

Connection reset by peer

#

something else on the network closed the connection in an unexpected manner

delicate phoenix
#

Hm, that's strange...

#

I've only got my bungee, 5 servers and a website

#

The servers are running as localhost

reef fulcrum
#

No

#

as in, "something between your server and the client"

#

All the server knows is that the connection was reset unexpectedly, meaning that something closed it

soft forge
#

Hello! Im using Waterfall on my server and I notice this option on the config.yml
remote_ping_cache: -1 What does it does?

#

There is no information about it on the bungeecord guides, so I guess it is something about waterfall?

reef fulcrum
#

it's not actually used

#

🤷‍♂️

#

okay, maybe it is; but, basically, it just caches ping requests

faint yarrow
#

I am having this issue right now: https://pastebin.pl/view/a3b76f89
Anytime someone tries to join my survival server (which I updated to 1.16) it throws that error on the proxy. It connects them and then you are immediately disconnected and sent back to the hub. Anything helps, thanks

frosty finch
#

update your proxy

faint yarrow
#

I have

reef fulcrum
#

it's an issue with multiple servers storing the same team names across them

#

server A has a team, player jumps to server b, server b has a team with the same name = boom

faint yarrow
#

I am not familiar with team names

reef fulcrum
#

It's a long standing bungeecord issue; Best fix I got so far basically involves causing other issues, soooo.... #rip

#

scoreboard teams

#

generally used by plugins for the scoreboards in the sidebar, or tab names, etc

faint yarrow
#

yeah I tried disabling all of those still no good

reef fulcrum
#

some plugins are really bad and store their team names on the main scoreboard, which means that they'll be in scoreboard.dat in the world folder

faint yarrow
#

Would clearing that give me any different results?

reef fulcrum
#

if the "bad" data is in there, yea

faint yarrow
#

Yeah that did fix it thank you

reef fulcrum
#

at the end of the day, the ultimate issue is that server A and B tried to define the same team name, some plugins really have no consideration to bungee, which is a pita because bungee has no considerations to scoreboard plugins

#

It's literally fun

faint yarrow
#

Yeah it's not too fun haha, I can join no one else can

#

But you recognized the issue and helped point me in the right direction so thank you

faint yarrow
#

I still can't find a solution for this problem I have been trying for hours straight now, I have removed every placeholder, tab and scoreboard plugin and still no luck I cannot find a solution for this.

#

Is it something with my proxy? Or the hub and the survival server? Hub is running on 1.8 whilst survival is running 1.16

reef fulcrum
#

all I can tell you is that you have duplicate teams

#

This is generally down to plugins on both servers not doing stuff to avoid this type of collision

flint shell
#

Hi, when my players die, they were kicked out of the server with the following message

#

the server you were previously on went down, you have been connected to a fallback server

#

not sure what happened

#

can anyone shed a light

cursive flicker
#

Any logs in paper console or waterfall console?

flint shell
#

yes

#

only on waterfall server

#

hold on

cursive flicker
#

Upload them to pastebin/gist/hastebin

faint yarrow
#

@reef fulcrum thank you I was able to finally find the issue, had a plugin messing it up, thank you so much

flint shell
#

okay

cursive flicker
#

I don't know if I can help, probably not, but no one else will be able to unless you do that 🙂

cursive flicker
#

You're running ResourcepacksPlugins?

#

Looks like it may be an error/incompatibility with that to me.

flint shell
#

yea, i saw that too

#

i'm testing it right now

cursive flicker
#

I have a test server I run at home with all the same plugins etc. So I can test removing / adding things easily.

reef fulcrum
#

needs updating

cursive flicker
#

@flint shell see above.

flint shell
#

that's an excellent idea!

#

and turns out that bungeecord resource pack plugin is the source of the problem

cursive flicker
#

Yep, now you know where to look which is at the very least useful

flint shell
#

yea, i really need to get into the habit of looking at the console first

#

i'm having trouble setting up resource pack for all of my servers, do you have any ideas?

cursive flicker
#

Not me sorry, I've never used one

#

Usually plugins have a guide how to set them up on bungee

#

Or if you search "pluginx bungee" you can find something.

flint shell
#

i see, thank you james

#

i appreciate it

cursive flicker
#

No problem, someone may be able to help you here, but generally speaking you have to find out about the specific plugin so better to get specific support, if that makes sense?

flint shell
#

yep! thank you

tender axle
#

Is this "error" ok?

[07:41:19 INFO]: Failed to download: SSLHandshakeException : Remote host closed connection during handshake @ sun.security.ssl.SSLSocketImpl:994```
twin solstice
#

am i doing something wrong?

#

trying to setup a spongeforge 1.12.2 server connected to waterfall

#

but it just keeps getting stuck at Logging in...

#

doesn't seem to be the firewall either

#

forge_support is on in the bungee config

#

i also have entity metadata rewriting disabled which might cause issues

#

since i use a motd passthrough plugin

#

spongeforge has bungeecord ipforwarding on & is in offline mode

#

my vanilla servers connected to the same proxy work fine, everything is on the same server aswell

twin solstice
#

switched the same server to paper & it worked fine so i doubt it's network

tender axle
marble kelpBOT
#

(DiscordBot) Waterfall won't connect to SpongeForge server : admincraft - 4 comments, 19 points - Ecrfour, 6mo ago

twin solstice
#

fucking bruh moment if that's it

tender axle
#

lol lmk if it works

twin solstice
#

though i only have spark + phosphor + sponge

tender axle
#

its modded minecraft. if you told me the solution to my problem was to touch my nose with my knee, i would believe you.

twin solstice
#

nvm apparently you have to enable bungeecord as a module in sponge's config too

#

got em

marble kelpBOT
tidal musk
#

What is more stable, Waterfall or PaperMC?

reef fulcrum
#

waterfall and paper are two different things

tidal musk
#

oh

#

but what is more stable

eternal cairn
#

which kiwi is best, apples or pears?

tidal musk
#

since i wanna make a plugin

reef fulcrum
#

They're both "stable", if you ignore vanilla being derp

#

making a plugin is irrelevant to stability

#

You throw the plugin where it makes sense

tidal musk
#

ill choose spigot since someone had a paper server and he changed to spigot and it was more stable with very many plugins

twin solstice
#

basically

#

stick to spigot

green palm
#

Not necessarily

#

you can use PaperLib

twin solstice
#

the guy asks about waterfall and paper

#

i doubt he knows paperlib

green palm
#

yeah I'm somewhat confused how he jumped from "What is more stable, Waterfall or Paper" to "I'll choose spigot"

tidal musk
#

ill use PaperMC with paperlib rather then

green palm
#

So you know, Paper is a typical server you're used to with blocks, zombies, creepers, mobs, worlds, etc.

#

Waterfall has none of those. It's a proxy.

tidal musk
#

oh

twin solstice
#

just like bungeecord

#

because waterfall is a fork of bungeecord

green palm
#

bungeecord is also a proxy

#

waterfall is a fork of bungeecord

#

spigot is not a proxy but a typical server

#

paper is a fork of spigot

tidal musk
#

i know theyre forks

tidal musk
#

if i overwrite /tell with Waterfall, will both the server and the proxy react on that command?

tidal musk
#

only proxy will

delicate phoenix
#

Hello!

#

My whitelist keeps resetting with every restart.

reef fulcrum
#

literally nothing to do with waterfall

delicate phoenix
#

opps, wrong channel

#

sorry.

wispy fable
#

Anyone know what could have caused this massive change in the bandwidth?

#

thats bandwidth for my entire dedicated server which hosts only a bungee w/ a few servers

frosty finch
#

mass teleportation onto the same location and keeping the player there

#

a server crash

#

players quitting the server

steel orchid
#

its not massive

#

its only a couple mbps either way

#

normal

violet radish
#

I use pterodactyl with waterfall and my papermc server, but it doesnt work like it did before, can it be because of ptero and how do I fix that?

#

I get also Could not connect to a default or fallback server, please try again later: io.netty.channel.AbstractChannel$AnnotatedConnectException

mighty anchor
#

just coming in here to ask a quick question, does waterfall suppoer new versions of forges (after they changed there packet system)