Skip to content
This repository has been archived by the owner on Nov 14, 2021. It is now read-only.

ReformCloud/reformcloud

Repository files navigation

ReformCloud 2 Discord CodeFactor Build Status

ReformCloud is a cloud system programmed and optimized for all sizes of networks. The cloud system provides a huge api to access all internal functions, group, processes etc. It's made for synchronized as well as asynchronous programming and is integrated into the main executor Node but as well into the apis for Velocity / BungeeCord / Spigot / Sponge / Nukkit etc. So the development work to integrate something like a private server system into the cloud is not that much work and get be made easily by every developer who spends 5 minutes to read the documentation of the api. ReformCloud is basically just an application to start and manage the minecraft servers and proxies. If you need more features like ingame commands or a permission system reformcloud also provides these things as an external module. ReformCloud is build to flexible manage your minecraft servers and proxies which are internally called "processes". The processes can get started bases on a group which are not sorted by the version. A group can have multiple templates and all of them can have other versions. If you need more than one template for a group to start or need a path inclusion you can easily create them in the group file and the cloud will copy the paths or templates at the next startup of a process.

Currently supported minecraft-java-edition versions:

Version Name Version ID Recommended Java Version
Bungeecord (Waterfall, Hexacord...) 1.8 - 1.16.1 Java 11
Velocity 1.8 - 1.16.1 Java 11
Waterdog 1.8 - 1.15.2 Java 8
Spigot & Paper 1.8 - 1.16.1 <1.12 Java 8 / >1.12 Java 11
Torch 1.8.8, 1.9.4, 1.12.2 Java 8
Taco 1.8.8, 1.11.2, 1.12.2 Java 8
Hose 1.8.8, 1.9.4, 1.10.2, 1.11.2 Java 8
Tuinity 1.15.2 Java 11
Glowstone 1.10.2, 1.12.2 Java 8
Sponge (Forge) 1.10.2 - 1.12.2 (V 7.2.2) Java 8
Sponge (Vanilla) 1.11.2, 1.12.2 (V 7.2.2) Java 8
Akarin 1.12.2 Java 8

Currently supported minecraft-pocket-edition versions:

Version Name Recommended Java Version
NukkitX Java 8
WaterDog Java 8

Run ReformCloud2 the first time

System requirements

  • 1 GB Memory
  • 1 CPU Core
  • A little bit of space on the hard disk

Supported Java Versions

  • Java 7 and lower : NOT SUPPORTED
  • Java 8 and higher : SUPPORTED
  • Java 11 : RECOMMENDED

Startup

You can download the latest release version from the CI or as a zip file from the download server.

Just save the file named as runner.jar in the folder you want to run the cloud in and start the runner using:

java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar

The runner is now going to download the needed libraries for the runtime, so make sure you have an internet connection during the first startup!

Node

The node will ask six questions:

  1. Firstly you have to provide the name of the new node which is not used already in the cluster
  2. After this the node needs the host on which the servers and proxies should get bound to
  3. Then the node asks for the internal network port (default 1809)
  4. And then the node asks for the internal web port (default 2008)
  5. Then you have to provide the connection key for other nodes. I you want to setup a cluster and already have a node in this cluster copy the key from the other node located in NODE_DIR/reformcloud/files/.connection/connection.json. If you want to generate a random connection key type gen

Found a bug or have a proposal?

Please open an issue and describe the bug/proposal as detailed as possible and look into your email if we have replied to your issue and answer upcoming questions.

Support our work

If you like reformcloud and want to support our work you can star 🌟 the project, leave a (positive) review on SpigotMC or join our Discord.

But the best support for our work is very simple: use the cloud system!

Developer Information

Want to contribute?

You can simply fork the project make the changes you want to add and create a pull request. If your pull request got approved and merged you will get added to the list of contributors.

Open Source Libraries

Library Author License
Netty The Netty Project Apache Licence 2.0
Gson Google Apache License 2.0
JLine 3 JLine The 3-Clause BSD License
Reflections ronmamo Do What The F*ck You Want To Public License
MongoDB Java Driver MongoDB Apache License 2.0
MySQL connector Java MySQL Self written Licence
H2 h2database Dual Licenced (MPL 2.0/EPL 1.0)
RethinkDB rethinkdb Apache License 2.0
Maven-Wrapper takari Apache License 2.0
HikariCP brettwooldridge Apache License 2.0

Build this project

git clone https://github.com/derklaro/reformcloud2.git
cd reformcloud2/
mvn clean package

Maven

Repository: ReformCloud2 is available in the central repository. Because of this you don't need to provide any repository.

Dependency:

    <dependency>
        <groupId>systems.reformcloud.reformcloud2</groupId>
        <!-- replace with needed artifact for example 'reformcloud2-executor' or 'reformcloud2-default-application-permissions' -->
        <artifactId>reformcloud2-executor-api</artifactId>
        <version>2.10.0</version>
        <scope>provided</scope>
    </dependency>

Contributors

Thanks to all these wonderful people


Pasqual K. (derklaro)
Project owner

Lukas B. (Lvkas_)
Project developer

JanDragon
Contributor