A redis based cluster cloud system for
minecraft. [Discord | Developer]
-
RediCloud is a cluster cloud system for minecraft which is based on redis. The best thing is there are no head-nodes and sub-nodes. That means you can easily connect to the cluster. Everything you have to do is to setup the redis connection.
-
Let's imagine you have running your network like the following way:
Node-1 ├ Proxy ├ Hub ├ Practice └ FFA Node-2 ├ BedWars └ SkyWars
-
If
Node-2
is going down for any reason, what would be with BedWars and SkyWars? This is where our node principle comes into play, because if one node fails, the other node(s) take over the work of the failing node. So in our case the network structure would be the following way:Node-1 ├ Proxy ├ Hub ├ Practice ├ FFA ├ BedWars (took over from Node-2) └ SkyWars (took over from Node-2) Node-2 (failed)
(✅ = done | ⚙️ = in progress | ❌ = not started | 🚧 = done, but not tested enough)
- node clustering ✅
- redis for communication and storage ✅
- start minecraft services (spigot , bukkit, paper based forks) ✅
- start proxy services (bungeecord , waterfall, velocity) ✅
- remote screens (with rate limiter for cpu-overload-protection on exception spam) ✅
- web interface ❌
- console + commands ✅
- dynamic and static services ✅
- templates (sync via file-nodes) ✅
- print fatal service errors directly to node console ✅
- api (sync / async) ✅
- module system ⚙️
- default modules: perms, cloudflare ❌
- redis cluster support🚧
- smart clustering ⚙️
- automatic service start ✅
- 1.8-1.19 support ✅
- custom service versions ✅
- java start command is customizable for each service version ✅
- modify programm arguments and jvm flags for each group ✅
- external proxy services (start external proxy services and connect cloud services to them) ✅
- easy dev plugin test (create external service, that you can start for e.g via your IDE. The services will connect without a node to the cloud cluster) 🚧
- offline/online player support at the same time ✅
- player api bridge (actionbar, messages, service connect, kick, title, tablist) ✅
- toggle maintenance for groups/services✅
- multi proxy (with player count sync)✅
- limbo fallbacks✅
- only proxy join (but please use your firewall: guide)🚧
General help
Cluster help
Template help
Group help
Service verison help
Service help
Screen help
- Java 8+ Runtime Environment
- min. 256MB Java Virtual Machine Heap size
- min. 1GB RAM
- min. 2 vCores
- a redis server
Follow these steps
Last Build: jenkins
Linux / OSX
git clone https://github.com/RediCloud/cloud
cd cloud
./gradlew build
Windows
git clone https://github.com/RediCloud/cloud
cd cloud
gradlew.bat
Repository
maven {
url = "https://repo.redicloud.dev/repository/maven-snapshots/"
}
maven {
url = "https://repo.redicloud.dev/repository/maven-releases/"
}
Dependencies
implementation('dev.redicloud.api:api:VERSION')