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

Commit

Permalink
Version 2.10.0 (#122)
Browse files Browse the repository at this point in the history
  • Loading branch information
derklaro authored Aug 23, 2020
2 parents 48b9387 + cd97bcc commit 41c6b35
Show file tree
Hide file tree
Showing 1,172 changed files with 39,504 additions and 50,310 deletions.
4 changes: 4 additions & 0 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# https://help.github.com/articles/about-codeowners/
# please keep this file in the same order as packages

* @derklaro
54 changes: 9 additions & 45 deletions .github/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

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 executors **Node,
Controller and Client** but as well into the apis for **Velocity / BungeeCord / Spigot / Sponge / Nukkit etc**.
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.
Expand All @@ -19,17 +19,17 @@ them in the group file and the cloud will copy the paths or templates at the nex
### Currently supported minecraft-java-edition versions:
| Version Name | Version ID | Recommended Java Version |
|-------------------------------------|------------------------------|------------------------------|
| Bungeecord (Waterfall, Hexacord...) | 1.8 - 1.15.2 | Java 11 |
| Velocity | 1.8 - 1.15.2 | Java 11 |
| 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.15.2 | <1.12 Java 8 / >1.12 Java 11 |
| 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 | Java 8 |
| Sponge (Vanilla) | 1.11.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:
Expand All @@ -48,7 +48,7 @@ them in the group file and the cloud will copy the paths or templates at the nex
## Supported Java Versions

- Java 7 and lower : **NOT SUPPORTED**
- Java 8 and bigger : **SUPPORTED**
- Java 8 and higher : **SUPPORTED**
- Java 11 : **RECOMMENDED**

## Startup
Expand All @@ -64,41 +64,6 @@ java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms
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!

When you start the system the first time it will asked you which installation you want to do:
```
Please choose an executor: ["controller", "client", "node" (recommended)]
```

**Controller (Master)**: Manages all processes and clients (Wrapper), exists only once in the network

**Client (Wrapper)**: Is like a slave for the controller and starts the processes, can exists multiple
times in a network setup

**Node**: This is the ***recommended*** installation, basically it brings the features of the controller/client
into one system and can also exists multiple times in a network structure, called "cluster".


# Basic installation
## Controller

The controller will aks two questions:
1) Which ip address (or domain) the controller is running on. If the controller is local you can simply
provide 127.0.0.1. If you have more than one server and you would like to run multiple Clients with the
controller, provide the public ip address of the server. (On Linux: `ip -a`, on Windows: `ipconfig`).

2) The next thing will be the default group installation. There are multiple default things you can choose
from. Every installation type will create a proxy and lobby group with the version you choose
(Excluded `nothing`: as the name says, it will install nothing).

## Client

The client will ask five questions:
1) The client needs the connection key to connect to the controller. The key is located in `CONTROLLER_DIR/reformcloud/.bin/connection.json`.
2) After this the client needs the host on which the servers and proxies should get bound to
3) Then you have to provide the maximum amount of memory the client is allowed to use
4) Next, the client will ask for the controller ip or domain name, provide the same as in the controller setup
5) Finally the client asks for the network port of the controller (default `2008`)

## Node

The node will ask six questions:
Expand All @@ -110,7 +75,6 @@ The node will ask six questions:
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**](https://github.com/derklaro/reformcloud2/issues/new)
Expand Down Expand Up @@ -163,7 +127,7 @@ Because of this you don't need to provide any repository.
<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.2.2</version>
<version>2.10.0</version>
<scope>provided</scope>
</dependency>
```
Expand Down
9 changes: 9 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
version: 2
updates:
- package-ecosystem: maven
directory: "/"
schedule:
interval: daily
time: "05:00"
open-pull-requests-limit: 20
target-branch: indev
23 changes: 13 additions & 10 deletions .github/workflows/maven.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,28 @@ name: Java CI

on:
push:
branches:
branches:
- master
- indev
pull_request:
branches:
- master
- indev

jobs:
build:

strategy:
matrix:
platform: [ubuntu-latest, windows-latest]

runs-on: ${{ matrix.platform }}
name: on ${{ matrix.platform }}

steps:
- uses: actions/checkout@v1
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn -V clean package --file pom.xml
- uses: actions/checkout@v1
- name: Set up JDK 1.8
uses: actions/setup-java@v1
with:
java-version: 1.8
- name: Build with Maven
run: mvn -V clean package --file pom.xml
5 changes: 3 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,6 @@ dependency-reduced-pom.xml
pom.xml.versionsBackup

# Files which will always get generated in the build process
reformcloud2-runner/src/main/resources/files/executor.jar
reformcloud2-executor-api/src/main/resources/internal/dependencies.txt
executor.jar
embedded.jar
dependencies.txt
2 changes: 1 addition & 1 deletion .templates/start.bat
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
@echo off
java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar
java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:+UseStringDeduplication -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar
2 changes: 1 addition & 1 deletion .templates/start.command
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
#!/bin/bash
cd "$(dirname "$0")"
exec java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar
exec java -XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar
3 changes: 2 additions & 1 deletion .templates/start.sh
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
screen -S cloud java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar
#!/bin/bash
screen -S cloud java -XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -Xmx512m -Xms256m -jar runner.jar
12 changes: 1 addition & 11 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,4 @@ jdk:
- openjdk8

before_install:
- chmod +x mvnw

after_success:
- wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh
- chmod +x send.sh
- ./send.sh success $WEBHOOK_URL

after_failure:
- wget https://raw.githubusercontent.com/DiscordHooks/travis-ci-discord-webhook/master/send.sh
- chmod +x send.sh
- ./send.sh failure $WEBHOOK_URL
- chmod +x mvnw
6 changes: 3 additions & 3 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@ FROM openjdk:8-jdk-slim AS build

# Install packages required for build
RUN apt-get -y update
RUN apt-get install -y build-essential
RUN apt-get install -y git
RUN apt-get install -y --no-install-recommends build-essential
RUN apt-get install -y --no-install-recommends git
RUN mkdir -p /usr/share/man/man1
RUN apt-get install -y maven
RUN apt-get install -y --no-install-recommends maven

# Run the build
RUN git submodule update --init
Expand Down
16 changes: 8 additions & 8 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ pipeline {
stage('Update snapshot version') {
when {
allOf {
branch 'indev'
environment name:'IS_SNAPSHOT', value: 'true'
}
}
Expand All @@ -28,12 +27,6 @@ pipeline {
}
}

stage('Validate') {
steps {
sh 'mvn validate';
}
}

stage('Clean') {
steps {
sh 'mvn clean';
Expand Down Expand Up @@ -111,7 +104,8 @@ pipeline {
archiveArtifacts artifacts: 'ReformCloud2-Applications.zip'
archiveArtifacts artifacts: 'ReformCloud2-Plugins.zip'
archiveArtifacts artifacts: 'reformcloud2-runner/target/runner.jar'
archiveArtifacts artifacts: 'reformcloud2-executor/target/executor.jar'
archiveArtifacts artifacts: 'reformcloud2-node/target/executor.jar'
archiveArtifacts artifacts: 'reformcloud2-embedded/target/embedded.jar'
}
}
}
Expand All @@ -122,6 +116,12 @@ pipeline {
discordSend description: 'New build of ReformCloud', footer: 'Update', link: BUILD_URL, successful: currentBuild.resultIsBetterOrEqualTo('SUCCESS'), title: JOB_NAME, webhookURL: url
}
}

success {
junit allowEmptyResults: true, testResults: 'reformcloud2-executor-api/target/surefire-reports/TEST-*.xml'
junit allowEmptyResults: true, testResults: 'reformcloud2-protocol/target/surefire-reports/TEST-*.xml'
junit allowEmptyResults: true, testResults: 'reformcloud2-shared/target/surefire-reports/TEST-*.xml'
}
}
}

Expand Down
1 change: 0 additions & 1 deletion _config.yml

This file was deleted.

44 changes: 30 additions & 14 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
<groupId>systems.reformcloud.reformcloud2</groupId>
<artifactId>reformcloud2</artifactId>
<packaging>pom</packaging>
<version>2.2.2</version>
<version>2.10.0</version>

<licenses>
<license>
Expand Down Expand Up @@ -36,7 +36,8 @@

<scm>
<connection>scm:git:git://github.com/derklaro/reformcloud2.git</connection>
<developerConnection>scm:git:ssh://github.com/derklaro/reformcloud2.git</developerConnection>
<developerConnection>scm:git:ssh://github.com/derklaro/reformcloud2.git
</developerConnection>
<url>https://github.com/derklaro/reformcloud2</url>
</scm>

Expand All @@ -46,7 +47,8 @@
</issueManagement>

<name>reformcloud2-root</name>
<description>A simple server management system for minecraft java/bedrock proxies and servers</description>
<description>A simple server management system for minecraft java/bedrock proxies and servers
</description>
<url>https://reformcloud.systems/</url>

<distributionManagement>
Expand All @@ -64,9 +66,12 @@
<!-- do not change the module order to prevent issues while building the project -->
<modules>
<module>reformcloud2-executor-api</module>
<module>reformcloud2-executor</module>
<module>reformcloud2-plugins</module>
<module>reformcloud2-protocol</module>
<module>reformcloud2-shared</module>
<module>reformcloud2-embedded</module>
<module>reformcloud2-node</module>
<module>reformcloud2-applications</module>
<module>reformcloud2-plugins</module>
<module>reformcloud2-examples</module>
<module>reformcloud2-runner</module>
</modules>
Expand All @@ -85,15 +90,15 @@
<dependency>
<groupId>org.jetbrains</groupId>
<artifactId>annotations</artifactId>
<version>19.0.0</version>
<version>20.0.0</version>
<scope>provided</scope>
</dependency>
</dependencies>

<build>
<defaultGoal>clean package</defaultGoal>
<defaultGoal>clean install</defaultGoal>

<plugins>
<!-- plugin to describe version build -->
<plugin>
<groupId>net.md-5</groupId>
<artifactId>scriptus</artifactId>
Expand All @@ -111,7 +116,6 @@
</executions>
</plugin>

<!-- maven compiler plugin to set the target and source version (1.8) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
Expand All @@ -122,7 +126,6 @@
</configuration>
</plugin>

<!-- maven checkstyle plugin to prevent bad code ( e.g unused imports ) -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
Expand All @@ -144,6 +147,23 @@
</execution>
</executions>
</plugin>

<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<dependencies>
<dependency>
<groupId>org.junit.platform</groupId>
<artifactId>junit-platform-surefire-provider</artifactId>
<version>1.3.2</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<version>5.7.0-RC1</version>
</dependency>
</dependencies>
</plugin>
</plugins>
</build>

Expand All @@ -160,7 +180,6 @@

<build>
<plugins>
<!-- Maven source plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
Expand All @@ -175,7 +194,6 @@
</executions>
</plugin>

<!-- Maven javadoc plugin -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
Expand All @@ -190,7 +208,6 @@
</executions>
</plugin>

<!-- Maven GPG plugin to sign files -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
Expand Down Expand Up @@ -221,5 +238,4 @@
</build>
</profile>
</profiles>

</project>
Loading

0 comments on commit 41c6b35

Please sign in to comment.