Skip to content
This repository has been archived by the owner on Apr 25, 2019. It is now read-only.
forked from yesdog/Waterdog

Distribution for WaterLand, a LibertyLand fork of Waterdog

License

Notifications You must be signed in to change notification settings

LibertyLand/WaterLand-Legacy

 
 

Repository files navigation

Waterdog Build Status Known Vulnerabilities

Waterdog is fork of the well-know Waterfall, which is a fork of the well-known BungeeCord server teleportation suite.

Waterdog provides native support for the Minecraft Bedrock protocols along with the existing java protocols. It is capable of using the ProtocolSupport PE encapsulation protocol over TCP, or it can use the native RakNet Bedrock protocol for traditional downstream Bedrock servers such as Nukkit, Pocketmine, MiNET, and others.

Waterfall focuses on three main areas:

  • Stability: Waterfall aims to be stable. We will achieve this through making the code base testable and discouraging practices that lead to proxy lag.
  • Features: Waterfall aims to include more features than canonical BungeeCord.
  • Scalability: Waterfall should be able to handle a large number of concurrent players, given a reasonably modern CPU, memory, and good network connection.

Why fork BungeeCord?

Think of Waterfall as a principles fork.

Waterfall was forked because of the fact that upstream does not accept many contributions that are intended to better the ecosystem. Simply put, Waterfall aims to better the ecosystem by allowing changes to be exposed to a wider audience more quickly.

Waterfall will still track upstream BungeeCord and merge changes as needed.

Why fork Waterfall?

This is a pretty crazy addition to waterfall.

How To and Downloads (Server Admins)

Build history can be found at CodeMC. Latest jar can be downloaded directly from here.

Waterfall requires Java 8 or above.

To enable the Bedrock protocol, you need to create a new listener in config.yml and set the raknet field to true. Each listener can only support Bedrock or Java, but you should be able to add any combination you want. For downstream servers, you will need to set raknet to true if using a native Bedrock server. If the server is using ProtocolSupport for Bedrock, you can leave this field false and Bedrock connections will run over TCP using the ProtocolSupport encapsulation protocol.

The servers also have a new transfer_group config option. This option is used to determine if the server mechanic will use the Bedrock 'Server Transfer' packet, or if it will use the traditional dimension switch and entity rewriting mechanics of BungeeCord. This can be useful if you have servers that use different resouce packs or may operate with a different block ID palette. If a user transfers from a server of one group to a server of a different group, it will use the Server Transfer method.

How To (Compiling From Source)

To compile Waterfall, you need JDK8, git, bash, maven, and an internet connection.

Clone this repo, run ./waterfall b from bash, get jar from Waterfall-Proxy/bootstrap/target/

Gotchas

  • Synapse support coming soon.
  • PocketMine will randomize palette IDs on start, making server transfer break. You can get around this by using the Synapse support in the future, or can use this plugin for PocketMine to disable the randomization.

Join us

Special Thanks To

YourKit-Logo

YourKit, makers of the outstanding Java profiler, supports open source projects of all kinds with their full-featured Java and .NET application profilers. We thank them for granting Waterfall an OSS license so that we can make our software the best it can be.

About

Distribution for WaterLand, a LibertyLand fork of Waterdog

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Shell 100.0%