Skip to content

Waterfall fork that keep update with BungeeCord.

License

Notifications You must be signed in to change notification settings

MrXiaoM/Waterflow

 
 

Repository files navigation

Waterfall

Caution

This project has reached end of life by PaperMC and is no longer maintained.
The repository will updated with BungeeCord upstream as new as I can keep. There are many waterfall plugins we can't migrate to Velocity very smoothly. It is necessary to update waterfall. PaperMC Community is arrogant, they mark everything they don't like to deprecated as they can.

Waterfall is a fork of the well-known BungeeCord server teleportation suite.

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.

How to update from upstream (BungeeCord)?

sh ./scripts/updateFromUpstream.sh
sh ./scripts/applyPatches.sh

and then you should cd into Waterfall-Proxy folder, resolve the conflicts, git add ., git am --continue, balabala...

Try mvn clean install to build, if everything done, just

sh ./scripts/rebuildPatches.sh
sh ./scripts/upstreamCommit.sh

How To (Server Admins)

Download a copy of Waterfall.jar from our homepage here: Waterfall

Waterfall requires Java 8 or above.

How To (Plugin Developers)


<repository>
    <id>papermc</id>
    <url>https://repo.papermc.io/repository/maven-public/</url>
</repository>
  • Artifact information:
<dependency>
    <groupId>io.github.waterfallmc</groupId>
    <artifactId>waterfall-api</artifactId>
    <version>1.20-R0.3-SNAPSHOT</version>
    <scope>provided</scope>
</dependency>

Or alternatively, with Gradle:

  • Repository:
repositories {
    maven {
        url 'https://repo.papermc.io/repository/maven-public/'
    }
}
  • Artifact:
dependencies {
    compileOnly 'io.github.waterfallmc:waterfall-api:1.20-R0.3-SNAPSHOT'
}

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/

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

Waterfall fork that keep update with BungeeCord.

Resources

License

Stars

Watchers

Forks

Languages

  • Shell 100.0%