#waterfall-help

1 messages · Page 28 of 1

reef fulcrum
#

wut

timber tusk
#

never mind

#

I resolved it

stiff nova
#

What tf is actually happening rn updated to newest Waterfall and now this:

lime breach
#

Restart

#

The plugin has been clearly initialized more than once pikoh

stiff nova
lime breach
#

Fallback system is extending a plugin I don't think you can do that

#

Only 1 class should extend Plugin

rough warren
#

you cant create a new instance of your plugin

#

no class cant extend it

stiff nova
#

ok sry for the wrong channel and then I did misunderstand the extend

#

but it worked everytime

lime breach
#

It would be weird if it worked thonk

stiff nova
#

i swear it worked xd

lime breach
#

If you need access to the Plugin methods you can just create a static Plugin variable in your BSS class and initialize it on enable, or just create a getInstance method idk. There are a lot of ways (some are not recommended).

stiff nova
#

did it like this

lime breach
#

I see some errors yee_fuckin_haw

stiff nova
tidal musk
#

does anyone know of a plugin to spoof my server brand i don't want people knowing it's paper and waterfall

strange brook
#

butwhy

tidal musk
#

just cuz

cold notch
#

🤦‍♀️ why? They will still be able to know if it bungee or normal server

humble prawn
#

What is waterfall supposed to do ???

#

I use paperMC but I don´t know what waterfall is.

reef fulcrum
#

waterfall is a fork of bungeecord which is a server proxy for jumping across servers

humble prawn
#

Jumping ?

#

What is a fork

cold notch
#

waterfall = bungeecord

humble prawn
#

Is ist different to paperMC ?

cold notch
#

it is

#

it a proxy

humble prawn
#

A proxy is normally for a connection

cold notch
#

waterfall = router that connect all pc together in this case pc = minecraft server

humble prawn
#

It´s for more than one server, right ?

reef fulcrum
#

Basically, yes

#

It's a proxy, it lets you move between between individual servers vs having everybody on a single server

humble prawn
#

Oh

#

thanks for this answer!

#

Are you using for your server PAPER or WATERFALL

reef fulcrum
#

paper is a fork of the server software

#

waterfall is a fork of the proxy software

humble prawn
#

And there is also travertine that i never heard before

cold notch
#

travertine for tyhose ppl that wanna use to support 1.7

humble prawn
#

Bye!

lyric flare
#

okay, Im really confused on what I am doing wrong. I am using waterfall as my proxy and paper as my server. I have the absolutely most up-to-date jar files, and I have all of the server config files set right, but I cannot get the player ips to forward. The skins load, but the paper server claims all users are joining from the actual server ip address. Any help would be greatly appreciated!!!

strange brook
#

.g bungee setup guide

marble kelpBOT
lyric flare
#

thanks, but this isnt helping at all. I read through it, but its not helpful

strange brook
#

if you had followed it correctly you wouldn't have that issue

wary trellis
#

Anyone ever had this error?:
"Kick whilst connecting to [server]: You are not allowed to log in to this server."

#

or does anyone know how it is triggered?

reef fulcrum
#

not a waterfall message

#

that error likely came from something installed on your server

wary trellis
#

Odd

gloomy sluice
#

error in console

#

travertine

#

I couldn't find another room that says travertine xd

tidal musk
#

smells like plugin issue

tulip canopy
#

Heyo guys, Im having some trouble setting up waterfall.

#

Im trying to get it to run on SpongeForge on my modpack server, but im not sure where its sending any config files, and none of the commands in the console like are registering as valid commands

reef fulcrum
#

er

#

waterfall is a proxy

#

config files for the proxy will be in whatever folder you ran the proxy in

#

individual servers, etc, still work as individual servers

tulip canopy
#

oah, i was being stupid, sorry. Pretty new to this xD

old depot
#

What is the best way to use someone else's patch in your project?

proven crypt
#

Waterfall disables the bungeecord mcstats integration?

upbeat ember
#

ye

edgy snow
#

mcstats bork

upbeat ember
young berry
#

is there a version of travertine with 1.16 snapshot support?

upbeat ember
#

not officially, tho

young berry
#

ok

#

with that though, you just solved a major headache for me

#

is there a precompiled version or do i need to compile myself? just asking before doing so

#

ill just compile it in myself, ill add to it anyways

pastel stump
#

l

zenith blade
#

Hi all, I have some questions regarding Waterfall + PaperMC and connecting to a Forge (FTB Revelation) server. I currently have everything hosted on a dedicated server, and am trying to connect all my servers through Waterfall. I have Waterfall + the Hub/Lobby and another vanilla PaperMC world working perfectly fine, but I cannot access the Forge world via /server [server] no matter what I try. Below I'll list exactly what my current setup looks like.

Hub
FTBRev
Pixelmon (currently just a clone of Hub for testing /server joining)```

That's the structure so far.  I can connect to the Hub world through both vanilla clients and Forge modded clients (which took me researching to find a fix through the git, which required me to add the java argument "-Dpaper.disableChannelLimit=true" to the run.sh) with no issue.  I can use /glist to see other players, I can use /server to list servers accessible, I can use all commands a normal player can.  When running the Pixelmon server (again, clone of Hub), I can use /server Pixelmon and it will successfully transfer me to that server.

The problem comes in when I try to join the FTBRev server through Waterfall/Hub.  I am using FTB Revelation 3.2.0 Server pack (downloaded directly from the FTB Launcher), and the 3.2.0 client modpack (again downloaded via FTB Launcher) to connect.  Connection to the Hub works fine; all the commands above work the same. Trying to switch to FTBRev using /server FTBRev does not work.  No message is posted into the in-game console, but when I look at my consoles for Waterfall and FTBRev, I get these two results:
#

Waterfall

[01:01:41] [Netty Worker IO Thread #1/INFO]: [Korinthian90|/71.61.24.69:50975] <-> ServerConnector [FTBRev] has disconnected```

**FTBRev**
```[01:01:41] [Netty Epoll Server IO #1/INFO] [neid]: Patching class: "net.minecraft.network.play.server.SPacketBlockAction" with Transformer Group: "TransformerGroupBlockHardcoredConstants"```

Here are the (almost) full logs from Waterfall and FTB Revelation:

Waterfall: https://pastebin.com/tThWjVxn
FTB Revelation: https://pastebin.com/D4P02sus (the full log was too large to put in pastebin, so I grabbed the section after the world goes live, and down to the Netty Epoll entry)

Here are the configs for both servers as well:

Waterfall: https://pastebin.com/Di6ELNGY
FTB Revelation: https://pastebin.com/21reJnZy

I feel like I'm missing something very basic, but I can't for the life of me figure out what it is.  Apologies if this is the wrong place to ask (since the issue seems to be the Forge server), but I'm pretty fresh to this kind of stuff and didn't know where else to turn.  Thanks in advance for any support!
marble kelpBOT
#

try connecting directly to the forge server instead of going through a lobby

#

some mod (packs) seem to have issues when not directly connecting to a forge server

zenith blade
#

I have connected to the sever directly (turned it back to online_mode=true) and it works connecting directly to it. But I'd really like to use the Lobby to transfer people there; if it's not possible, though, is there a way to force Waterfall to connect Forge users directly to the Forge server instead of to the main Hub/Lobby?

#

Basically just wanting to have 1 IP/port that people need to add as a server,. and have Waterfall take care of the rest. I'd hate to have to set up the FTB Revelation server as its own thing separate from Waterfall and the Hub.

marble kelpBOT
#

I mean connecting directly to it through your proxy

#

either by using a plugin or a forced host setting

#

if you really want a lobby then you might have some luck setting up a second one for your modpack users using a modded server

zenith blade
#

Could you expand on the forced_host part a little bit? I'm trying to understand how exactly I'd set that up, and I'm looking at the config, but I'm not entirely sure how to go about writing it in. This came default in the config

    pvp.md-5.net: pvp```

I imagine I would another entry there with [host]: FTBRev based on my naming, but in the host section - would I put [serverIP]:[port that FTBRev is on]?
strange brook
#

hostname is what the user types into the box on the client

#

server name is what's in the config for that server

tropic atlas
#

Does Waterfall support vanilla Minecraft servers?

#

Like could i hook up my vanilla Minecraft server to Waterfall?

strange brook
#

.g vanillacord

marble kelpBOT
#

(DiscordBot) https://www.spigotmc.org/resources/vanillacord.952/ -- VanillaCord | SpigotMC - High Performance Minecraft: "VanillaCord. A patcher for vanilla to allow for bungeecord's ip-forwarding. Usage: java -jar vanillacord.jar <minecraft version> The patched jar ..."

lean zenith
#

Is there some sort of parameter that can help with high memory usage? Uptime of 24 hours and my memory is almost at 100% on my proxy due to constant connections (possible attack) but just wanting to know if there is some sort of parameter to help in a way?

strange brook
#

usage itself isn't a bad thing

#

only bad if gc can't clear it

lean zenith
#

Alright, so some sort of GC flag can possibly help take off the memory usage overtime?

strange brook
#

and like...if you think something is spamming connections you should probably look at fixing the cause instead of trying to fix the symptoms

lean zenith
#

Just a simple bot attack on the network at times, and constant connections of legit players joining.

tidal musk
#

alternative to vanillacord is FabricProxy and Fabric

proper jacinth
#

waterfall for 1.7.10 exists?

reef fulcrum
#

travertine

proper jacinth
#

link?

reef fulcrum
proper jacinth
#

thanks

#

what are the differences between travertine and bungeecord?

strange brook
#

waterfall

#

+1.7 support

proper jacinth
#

guys what is this error

#

[15:17:15 WARN] [io.netty.util.internal.MacAddressUtil]: Failed to find a usable hardware address from the network interfaces; using random bytes: 87:3e:54:54:aa:2a:30:0b

#

please help

reef fulcrum
#

ignore it

#

It's down to your VPS not having a proper mac address

proper jacinth
#

ok but my server minecraft don't work

reef fulcrum
#

nothing to do with that warning

proper jacinth
#

when i put server address in minecraft it isn't

tidal musk
#

inb4 openvz

dark viper
#

oh,why my plugin only can run in Spigot Server,can't

#

run in paper

reef fulcrum
#
  1. Wrong channel
#
  1. We can't say much if you provide no information
dark viper
#

Sorry

manic agate
#

Is there some technical explaination of the disable_entity_metadata_rewrite function? I want to know the possible interaction between this and tablist functionality.

reef fulcrum
#

disabling that basically resends a join packet to the client, making it act as if it's joining a new server and refreshes lots of entity state, etc

#

relevance there is that likely the plugin relies on us not refreshing all of that client data

manic agate
#

Sounds like it can't hurt to turn it into true. Does it also refresh/clear scoreboard teams ?

reef fulcrum
#

yes

#

at least, pretty sure it does

#

It resets a lot of the clients state due to the nature of what the packet does on the client

manic agate
#

Ok, thanks for that. The problem I'm facing is that somehow 1 player got himself on top of the tab list despite sorting by the tab plugin which does not even make use of the scoreboard. No errors what so ever. Still figuring out what might have happened.

feral crow
#

Why waterfall (java process with 400m) needs that much of cpu 🤔

reef fulcrum
#

it's a proxy pooping packets around

#

beyond that, really boils down to what you've got installed on it

#

use a sampler or something

cold notch
feral crow
#

I tryed using spark, but i'm getting 100% on everything

#

I will try giving more ram (and update spark to newest version)

#

On spark

reef fulcrum
#

well, yea...

#

Threads which are running are always doing something

#

be that actually doing something or sleeping

old depot
#

Can someone who works on Waterfall help?

#

20w12a came out

reef fulcrum
#

snapshots are unsupported

old depot
#

It changed a field in the login success packet from being a string with hyphens to being a fixed length int array

reef fulcrum
#

if you're actually dev'ing yourself, you need to change how you read that field based on the protocol version

old depot
#

I know

#

protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java

#

would it be there?

#

I'm trying to fix it but I'm not sure how

#

I know I need to change something from an string to an int array

reef fulcrum
#

go look at how they read it it vanilla?

#

Probs just some bit shifting to move the things into place, not looked

old depot
#

vanilla is obfuscated?

reef fulcrum
#

there are projects like yarn which map the server

old depot
#

they track protocol changes

reef fulcrum
#

I'm familiar with the site

old depot
#

ok

#

but am I in the right file?

reef fulcrum
#

Without looking at source, best I can do is piss in the wind to guess the impl of what's needed

old depot
#

this field contains the UUID as a string with hyphens a fixed length int array

#

you're saying that's not enough info to make a fix?

reef fulcrum
#

no

#

Once again

#

Best I can do is take a piss into the wind as opposed to their impl

old depot
#

it's gonna be hours if I try to get yarn working and find the right class and everything

#

😐

#

it's just one simple change

#

the array will have 4 entries

#

the 1st part, the 2nd part, the 3rd part, and the 4th part of the uuid

edgy snow
reef fulcrum
#

is that a picture for ants?

edgy snow
#

Pretty sure this was extracted from the server code with yarn mappings. Don't remember where I found this tho

old depot
#

is that in 20w12a?

edgy snow
#

It was from when they first introduced the new uuid changes to be an int array

old depot
#

ah

#

so am I in the right file though zzzCat?

reef fulcrum
#

I've not looked

old depot
#

agh...

#

why do you not look so you can help?

reef fulcrum
#

because I don't feel so good and am working on stuff which actually pays me

old depot
#

...

#

ok

#

😐

old depot
#
public void read(PacketByteBuf buf) throws IOException {
      int[] is = new int[4];

      for(int i = 0; i < is.length; ++i) {
         is[i] = buf.readInt();
      }

      UUID uUID = DynamicSerializableUuid.method_26276(is);
      String string = buf.readString(16);
      this.profile = new GameProfile(uUID, string);
   }

   public void write(PacketByteBuf buf) throws IOException {
      int[] var2 = DynamicSerializableUuid.method_26275(this.profile.getId());
      int var3 = var2.length;

      for(int var4 = 0; var4 < var3; ++var4) {
         int i = var2[var4];
         buf.writeInt(i);
      }

      buf.writeString(this.profile.getName());
   }

from the fabric packet class

#

@reef fulcrum Now you can see the source?

strange brook
#

no need to ping him

old depot
#

sorry

#
package net.md_5.bungee.protocol.packet;

import io.netty.buffer.ByteBuf;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import net.md_5.bungee.protocol.AbstractPacketHandler;
import net.md_5.bungee.protocol.DefinedPacket;
import net.md_5.bungee.protocol.ProtocolConstants;

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class LoginSuccess extends DefinedPacket
{

    private String uuid;
    private String username;

    @Override
    public void read(ByteBuf buf)
    {
      if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
      {
        // Fixed length int array of uuid stuff
      }
      else
      {
        uuid = readString( buf );
      }
      username = readString( buf );
    }

    @Override
    public void write(ByteBuf buf)
    {
      if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
      {
        // Fixed length int array of uuid stuff
      }
      else
      {
        writeString( uuid, buf );
      }
      writeString( username, buf );
    }

    @Override
    public void handle(AbstractPacketHandler handler) throws Exception
    {
        handler.handle( this );
    }
}```
#

What do I replace the comments with to get 20w12a working?

tidal musk
#

you posted the working code few messages above... just adapt it to bungee

#

it's not hard

#

we're not going to spoonfeed you

#

luckily vanilla minecraft uses netty as well so you have exact netty bytebuf methods available

strange brook
#

"luckily"

#

as if bungee would have chosen some other networking lib

tidal musk
#

gotta point out for sure :)))

old depot
#
    public void read(ByteBuf buf)
    {
      if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
      {
        // Fixed length int array of uuid stuff
        int[] uuid = new int[4];

        for(int i = 0; i < uuid.length; ++i) {
          uuid[i] = buf.readInt();
        }
      }
      else
      {
        uuid = readString( buf );
      }
      username = readString( buf );
    }
#

close to right?

#

(on the read part)

tidal musk
#

compare and see

old depot
#

srsly with the names...

tidal musk
#

what?

old depot
#

everyone keeps putting a z in front of their name

#

are you all trying to be the last one on the list?

tidal musk
#

yes, but that answer doesn't help you to write working code tbh

old depot
#

xD

#

sorry just noticed that

#

I'm trying to fix it with someone in a dm

paper lotus
#

how redirect every login to one server?

marble kelpBOT
#

enable the force default server config option

paper lotus
#

and where define?

marble kelpBOT
#

in the config

paper lotus
#

i dont have any config for define default force

marble kelpBOT
#

then you are looking at the wrong place

paper lotus
#

force_default_server: false

#

line 19

#

where is define for defualt?

marble kelpBOT
#

it's the first in the priorities list

paper lotus
#

aaah

#

thanks

old depot
#

I have this so far:

#
package net.md_5.bungee.protocol.packet;

import io.netty.buffer.ByteBuf;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import net.md_5.bungee.protocol.AbstractPacketHandler;
import net.md_5.bungee.protocol.DefinedPacket;
import net.md_5.bungee.protocol.ProtocolConstants;

@Data
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = false)
public class LoginSuccess extends DefinedPacket
{

    private String uuid;
    private String username;

    @Override
    public void read(ByteBuf buf)
    {
      if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
      {
        // Fixed length int array of uuid stuff
        int[] uuidIntArray = new int[4];

        for(int i = 0; i < uuidIntArray.length; ++i) {
          uuidIntArray[i] = buf.readInt();
        }
      }
      else
      {
        uuid = readString( buf );
      }
      username = readString( buf );
    }

    @Override
    public void write(ByteBuf buf)
    {
      if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
      {
        // Fixed length int array of uuid stuff
      }
      else
      {
        writeString( uuid, buf );
      }
      writeString( username, buf );
    }

    @Override
    public void handle(AbstractPacketHandler handler) throws Exception
    {
        handler.handle( this );
    }
}
#

compared to ```java
public void read(PacketByteBuf buf) throws IOException {
int[] is = new int[4];

  for(int i = 0; i < is.length; ++i) {
     is[i] = buf.readInt();
  }

  UUID uUID = DynamicSerializableUuid.method_26276(is);
  String string = buf.readString(16);
  this.profile = new GameProfile(uUID, string);

}

public void write(PacketByteBuf buf) throws IOException {
int[] var2 = DynamicSerializableUuid.method_26275(this.profile.getId());
int var3 = var2.length;

  for(int var4 = 0; var4 < var3; ++var4) {
     int i = var2[var4];
     buf.writeInt(i);
  }

  buf.writeString(this.profile.getName());

}


from the fabric packet class
#

I need UUID uUID = DynamicSerializableUuid.method_26276(is);, but that is from Minecraft

#

what do I do?

tidal musk
#

use some logic

#

uuid can be packed as 2 longs

#

msb and lsb

#

now you also take msb and lsb from those two longs

#

and bam

#

you have two integers

#

err four i mean

#

reverse the logic

#

you'll have uuid

old depot
#

what?

#

msb and lsb?

tidal musk
#

.g msb lsb

marble kelpBOT
#

(DiscordBot) https://en.wikipedia.org/wiki/Bit_numbering -- Bit numbering - Wikipedia: "The MSB in an 8-bit binary number represents a value of 128 decimal. The LSB represents a value of 1. In computing, the least significant bit (LSB)..."

In computing, bit numbering (or sometimes bit endianness) is the convention used to identify the bit positions in a binary number or a container of such a value. The bit number starts with zero and is incremented by one for each subsequent bit position.

tidal musk
#

most significant bits, least significant bits

old depot
#

logic got me to setup yarn and enigma to decompile Minecraft and find that class

tidal musk
#

i mean if that's easier for you then go for it

old depot
#

and enigma ran my pc out of memory and it froze until I forced killed it

#

😐

#

uh...

#

I was asking how to do this in code.

tidal musk
#

[1:04 AM] zzikroskeem: we're not going to spoonfeed you

old depot
#

not take the msb and lsb, pack this together into a long and bam you have a uuid

#

it's not spoonfeeding?

tidal musk
#

it is lmao

old depot
#

I was asking how to get DynamicSerializableUuid.method_26276(is);

marble kelpBOT
#

.g stackoverflow combine int lsb and msb to long

old depot
#

in BungeeCord

marble kelpBOT
#

(phoenix616) https://stackoverflow.com/questions/8258398/c-how-to-combine-two-signed-8-bit-numbers-to-a-16-bit-short-unexplainable-res -- C++ How to combine two signed 8 Bit numbers to a 16 Bit...: "Your lsb in this case contains 0xfff3. When you OR it with 1 << 8 nothing changes because there is already a 1 in that bit position. Try short ..."

tidal musk
#

that's literally the way how minecraft does it

#

if you eventually get to decompiling the vanilla codebase then you'll see that i was right about it

#

programming is about describing logic after all, not... some halfassed copypasting from stackoverflow & other projects & praying that shit you threw together actually starts working

old depot
#

you linked a c++ post

#

this is java

tidal musk
#

bitwise operations work the same way

old depot
#
/*
Decompiled with CFR <Could not determine version>.

Could not load the following classes:
 com.mojang.datafixers.Dynamic
 com.mojang.datafixers.types.DynamicOps
 */
package net.minecraft.util.dynamic;

import com.mojang.datafixers.Dynamic;
import com.mojang.datafixers.types.DynamicOps;
import java.util.Arrays;
import java.util.UUID;
import net.minecraft.util.dynamic.DynamicSerializable;

public final class DynamicSerializableUuid
implements DynamicSerializable
 {
    private final UUID uuid;

    public DynamicSerializableUuid(UUID uUID) {
        this.uuid = uUID;
    }

    public UUID getUuid() {
        return this.uuid;
    }

    @Override
    public <T> T serialize(DynamicOps<T> dynamicOps) {
        return (T)dynamicOps.createIntList(Arrays.stream(DynamicSerializableUuid.method_26275(this.uuid)));
    }

    public static DynamicSerializableUuid of(Dynamic<?> dynamic) {
        int[] is = dynamic.asIntStream().toArray();
        if (is.length != 4) {
            throw new IllegalArgumentException("Could not read UUID. Expected int-array of length 4, got " + is.length + ".");
        }
        return new DynamicSerializableUuid(DynamicSerializableUuid.method_26276(is));
    }

    public String toString() {
        return this.uuid.toString();
    }

    public static UUID method_26276(int[] is) {
        return new UUID((long)is[0] << 32 | (long)is[1] & 0xFFFFFFFFL, (long)is[2] << 32 | (long)is[3] & 0xFFFFFFFFL);
    }

    public static int[] method_26275(UUID uUID) {
        long l = uUID.getMostSignificantBits();
        long m = uUID.getLeastSignificantBits();
        return DynamicSerializableUuid.method_26274(l, m);
    }

    public static int[] method_26274(long l, long m) {
        return new int[]{(int)(l >> 32), (int)l, (int)(m >> 32), (int)m};
    }
}
#

that?

#

I finally just used enigma to decompile an individual class instead of exporting sources (causing ram overload)

#

in turn that depends on more classes

#

😐

lusty badger
#

UUID uuid = new UUID((long)buf.readInt() << 32 | (long)buf.readInt() & 0xFFFFFFFFL, (long)buf.readInt() << 32 | (long)buf.readInt() & 0xFFFFFFFFL);

marble kelpBOT
#

why are you not using mojang's obfuscation mappings?

#

.g DecompilerMC github

#

(phoenix616) https://github.com/hube12/DecompilerMC -- hube12/DecompilerMC: This repository allows you to ... -...: "... you just need to run once the version via the minecraft launcher and that's it! Thanks mojang to have published proguard mappings -..."

#

way easier to read

tidal musk
#

congrats, leymooo spoonfed you

old depot
#

omg

#

I forgot about that

#

thanks Leymooo

#

that is what I was asking for...

#

but how did you smash that big class into one line?!?

tidal musk
#

by using logic...

#

like i said before

old depot
#

oh...

#

now I see

tidal musk
#

who would've guessed that you have to think when writing a code

#

amirite

old depot
#

yeah...

#
    public void read(ByteBuf buf)
    {
      if ( protocolVersion >= ProtocolConstants.MINECRAFT_1_16 )
      {
        // Fixed length int array of uuid stuff
        int[] uuidIntArray = new int[4];

        for(int i = 0; i < uuidIntArray.length; ++i) {
          uuidIntArray[i] = buf.readInt();
        }
        UUID uuid = new UUID((long)buf.readInt() << 32 | (long)buf.readInt() & 0xFFFFFFFFL, (long)buf.readInt() << 32 | (long)buf.readInt() & 0xFFFFFFFFL);
        String string = buf.readString(16);
        this.profile = new GameProfile(uUID, string);
      }
      else
      {
        uuid = readString( buf );
      }
      username = readString( buf );
    }```
#

looks about right...

marble kelpBOT
#

dat spam

#

(for dumcordians ( ͡° ͜ʖ ͡°))

lusty badger
#
int[] uuidIntArray = new int[4];

        for(int i = 0; i < uuidIntArray.length; ++i) {
          uuidIntArray[i] = buf.readInt();
        }

you dont need this code

old depot
#

what?

#

why?

tidal musk
#

if you knew what you wrote

#

then you wouldn't ask that

old depot
#

oh

#

because it's reading

#

?

lusty badger
#

or replace buf.readInt() with uuidIntArray[index]

old depot
#

so I still need it, but like that?

tidal musk
#

up to you how you want to use it

lusty badger
#

oh fuck

old depot
#

I was just trying to do it based off of the vanilla code

#

whoops

#

🤦‍♂️

#

that is wrong

tidal musk
#

yeah let's just write whole codebase for him for free

#

because that's what he basically wants here

old depot
#

wait, you literally told me replace buf.readInt() with uuidIntArray[index]

lusty badger
marble kelpBOT
#

.g oracle java nuts and bolts

#

runs

old depot
#

oh...

#

so I can either replace buf.readInt() with uuidIntArray[index] or remove:

int[] uuidIntArray = new int[4];

        for(int i = 0; i < uuidIntArray.length; ++i) {
          uuidIntArray[i] = buf.readInt();
        }```
#

that's basically what you were saying?

lusty badger
#

yes

old depot
#

oh...

#

If I had realized that one liner already made the array...

#

face palm again

tidal musk
#

is it that damn hard then?

old depot
#

bruh...

#

you just wrote it in 5 minutes...

tidal musk
#

yeah holy shit

old depot
#

that would of taken me 5 hours to figure out...

#

as I probably said before, I am pretty limited in my knowledge of java

#

XD

tidal musk
#

or thinking overall

marble kelpBOT
#

complains about spoonfeeding

#

spoonfeeds

old depot
#

Thank you!

marble kelpBOT
tidal musk
#

i mean he already got spoonfed

#

might as well cook whole meal for him now

old depot
#

(he probably doesn't want to get bothered with the issue anymore)

marble kelpBOT
#

well he can't use your code anyways so I guess it's just ¯_(ツ)_/¯

old depot
#

what?

#

why not?

marble kelpBOT
#

every heard of copyright? xD

old depot
#

bruh

#

it's like 10 lines of code

tidal musk
#

it's a trade secret yeah

#

you may view it but not copy it

old depot
#

sues you: YOU STOLE MY 10 LINES OF CODE!

marble kelpBOT
#

companies have been sued for less ¯_(ツ)_/¯

tidal musk
#

otherwise you'll get DMCA'd :~)

old depot
#

there is no license on the file

strange brook
#

that means it's ARR by default

tidal musk
#

my name's on it, license is not there - conclusion, all rights reserved

#

;)

strange brook
#

^^

#

that's how copyright works

tidal musk
#

booya

marble kelpBOT
#

technically it doesn't even need the name, lol

strange brook
#

correct

#

works are protected by copyright simply by having been made

old depot
#

well, another user did the uuid = new UUID((long)buf.readInt() << 32 | (long)buf.readInt() & 0xFFFFFFFFL, (long)buf.readInt() << 32 | (long)buf.readInt() & 0xFFFFFFFFL).toString();

#

so you can't copywrite that

strange brook
#

that's not how copyright works either

old depot
#
        UUID theUUID = UUID.fromString(this.uuid);      
        long l = theUUID.getMostSignificantBits();
        long m = theUUID.getLeastSignificantBits();
        buf.writeInt((int)(l >> 32));
        buf.writeInt((int)l);
        buf.writeInt((int)(m >> 32))
        buf.writeInt((int)m);```
strange brook
#

the work is protected by copyright, not any particular line

old depot
#

this is 7 lines of code

#

it's too simple to copywrite

strange brook
#

An illegal number is a number that represents information which is illegal to possess, utter, propagate, or otherwise transmit in some legal jurisdiction. Any piece of digital information is representable as a number; consequently, if communicating a specific set of informatio...

old depot
#

do you think people could copywrite this:

var foo = bar
strange brook
#

this is like, 40 bytes of information

old depot
#

no...

tidal musk
#

yes they could

old depot
#

no they couldn't...

strange brook
#

snoopy m8

#

you literally have no clue how anything works

marble kelpBOT
#

it's literally copyrighted just because someone wrote it, mate

#

in this case, you

tidal musk
#

hmb while i'll also apply patents

#

lmao

#

actually not, probably will get beaten to death by somebody some day

strange brook
#

also i stand corrected, that's 16 bytes

#

not 40

old depot
#

alright, I'll rewrite it using it as a guideline

strange brook
#

lmao

old depot
#

then it won't be copywrited

marble kelpBOT
#

lmao "An AACS encryption key (09 F9 11 02 9D 74 E3 5B D8 41 56 C5 63 56 88 C0) that came to prominence in May 2007 is an example of a number claimed to be a secret, and whose publication or inappropriate possession is claimed to be illegal in the United States."

#

inb4 paper discord getting deleted for publishing an illegal number

tidal musk
#

yeet

old depot
#

there

#

I rewrote it

#

now I can use it

tidal musk
#

but do you also understand how that code works?

old depot
#

yeah

#

CMON

#
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[25,12] cannot find symbol
  symbol:   variable protocolVersion
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[27,20] cannot find symbol
  symbol:   class UUID
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[39,12] cannot find symbol
  symbol:   variable protocolVersion
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[41,9] cannot find symbol
  symbol:   class UUID
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[41,24] cannot find symbol
  symbol:   variable UUID
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[INFO] 5 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------```
tidal musk
#

you don't

old depot
#

this time I know what the problem is

#

I need to include ProtocolConstants.Direction direction, int protocolVersion in public void read and public void write

#

🙂

#

So I do, XD.

#

what...

#
[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[27,20] cannot find symbol
  symbol:   class UUID
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[41,9] cannot find symbol
  symbol:   class UUID
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[ERROR] /home/travis/build/hypercubemc-github/HyperFall/HyperFall-Proxy/protocol/src/main/java/net/md_5/bungee/protocol/packet/LoginSuccess.java:[41,24] cannot find symbol
  symbol:   variable UUID
  location: class net.md_5.bungee.protocol.packet.LoginSuccess
[INFO] 3 errors ```
#

I needed

import java.util.Arrays;
import java.util.UUID;
#

Finally it built!

old depot
#

Still doesn't work though 😐

#

Just updated packet ids.

#
[21:41:22 INFO]: [Justsnoopy30|/127.0.0.1:58906] <-> ServerConnector [snapshot] has connected
[21:41:22 INFO] [BungeeChat]: JOIN > snapshot > Justsnoopy30: Justsnoopy30 has joined the network!
[21:41:22 ERROR]: [/127.0.0.1:58906|Justsnoopy30] <-> DownstreamBridge <-> [snapshot] - encountered exception
net.md_5.bungee.protocol.BadPacketException: No more bytes reading varint
[21:41:22 INFO]: [Justsnoopy30] disconnected with: The server you were previously on went down, you have been connected to a fallback server
[21:41:22 INFO] [BungeeChat]: LEAVE > snapshot > Justsnoopy30: Justsnoopy30 has left the network!
[21:41:23 INFO]: [/127.0.0.1:58906|Justsnoopy30] -> UpstreamBridge has disconnected
[21:41:23 INFO]: [/127.0.0.1:58906|Justsnoopy30] <-> DownstreamBridge <-> [snapshot] has disconnected```
old depot
#

Don't know what that's about...

old depot
#

Anyone know what the problem is here?

#

net.md_5.bungee.protocol.BadPacketException: No more bytes reading varint

tidal musk
#

you're reading too much data

#

literally what the exception says

old depot
#

bruh

#

WHERE

#

there's no pointer to where it's happening

#

also

#

where are the ones that aren't in protocol.java?

reef fulcrum
#

Did you update the metadata handling?

old depot
#

wdym metadata handling?

#

I updated the uuid format in LoginSuccess

#

and I updated the packet ids (the ones that were there, not all of them were there) in Protocol.java

reef fulcrum
#

the entity metadata rewriting

old depot
#

oh

marble kelpBOT
#

now go update all the other stuff that needs updating

old depot
#

EntityMap?

marble kelpBOT
#

runs

strange brook
#

lol

old depot
#

entitymap?

reef fulcrum
#

yes

old depot
#

no...

#

now I have to do that

#

groans

marble kelpBOT
#

uh, so the arrow no longer contains the field for the shooter UUID thonk

old depot
#

yeah...

#

ohhh

#

the packets that weren't in Protocol.java are in the entitymap...

tidal musk
old depot
#

😐

#

A few weren't in the entity map

#

or protocol.java

#

Update Health

#

Set Experience

#

and Spawn Position

#

why?

marble kelpBOT
#

only packets that need to be rewritten are, well, rewritten

#

you'll need to figure out which ones that are

strange brook
#

🤦

#

this guy literally expects everything to be spelled out for him

old depot
#

oh

#

Updated entitymap the best I could

#

what else?

marble kelpBOT
#

make it work?

old depot
#

wdym?

#

there's no more changes to be made?

strange brook
#

you need to make whatever changes need to be made for it to work

reef fulcrum
#

if you fixed the protocol mappings and the entity metadata, i'd imagine it would work

#

We don't provide support for this type of stuff

#

it goes from "1 quick Q" to hand holding

marble kelpBOT
#

I mean if you think you are finished then congratz, it'll work now! :P

old depot
#

I am starting it to see...

#

Seriously?

#

Not working.

#

[10:03:58 INFO]: [Justsnoopy30] disconnected with: The server you were previously on went down, you have been connected to a fallback server

#

No error, no nothing.

marble kelpBOT
#

well then check out what went wrong?

old depot
#

I see the sun for a split second and then I'm kicked.

#

There's no error at all.

#

that is literally all it says.

marble kelpBOT
#

btw. I'm not sure how all this fits intot he help channel, lol

old depot
marble kelpBOT
#

if you don't know how to debug software then you should either learn that or stop trying

#

no idea, I'm not a mod ¯_(ツ)_/¯

old depot
#

but there's no error 👀

#

or log

marble kelpBOT
#

16:07:07 phoenix616| if you don't know how to debug software then you should either learn that or stop trying

old depot
#

I know how to debug software

#

but I don't know how to debug software when there's nothing to debug

marble kelpBOT
#

nah, you think you know it

#

which is wrong

#

at least set some breakpoints at the correct locations or put a packet filterer in between to see what data gets send that way

old depot
#

...

strange brook
#

wrong channel

#

dunno what the question is, but wrong channel

inner wagon
#

it wont let anyone join

nova lynx
#

uh.. pardon me if this is entirely the wrong place, but I'm looking for a way to have waterfall handle a max amount of players pr server its connected to, either natively or with a plugin. Anyone that can point me in the right direction pretty please? 🙂 Or if its better to have a max number on each server, and use essentialsx to allow admins to connect on top of that, becouse thats also a wanted feature.

cold gazelle
#

guys i downloaded the jar but i don't know what to write in the start.bat file

#

anyone helping me?

marble kelpBOT
#

just start it like bungee

cold gazelle
#

java -jar waterfall122.jar

#

is it correct?

marble kelpBOT
#

sure, you might want to set the max memory though

cold gazelle
#

it closes just after clicking

#

what should i do?

#

ok it worked

viscid atlas
#

.paste

marble kelpBOT
buoyant spindle
#

Help, whats going on?

tidal musk
#

turn off query

buoyant spindle
#

It's so simple?

hard mason
#

thanks in advance

marble kelpBOT
#

these look like two unrelated errors to me

#

ok, well, if your dns really times out then maybe it's related

#

fix your network I guess

hard mason
#

the datacenter checked nothing wrong with the dedicated itself

tropic atlas
#

In config.yml what's the difference with player_limit and max_players?

cold gazelle
#

guys what can i do in the waterfall.yml file?

tidal musk
cold gazelle
tidal musk
#

no u

silent quartz
#

Its The config

cold gazelle
#

and what can i config there?

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

you can configure those

cold gazelle
#

Yes, I understood that. But what they change?

reef fulcrum
#

leave it

#

if you don't know what stuff does, just no touchy

#

currently no docs as I've not had the time to redo them, but, most stuff in there is self explanitory or technical

high mason
#

Anyone know of a way to limit how many people can join my network per 10 sec? or some kind of queue so they don't join at the same time?

cold gazelle
#

i think there's a plugin for that

high mason
#

most queue plugins seem really bad :/

twin egret
#

Anyone ever come across a reasonable way to send commands to other servers under waterfall (1.15.2)? Ie. run command on server A and have it passed on to server B?

upbeat ember
#

redis

marble kelpBOT
#

lots of different way to do that in a plugin or even just a log reading script xD

twin egret
#

did a bot just.-.

#

also redis as in the database?

marble kelpBOT
#

redis offers both, a key value storage that can be used like a database as well as a pub-sub-messaging system

#

unless you already have redis running you'll want to just use a dedicated messaging system though

twin egret
#

am I understanding correctly that the process is essentially sending the command to an external db then somehow the other server knows to pull the command out and run it?

marble kelpBOT
#

no, you use a messaging system. continously checking a database would be wasted time and energy

twin egret
#

That's what I figured 😅 I think this is likely over my head currently! I assume there isn't anything more straight forward? Not against setting up a redis db but I'm mostly surprised there isn't something out there that just does this and nothing else (it seems like redisbungee does a bunch of other things?)

marble kelpBOT
#

I'm pretty sure there are tons of plugins already made with that goal using different methods

twin egret
#

Oh, is there something I should be looking for then? Everything I've found is either very old, sounds sketchy or is just more confused people asking the same question lol

marble kelpBOT
#

old doesn't mean non-working. the api didn't really change there

#

beyond that I can't really tell you what to look for. I tend to make these kind of plugins myself xD

twin egret
#

oh, that makes sense, I just assume everything changes every version ;-;

#

Really what I would love is a generic way to pass any command between servers. Started with wanting to be able to send rewards to a survival server from a pvp server, but would be nice to be able to handle announcements and other simple commands (without writing something custom for them all, you know?)

#

at any rate, thank you kind suspicious bot/human hybrid!!

marble kelpBOT
#

;)

#

it's an IRC bridge

tidal musk
#

no it's an ai

lime breach
#

Is a picture of a Minecraft waterfall the official logo for waterfall?

marble kelpBOT
lime breach
#

Is that a modified world? Can I have the seed otherwise because it's so cool

edgy snow
high mason
#

Started getting some issues on my server, probably not related to bungee but it's network related? 🤔
Basically every 10-20 min, the server will suddenly be unable to contact the database (hosted on another machine)
Coreprotect: java.net.ConnectException: Network is unreachable
Litebans: java.sql.SQLTransientConnectionException: litebans-pool - Connection is not available, request timed out after 30000ms.
Caused by: java.net.SocketTimeoutException: Read timed out

And it will freeze the server for a good amount of time, everyone gets kicked to lobby ofcourse and then it goes back to normal again.
I haven't changed anything with the database or firewall lately, just started happening

covert portal
#

So a long time ago I noticed that some configurations of Bungee/Waterfall + ViaVersion would make the player "instantly" join, without any other plugins.
But now Five made a proxy that support snapshots and the "bug" resurfaced, but this time with no Via on Bungee.
If anyone has any idea why this happens and if it could be integrated into actually Waterfall that would be nice:
https://posili.me/i/2020-03-21_11-55-16.webm

lime breach
#

who's 'Five'

covert portal
#

Five#0001.

#

He is also here. You can tag him if you want.
I'm sure he wouldn't mind after getting tagged like 30 times yesterday.

spiral plume
#

oh

#

please help

lime breach
#

you probably did some yaml syntax errors in your bungeecord config

spiral plume
#

tbh idk what half of those mean

#

please help

lime breach
#

send your entire config

tidal musk
#

listeners entry should start with a dash

#

so that it'd be a list entry

#

not map

spiral plume
#

what line

lime breach
#

yeah I noticed that's the error

tidal musk
#

  query_port: 11111 -> -  query_port: 11111

#

and it's fixed

spiral plume
lime breach
#

that has nothing to do with the config issues

spiral plume
#

my server is up

#

i made it offline

#

the ip is 127.0.0.1:25565

tidal musk
#

something is clearly wrong on your side, perhaps misconfiguration?

spiral plume
#

with the server?

lime breach
#

isn't the ip on port :11111?

tidal musk
#

yeah waterfall sits on :11111 lol

#

gj

spiral plume
#

wdym so it cant be that?

#

can it be 11112?

lime breach
#

... it seems like you haven't read any bungeecord documentation at all anyway

spiral plume
#

i have

#

i followed it

tidal musk
#

to use a proxy, you must always connect through it

spiral plume
#
lime breach
#

The query port is the one you'll join

#

not the backends port

spiral plume
#

yeah

#

im joining <my ip>:11111

tidal musk
#

wrong viper, it isn't configured by query port

lime breach
#

?

tidal musk
#

the address(es) where proxy will listen will be determined by listeners[n].host option

spiral plume
#

english?

lime breach
#

yeah my bad, they were the same anyway

spiral plume
#

i can send u my spigot server config as well idk what ive done wrong

lime breach
#

is the proxy on a VPS/Dedicated server?

spiral plume
#

im hosting it all locally

tidal musk
#

still seems like you've not gone through the documentation properly

#

idk, am off for now

spiral plume
#

please i need this up today

lime breach
#

lol

spiral plume
#

should proxy protocal be true

lime breach
#

its function is explained in the doc.

#

its not something you'd want to change usually

spiral plume
#

Description: This allows the server to support the HAProxy PROXY protocol. Most users shouldn't need to enable this

#

tf does that mean

tidal musk
#

heard of google?

#

do you use haproxy?

spiral plume
#

so the port that i connect to is query or host

tidal musk
#

host

spiral plume
#

so if its 0.0.0.0 looks at all ips

#

then whats the ip

lime breach
#

ehm

#

.g Non routable meta address

marble kelpBOT
#

(DiscordBot) https://en.wikipedia.org/wiki/0.0.0.0 -- 0.0.0.0 - Wikipedia: "In the Internet Protocol Version 4, the address 0.0.0.0 is a non-routable meta-address used to designate an invalid, unknown or non-applicable target."

In the Internet Protocol Version 4, the address 0.0.0.0 is a non-routable meta-address used to designate an invalid, unknown or non-applicable target. This address is assigned specific meanings in a number of contexts, such as on clients or on servers.

spiral plume
#

so there is no ip

#

its unknown

#

or does that mean any ip can join

lime breach
#

are people trying to access your localhost proxy from outside ?

spiral plume
#

i want other people from other countries to be able to connect

lime breach
#

not a good idea, anyway you might want to configure your router's firewall

spiral plume
#

ive port forwarded 11111 as well tcp/udp

#

and im connecting to <my ip>:11111

lime breach
#

are you connecting from the same machine the server is hosted on?

spiral plume
#

yes for testing

lime breach
#

lol then use local addreess

spiral plume
#

it says logging in

#

but its not

lime breach
#

Im sorry I have to go now,

spiral plume
#

last thing does it automatically go to lobby server

#

@tidal musk

lime breach
#

do not ping dude...

spiral plume
#

sorry

#

didnt know

lime breach
#

you can literally setup join priorities from the config

spiral plume
#

ye it goes to lobby

#

so why the hell is it not logging in

#

[12:20:59 WARN]: Forced host server pvp is not defined

#

AAAAAAAAAH

#

this frustrates me

#

its just LOGGING IN

#

can ANYONE

#

help me

tidal musk
#

you're not entitled to help

#

if you need quick help then put up a request on spigot forums and for some money someone might configure everything for you over idk teamviewer or something

lime breach
#

where did you get that emoji mikroskeem

spiral plume
#

its logging in but nothing on console

reef fulcrum
#

if there is nothing in the proxy logs, you're not connecting to the proxy

#

either that or you're having issues with your firewall setup, etc

spiral plume
#

how do i connect the proxy

reef fulcrum
#

connect to the proxies IP/port like you'd connect to any other server

spiral plume
#

i am

#

host: 0.0.0.0:11111 query port: 11111 address: 127.0.0.1:25565

#

and on the spigot the ip = 127.0.0.1 and port is 25565

reef fulcrum
#

if you're connecting to the :11111 address in your client, god knows

#

that falls into network setup issues

spiral plume
#

surely not as im connecting to 127.0.0.1:11111

#

so it cant be firewall

#

what's the next step

reef fulcrum
#

god knows

#

your machine, you need to debug wtf is going on

spiral plume
#

want my config?

reef fulcrum
#

no, nothing to do with your config

spiral plume
#

idk wtf is wrong

#

you think its the server its connecting to?

reef fulcrum
#

This is basically not a waterfall issue at this point

#

best advice would be maybe check the client logs

spiral plume
#

ill try another client

#

instantly

#

also it doesnt ping either

#

is that like AV firewall?

#

i disabled it and now it just goes back to disconeccted again

lime breach
#

I didn't have any issue when self hosting from a small dedi I had at home running Kubuntu, pretty sure this is not a waterfall issue

spiral plume
#

im in windows

#

is it defender firewall

lime breach
spiral plume
#

nope not that eaither

lime breach
#

The firewall should not matter if you're making local connection from the same machine

spiral plume
#

ill just try restart my pc

#

nope

#

anyone want to ss me this is really annoying now

#

do i need a host server?

#

[13:24:02 WARN]: Forced host server pvp is not defined

reef fulcrum
#

that's not an issue

spiral plume
#

i cant see any issue. no errors ts so ANNOYING

reef fulcrum
#

your issue is basically outside of the realms of this channel

#

We can't provide support for broken network setups, etc

spiral plume
#
forced_hosts:
    pvp.md-5.net: pvp
#

what does that mean

reef fulcrum
#

I've also told you to check your client logs, which you've seemingly not done, so 🤷‍♂️

cinder marsh
#

Hello I will pay $ 5 for waterfall correction

reef fulcrum
#

read the bungeecord config page

#

This is not the place to hire people

#

if you have a question, etc, just ask it

cinder marsh
#

I'm interested in waterfall with good anticrash

reef fulcrum
#

There are apparently forks which bodge/fix a few issues, can't vouche for them as they're all closed source BS, but 🤷‍♂️

spiral plume
#

zzzCat

#

can u ss me

reef fulcrum
#

No

spiral plume
#

there is nothing in my client log

#
2020/03/21 13:39:54:233 Update for version 2.12.0 is not available (latest version: 2.12.0, downgrade is disallowed).
2020/03/21 13:39:54:235 autoUpdater update-not-available received, sending update-not-available to active window.
2020/03/21 13:39:54:237 update-not-available sent to active window.
reef fulcrum
#

Doesn't look like a client log in any capacity

cinder marsh
#

Hello I will pay $ 5 for waterfall correction fix anticrash and so on

reef fulcrum
#

If you think $5 even begins to compensate the amount of time needed to fix and test app that, you're sorely mistaken

cold notch
#

Cat but 5$ is 5$

spiral plume
#

this is so stupid

#

there is nothing on the logs

#

FOUND

#

logs

#
[13:43:04] [Client thread/INFO]: Connecting to 127.0.0.1, 11111
[13:43:04] [Client thread/INFO]: Vanilla configuration was normalized!
[13:43:04] [Client thread/INFO]: Connecting to 127.0.0.1, 11111
[13:43:04] [Client thread/INFO]: Connecting to 127.0.0.1, 11111
[13:43:04] [Client thread/INFO]: Connecting to 127.0.0.1, 11111
[13:43:05] [Client thread/INFO]: Connecting to 127.0.0.1, 11111
#
[13:43:05] [Client thread/INFO]: Worker done, connecting to 127.0.0.1, 11111
#
[13:40:20] [Client thread/ERROR]: Can't ping 127.0.0.1:11111: Disconnected
[13:41:15] [Client thread/INFO]: -- Start Memory Debug --Interval: 1584798075558
[13:41:15] [Client thread/INFO]: Max: 6308233216 (6308.233216MB)
[13:41:15] [Client thread/INFO]: Total: 570425344 (570.425344MB)
[13:41:15] [Client thread/INFO]: Free: 314004208 (314.004208MB)
[13:41:15] [Client thread/INFO]: -- End Memory Debug --Interval: 1584798075558
[13:42:15] [Client thread/INFO]: -- Start Memory Debug --Interval: 1584798135591
[13:42:15] [Client thread/INFO]: Max: 6308233216 (6308.233216MB)
[13:42:15] [Client thread/INFO]: Total: 570425344 (570.425344MB)
[13:42:15] [Client thread/INFO]: Free: 347607296 (347.607296MB)
[13:42:15] [Client thread/INFO]: -- End Memory Debug --Interval: 1584798135591
#

@reef fulcrum

reef fulcrum
#

don't ping me

#

I have no idea

cinder marsh
#

@reef fulcrum

strange brook
#

.rekt

marble kelpBOT
#

☑ The Rekt Prince of Bel-Air

tidal musk
#

[2:57 PM] TheViperShow: where did you get that emoji mikroskeem

#

there's some site for discord emotes

lime breach
#

really?

rose kite
#

Are you welcome to help me out at the waterfall?

tidal musk
#

.ask

marble kelpBOT
#

If you have a question, please just ask it. Don't look for staff or topic experts. Don't ask to ask or ask if people are awake or available. Just ask the question to the channel straight out, and wait patiently for a reply.

spiral plume
#

fix ur waterfalls

#

used hexacord and everything worked fine

rose kite
#

Yes but there are 100 200 players running on my server and everyone preferred waterfall

spiral plume
#

on my server

#

waterfall just straight up refused to work

#

just look up in the chat

rose kite
#

My server is running 100-200 and I'm wondering what protection it needs from the waterfall

marble kelpBOT
#

I suggest not going too near to it otherwise you risk falling down and hurting yourself

rose kite
#

I need a waterfall anticrash

marble kelpBOT
#

find out what crashes it then remove that

rose kite
#

My server crash is something with the client

tidal musk
#

[4:48 PM] isXander: fix ur waterfalls

#

5 bucks on "pebkac" scenario

serene tide
#

Don't ping contributors please.

rose kite
#

I just need the waterfall best anticrash

tidal musk
#

someone pinged and now i'll never know what i was pinged for

#

great

#

how am i supposed to know what "anticrash" solution you need?

#

telling people here that some kid is crashing your network says literally nothing

#

it's not like there's only one way to overload a proxy, am i right?

rose kite
#

But I was told you need an anticrash

tidal musk
#

what is an anticrash even?

#

what do you expect it to do?

#

magically solve your problem?

rose kite
#

One player came to my server with some client and told me now I will write .crash and shut down the server to write .crash and server shut down Is there any solution to fix this?

lime breach
#

lol

marble kelpBOT
#

without knowing what he did, no. you'll have to provide more information than that

rose kite
#

My server plays 100-200 players daily and I need the best anticrash waterfall

tidal musk
#

.g best anticrash waterfall

#

eurgh

#

no

#

fuck

marble kelpBOT
#

advertising copyright violation

#

mfw

tidal musk
#

mooooods

marble kelpBOT
rose kite
#

aegis? It's complete garbage

marble kelpBOT
#

of course, it's on mc-market

lime breach
#

what kinda of crash are you experiencing lol?

#

you literally didn't give one single info , or stacktrace

rose kite
#

But for 100 players the server is tagged on the aegis system

tidal musk
#

no info only help

#

!!1!1

rose kite
#

There are some clients that call my server and I need watefall anticrash

lime breach
#

Still no details sorry, clients crashing a whole proxy is vague

marble kelpBOT
#

?paste your crash log

rose kite
#

So my server is being attacked with big packages How do I reduce these packages?

lime breach
#

you install an anticheat / packet exploit fixer or something?

#

if that's the case

rose kite
marble kelpBOT
#

that's not an error

#

you'll need to provide an actual stack trace

#

and ideally the contents of such a packet

lime breach
#

BYHH are you using Spigot on lobby / game servers?

#

I remember that being an issue on some spigot builds

rose kite
#

I would like to stop the fast packages coming in

#

thevipershow yes but 1 server lobby spigot but skywars skyblock paper

lime breach
#

Do you guys reccomend Java 8 or 13 for a Proxy Waterfall server?

#

(if it does change anything at all)

marble kelpBOT
#

afaik java 13 has better performance overall

lime breach
#

Ok thank you

marble kelpBOT
#

I run everything on it right now but hard to compare things like that xD

lime breach
#

OK i'll tell you if I notice any performance improvement on my VPS

lime breach
#

Mhh not really , I tried it on my VPS running FreeBSD 12.1 and didn't notice many changes.
It's still nicer to have a more recent Java version anyway

olive needle
#

Hello, I'm having an issue. I set up a waterfall network today morning and since then I have users experiencing high ping on only one end of the server.

#

Let's say I have a lobby server and a survival server, each one on a different PC on the same network. Their IPs would be:

Hub server: 192.168.0.10 (Here is where Waterfall would be running)

Survival Server: 192.168.0.8

strange brook
#

those are the same ip tho

olive needle
#

Edited I have autism

#

Thing is, back in the day they would connect directly to my 0.8 IP through the 25565 port, but now that port is running on the .10 address, for waterfall to work

#

However players on the survival (.8 server) are experiencing lag issues when most of them didn't. I am pretty new to this waterfall thing, so I'm pretty much clueless on what to do

#

Both computers are connected to the same switch

lime breach
#

mh I understand

#

so they have high ping?

olive needle
#

Exactly. On some cases chunks won't load for a couple.

lime breach
#

ok so you have a proxy machine, and the "game" servers are attached to it via an etherne cable, so we're assuming there's no delay between them ? Correct me if i didn't understand correctly

olive needle
#

There's just two machines

#

One host the proxy server AND the hub

#

The other hosts the survival server

olive needle
#

Update: I have specific users that can't even join the survival game server

lime breach
#

Mhh are you sure that the machines are communicating correctly between each other?

olive needle
#

yes. I am inside the same network as the machines, and I've got zero ping. I've also got a couple of users with absolutely no issues (I believe)

#

It's just a couple of users

#

I have a question. What is the purpose of the IP-forward section of the config? Is there a way in which I can handle everything WITHOUT the IP forward?

tidal musk
#

explain

#

what config?

olive needle
#

On bungecoord's config

#

There's an ip-forward true

#

or false, whatever you set it to. I have the belief that I'm putting a lot of load on the proxy by allowing the IP forward to happen

#

Well, more than the proxy, my network.

#

Could it be a possibility?

tidal musk
#

tldr version of the chat above: you're experiencing a lag

#

and you

#

you're thinking that ip-forward is the cause?

#

nah

#

ip-forwarding option passes extra and perhaps even useful data to backend server

#

such as player's actual ip address and their profile (skin data)

#

it's done once and using handshake packet

bleak nymph
#

I couldn't get the server to work Its said Bind port or something

#

Wait nvm

#

I found the problem

#

;P

median wave
#

i provided 1 port for test server

#

i tried /server test

#

it reconnected me to lobby

#

why

high mason
#

Are there any good flags for waterfall? or can I use the same I use for paper?

lime breach
#

They don't matter

#

but for sure you can use them

high mason
#

ah, alright :p

lime breach
#

I just use java13 -Xmx3G -Xms3G -XX:+UseG1GC -Xloggc:C:\gclogs\proxy.log -verbose:gc -XX:+PrintGCDateStamps -jar proxy.jar

#

having GC logs is a personal preference, and is not required

mortal knot
#

is it possible to have chance of lighting bolt in clear weather ?

#

and what can cause it with out cheating ?

lime breach
mortal knot
#

ops sory

soft forge
#

Hello, i switched from spigot to paper. Every time i try to start the server, i get a timeout error message: "Failed to download vanilla jar"

#

It seems that some servers went down ... now it works

tidal musk
#

someone should fix this channel's header

#

or topic, rather

#

vs paper-help's

lime breach
#

o k

tidal musk
tidal musk
#

no

#

that ping wasn't nice of you either :/

dusty marlin
#

Hello, We have just set up a Bungee lobby and I was wondering what the preferred method for creating a portal to one of our other servers? Thanks in advance.

delicate charm
#

great question. I have the same question.

marble kelpBOT
#

if you manually implement support for it, sure

#

(which includes mapping all packets and stuff)

#

there are forks of travertine around on github that try to do that afaik

#

or maybe watefall forks, no idea

#

I bet multiple people tried adding that

edgy snow
high mason
#

will greload let me change the ip of a server in waterfalls config.yml?
I know I shouldn't use it, but it's a one time thing

tidal musk
#

no it won't

reef fulcrum
#

That's the ping passthrough

#

If you want a global player count, you need that disabled

vast tundra
#

is this also a drop-and-replace for bungeecord?

#

evidently not because it gets stuck(?) on [15:49:43 INFO]: Enabled plugin cmd_send version git:cmd_send:1.15-SNAPSHOT:87d2873:326 by WaterfallMC

#

ruh roh now even bungee wont load

#

nvm it worked after about 2 mins

#

actually it was a plugin, not even waterfall, disregard

#

probably the firewall

mighty cloud
#

hi its possible crash waterfall with netty exploits?

#

im getting attacks with proxies ping and the proxy seems crash

lime breach
#

you're getting botted?

tidal musk
#

netty exploits?

#

are there RCEs, buffer overflows or other stuff around for recent netty versions now?

delicate charm
#

I am in the process of setting up 4 servers with waterfall and ,...so far... it's working. However, there are some errors in the console. Since I'm new to Waterfall I'm not sure if I should be concerned about these errors. These errors don't seem to have any impact on the players connecting and getting to the other servers. I found a couple links talking about this error, but the conversation wasn't very helpful. So, posting here.
Waterfall Server Errors:
https://pastebin.com/raw/HxxtSeN1

.... [06:52:07 ERROR]: [/18.217.66.164:56577] <-> InitialHandler -
encountered exception: net.md_5.bungee.util.QuietException:
Unexpected packet received during login process! 01005032

#

It's the Waterfall Server Console.

mighty cloud
#

i have my server down since 2 days

#

i am receibing around 10 or 20k connections for second

#

i think that are proxies

#

the thing is each connection send empty packets and crash the bungeecord

#

anyone cant connect and the server no respond to the ping

#

the proxy ips are infinites i think

#

it was day and night since 2 days

high mason
#

.firewall

#

Anyone have a link to setting up firewall so I don't have to use IpWhitelist? Think I did it wrong cause now I can't even connect to my bungee.

lime breach
#

@high mason yes

#

.g UFW Firewall

marble kelpBOT
#

(DiscordBot) https://help.ubuntu.com/community/UFW -- UFW - Community Help Wiki: "For an introduction to firewalls, please see Firewall. UFW - Uncomplicated Firewall. The default firewall ..."

high mason
#

Ended up figuring it out, but thanks 🙂

mighty cloud
#

im using firewall from ovh network and ubuntu firewall with ufw system to protect the trafic input and outup

#

the thing is that are massive connections from different ips sendind empty packets that overload my network and anyone cannot connect

#

its impossible to blacklist ips because are 50k every second

marble kelpBOT
#

start dopping the IPs in your firewall, seeing as it has been going on for 2days now I doubt that they haven't had tons of repeats by now

mighty cloud
#

in the firewall i only setup open 25565 with ratelimit to 10 connections every second

#

but are proxyes and this setup do nothing

marble kelpBOT
#

(the more difficult solution would be to put some kind of packet filtering proxy in front which drops connectiosn sending that packet directly without having your bungee/mc server being influenced by the filtering)

mighty cloud
#

i dont have any way to filter packets by size, ovh dont offers me filter packeting by size and anyway in the configuration only offers that control traffic redistrubited by their net

marble kelpBOT
#

I mean if you had such a thing setup you wouldn't have the problem xD

mighty cloud
#

i have been set up to 50 or more iptables to drop connections but also do nothing the massive ping is broken the player connection

reef fulcrum
#

any piece of software can only handle so many connections opening

#

either you look into tryna use the firewall, or look into other mitigation options, e.g. mitigation services such as tcpshield or load balancing, or you close the server 🤷‍♂️

#

welcome to the joys of running a server

marble kelpBOT
#

also just so you know: depending on your jurisdiction ddosing a server might be a crime so if you have and indication on who is doing that contact your police's cyber crime department

#

*any indication

tidal musk
#

java -Xms512M -Xmx512M -jar waterfall-326.jar nogui

#

this script it's ok?

prisma whale
#

It's --nogui, and you don't need it for waterfall

marble kelpBOT
#

nogui works without the -- iirc

#

(for the minecraft server)

lime breach
#

Do you think one day Mojang will allow for IPv6 connections?

marble kelpBOT
#

I'm pretty sure they do

tidal musk
#

they allow ipv6 connections

#

but they disable ipv6 AAAA record resolving

#

since ipv6 is more broken than you can expect

#

ending up with 30-60sec connection delays because how broken dns/gateway is in some places

unreal coral
#

what is this?

reef fulcrum
#

looks like something mangled the chat component in a kick packet

unreal coral
#

happens when a player floods quickly and is kicked for flood

#

nocheatplus

tidal musk
#

ii there documentation for how to set up waterfall?

#

or do i just follow bungeecord documentation

lime breach
#

basically yes

twin egret
#

anyone have any docs for setting up bungee/waterfall where not all servers are on the same machine? I'm just about ready to add a second machine to my little network but can't seem to find anything 😅

tidal musk
#

the server IPs in the config are just the IPs of the external servers, and if they arent on the same machine then make sure to use something like bungeeguard to prevent access to your backend servers @twin egret https://github.com/lucko/BungeeGuard

twin egret
#

is there anything on the networking side I should consider to keep things locked down though? I'm already using bungeeguard but that seems too easy! lol

tidal musk
#

bungeeguard is the networking protection, assuming you cant firewall the ports because its not on the same machine

twin egret
#

alright, I'll give it a shot, thank you!

severe atlas
#

@twin egret or use wireguard to setup secure vpn between your servers

strange brook
#

or just use a proper firewall

#

vpn is a bit overkill

twin egret
#

a vpn seems like a lot

#

oops!

strange brook
#

unless you're really paranoid about traffic getting sniffed or something

#

you're trying to prevent external traffic, not encrypt everything between your servers

twin egret
#

mostly just worried about the standard issues for a waterfall network, nothing too intense (yet, I hope)!

severe atlas
#

I have a question regarding waterfall. I'd like to fully understand what it does, how to implement plugin for it and for example how to setup servers in way that I connect only to "lobby server" there I need to login and on other servers I'd already be loggen in. Another issue is that if I'd join to "lobby server" and switch server I'm brand new player on that server and is not aware that I logged into "lobby" I'd like lobby server to be only entrypoint. So I'd been thinking abount solution to my login problem and got that: If there is any method to intercept incomming (direct connect/ connecting by server list) connection to waterfall (not between respective servers) then tp player to lobby server where player will be forced to login. And that other problem I dont have any idea. Sorry for my bad english. Generaly speaking I'd like to learn whole waterfall flow and stuff

prisma whale
#

Waterfall is a proxy, it what players connect to when they want to connect to your paper/vanilla/spigot, etc, minecraft servers. The config files allow you to specify which server people connect to

severe atlas
#

Thanks, can someone @here give opinion aboout my idea to resolve issue with login

strange brook
#

can you not try to ping like that

#

like, luckily it's disabled but holy shit pepega

severe atlas
#

Sorry

#

I have another issue, I know that probably is somewhere there but I ask. When I'm reconnecting to server, every time I am a new player and get kit, welcome message and all that stuff

#

Do I need to iptable something

#

Or config?

shrewd shard
#

Hello guys, i'm having an issue with waterfall, when we are connected, on the same forge server VIA the proxy waterfall, we don't see each other (players being invisible). Is it a known issue, a config thing ? Thinkfused

plush delta
#

Hey, stupid question: is there any sort of documentation/install guide on how to set up waterfall? do I just follow the bungee guide but use a different jar?

plush delta
#

ok, figured that out. now is there a way to make all of this (2 servers + waterfall) start when my computer starts up?

marble kelpBOT
#

use whatever autostart functionality your OS offers?

plush delta
#

bungee recommended using screen so I could still access the server console

#

do y'all prefer that or RCON

marble kelpBOT
#

I doubt anyone uses rcon

plush delta
#

so screen? or something else im missing

reef fulcrum
#

rcon works, but it's not really suitable for actual administation, more automation/running the odd command here and there

marble kelpBOT
#

most probably use screen or tmux

#

(if they don't use some other kind of administration/management tool like a web panel or something)

reef fulcrum
#

one day I'll get autostart working

#

My current trick is that I just literally never restart

marble kelpBOT
#

I only restart if I a) crash linux or b) move to a different server xD

#

so yeah, I don't auto start anything either, lol

tidal musk
#

i had bunch of scripts to pull up tmux from systemd service

#

which started a server

reef fulcrum
#

Oh, look at mr sysadmin whos got his shit together

#

fuck off making us feel bad

tidal musk
#

yeah am gud sysadmin

#

compiling new xanmod kernel for nixos as we speak

zinc sapphire
#

sounds more evil scientist to me

tidal musk
#

new release 1h ago dancingblob

reef fulcrum
#

god, I remember compiling cyanogenmod for my phone

tidal musk
#

yikes >compiling android

reef fulcrum
#

nightlies where basically dead, but, it ran, kinda

#

did end up having to pull in some patches manually which was fun

tidal musk
#

also speaking of sysadminning

#

i made a schema in dhall for one json configuration

#

just to ensure shit is safe

#

and have sane defaults

#

ebin

#

so basically i have git repo full of configs for every process ever i need to manage, values not present are coming from schema 👌

tribal tide
#

I currently have a server setup with SpongeForge and Waterfall. I'm having an issue where projectiles (splash potions, snowballs, etc) can hit players in spectator. Anyone know a fix to this?

marble kelpBOT
#

I doubt it has anything to do with waterfall