|
1 | | -Waterfall |
2 | | -========= |
| 1 | +# ArkFlame Waterfall |
3 | 2 |
|
4 | | -> [!CAUTION] |
5 | | -> This project has reached end of life and is no longer maintained. |
6 | | -> We recommend you transition to [Velocity](https://papermc.io/software/velocity). For more information, see the [announcement](https://forums.papermc.io/threads/1088/). |
| 3 | +ArkFlame Waterfall is an actively maintained fork of the well-known Waterfall server teleportation suite, itself a fork of BungeeCord. Led by Juan Cruz Linsalata (LinsaFTW) and developed by the ArkFlame Development team—the creators of the widely adopted FlameCord with over 10,000 downloads and 200,000 views—this project extends the end-of-life (EOL) support for Waterfall. We provide this open-source software free to the Minecraft server community, using Waterfall as the foundation for our high-performance FlameCord software. |
7 | 4 |
|
8 | | -Waterfall is a fork of the well-known [BungeeCord](https://github.com/SpigotMC/BungeeCord) server teleportation suite. |
| 5 | +## Key Focus Areas |
| 6 | +ArkFlame Waterfall emphasizes three core principles: |
| 7 | +- **Stability**: Ensuring a robust and testable codebase to minimize proxy lag and enhance reliability. |
| 8 | +- **Features**: Extending Waterfall with additional features beyond the original BungeeCord, tailored to community needs. |
| 9 | +- **Scalability**: Supporting large numbers of concurrent players with optimized performance on modern hardware and networks. |
9 | 10 |
|
10 | | -Waterfall focuses on three main areas: |
| 11 | +## Why Fork Waterfall? |
| 12 | +ArkFlame Waterfall is a principles-driven fork aimed at sustaining and enhancing the Waterfall ecosystem. While the upstream Waterfall project has reached EOL and recommends transitioning to Velocity, ArkFlame Development continues to maintain and update this fork to serve users who rely on Waterfall's proven architecture. Unlike other projects adopting Gradle, we remain committed to Maven for its reliability and performance in our development pipeline. |
11 | 13 |
|
12 | | -- **Stability**: Waterfall aims to be stable. We will achieve this through making the code base testable and discouraging practices that lead to proxy lag. |
13 | | -- **Features**: Waterfall aims to include more features than canonical BungeeCord. |
14 | | -- **Scalability**: Waterfall should be able to handle a large number of concurrent players, given a reasonably modern CPU, memory, and good network connection. |
15 | | - |
16 | | -## Why fork BungeeCord? |
17 | | - |
18 | | -Think of Waterfall as a principles fork. |
19 | | - |
20 | | -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 |
21 | | -the ecosystem by allowing changes to be exposed to a wider audience more quickly. |
22 | | - |
23 | | -Waterfall will still track upstream BungeeCord and merge changes as needed. |
| 14 | +Our mission is to deliver a stable, feature-rich, and scalable proxy solution, incorporating community feedback and contributions to better serve the Minecraft server ecosystem. |
24 | 15 |
|
25 | 16 | ## How To (Server Admins) |
| 17 | +1. Download the latest `Waterfall.jar` from our homepage: [ArkFlame Waterfall](https://arkflame.dev/waterfall). |
| 18 | +2. Ensure your server runs **Java 8 or above**. |
| 19 | +3. Configure and run the proxy as you would with standard Waterfall or BungeeCord setups. |
26 | 20 |
|
27 | | -Download a copy of Waterfall.jar from our homepage here: [Waterfall](https://papermc.io/downloads/waterfall) |
28 | | - |
29 | | -Waterfall requires **Java 8** or above. |
30 | | - |
31 | | -## How To (Plugin Developers) |
32 | | ------- |
33 | | - * See our API patches [here](BungeeCord-Patches) |
34 | | - * Waterfall API JavaDocs here: [papermc.io/javadocs](https://jd.papermc.io/waterfall/1.20) |
35 | | - * Maven repository (for `waterfall-api`): |
| 21 | +### Maven Repository |
36 | 22 | ```xml |
37 | 23 | <repository> |
38 | 24 | <id>papermc</id> |
39 | 25 | <url>https://repo.papermc.io/repository/maven-public/</url> |
40 | 26 | </repository> |
41 | 27 | ``` |
42 | | - * Artifact information: |
| 28 | + |
| 29 | +### Maven Dependency |
43 | 30 | ```xml |
44 | 31 | <dependency> |
45 | 32 | <groupId>io.github.waterfallmc</groupId> |
46 | 33 | <artifactId>waterfall-api</artifactId> |
47 | 34 | <version>1.21-R0.3-SNAPSHOT</version> |
48 | 35 | <scope>provided</scope> |
49 | 36 | </dependency> |
50 | | - ``` |
51 | | - |
52 | | -**Or alternatively, with Gradle:** |
| 37 | +``` |
53 | 38 |
|
54 | | - * Repository: |
| 39 | +### Gradle Repository |
55 | 40 | ```groovy |
56 | 41 | repositories { |
57 | 42 | maven { |
58 | 43 | url 'https://repo.papermc.io/repository/maven-public/' |
59 | 44 | } |
60 | 45 | } |
61 | 46 | ``` |
62 | | - * Artifact: |
| 47 | + |
| 48 | +### Gradle Dependency |
63 | 49 | ```groovy |
64 | 50 | dependencies { |
65 | 51 | compileOnly 'io.github.waterfallmc:waterfall-api:1.21-R0.3-SNAPSHOT' |
66 | 52 | } |
67 | 53 | ``` |
68 | 54 |
|
69 | 55 | ## How To (Compiling From Source) |
70 | | - |
71 | | -To compile Waterfall, you need JDK8, git, bash, maven, and an internet connection. |
72 | | - |
73 | | -Clone this repo, run `./waterfall b` from *bash*, get jar from Waterfall-Proxy/bootstrap/target/ |
74 | | - |
75 | | -## Join us |
76 | | - |
77 | | -* Feel free to open a PR! We accept contributions. |
78 | | -* Join us on [Discord](https://discord.gg/papermc). |
79 | | -* Visit our forums (https://forums.papermc.io/). |
80 | | - |
81 | | -## Special Thanks To |
82 | | - |
83 | | - |
84 | | - |
85 | | -[YourKit](https://yourkit.com/), makers of the outstanding Java profiler, supports open source projects of all kinds with their full-featured [Java](https://yourkit.com/features/) and [.NET](https://yourkit.com/dotnet/features/) application profilers. We thank them for granting Waterfall an OSS license so that we can make our software the best it can be. |
| 56 | +To compile ArkFlame Waterfall, you need: |
| 57 | +- **JDK 8** |
| 58 | +- **git** |
| 59 | +- **bash** |
| 60 | +- **Maven** |
| 61 | +- An active internet connection |
| 62 | + |
| 63 | +Steps: |
| 64 | +1. Clone the repository: `git clone https://github.com/arkflame/waterfall.git`. |
| 65 | +2. Navigate to the repository and run `./waterfall b` in a bash terminal. |
| 66 | +3. Find the compiled jar in `Waterfall-Proxy/bootstrap/target/`. |
| 67 | + |
| 68 | +## Join Us |
| 69 | +We welcome contributions! Feel free to open a pull request (PR) on our [GitHub repository](https://github.com/arkflame/waterfall). |
| 70 | +Connect with our community: |
| 71 | +- **Discord**: [ArkFlame Development Discord](https://discord.gg/gF36AT3) |
0 commit comments