TimoCloud - The most efficient cloud system

 TimoCloud - The most efficient cloud system 4.5

TimoCloud - The most efficient cloud system
TimoCloudNeu.png





English.png


WhatIsThat.png

TimoCloud is a software made for server owners who don't want to manage all their servers themselves. You can define a group and say "that's the way a MiniGame XY looks", then tell the cloud how many servers you want to have online and it will care about it. But what, if their are more players than usual? TimoCloud is dynamic. It always start as many servers as needed.

Setup.png

TimoCloud is a 3 in 1 plugin - the same file is for BungeeCord, Bukkit/Spigot and the Base. Just put the plugin into the bungee plugins folder. We recommend BungeePluginManager (https://www.spigotmc.org/resources/bungeepluginmanager.7288/) so that you don't always have to restart bungee for reloading TimoCloud.

0. Requirements: Linux(/macOS) server with Java 8 & screen
installed (sudo apt-get install screen).

1. BungeeCord
  • The "brain" of TimoCloud is the BungeeCord plugin. Put it into the plugins folder and load it with BPM (as seen below)
  • Then a directory structure should be generated. The first thing you have to do is to create a group. Let's call it Lobby. Do so by typing /timocloud addgroup Lobby 1 25 1024 false BASE-1 in BungeeCord. This will create a group called Lobby with 1 server, maxAmount 25, 1024MB RAM, non-static and on base BASE-1.
2. Base
  • Now we need a base. What is that? A base is needed to start the servers. You can have one base, but also many bases on many different (root/v-) servers.
  • Create a folder called "base", somewhere on your server (not in BungeeCord)
  • Put the TimoCloud.jar in it and start it (I really recommend screen)
  • You will see a directory structure and probably errors in the log, because you haven't created a template yet.
  • So, stop the base (Ctrl+C) and put a Lobby server template into the templates folder. This will be copied every time a server starts.
  • Start the base again and type /timocloud restartgroup Lobby in BungeeCord. This will make the base start the server. (You only have to do this once, now, because the Lobby could not been started because you didn't have a template)
3. Checking
  • If everything works, you should see something like "Successfully started server Lobby-1" in the base log, and up to a minute later "Server Lobby-1 connected" in BungeeCord.
  • If so, everything worked and you can create other groups.
  • If not, please make sure your directory structure looks like this:
Structure.png


Commands.png

Permission for all following commands: TimoCloud.Admin
  • /timocloud addgroup <name> <startUpAmount> <maxAmount> <ram> <static (true/false, false is default)> <base> (if ram < 128, it will be read as Gigabyte, else as Megabyte) MaxAmount is the maximal amount of servers that can be started, no matter if the dynamic system says more servers are needed. Set it to 0 if you don't want a maxAmount.
  • /timocloud listgoups
  • /timocloud restartgroup <Groupname>
  • /timocloud reload - Reloads all configs
  • Reload with /bpm reload TimoCloud (you have to have BungeePluginManager installed)
  • /lobby or /hub - connects to a random Lobby (perm: timocloud.lobby) (Group has to be called Lobby or lobby) (You can change these commands in the bungee TimoCloud config)


Dynamic.png

What if there are more players online than expected? The dynamic feature allows you to have a dynamic server amount - depending on how many players currently want to play a specific game.
To do that, just add a "sortOut" list into the BungeeCord groups.yml. The Cloud will care about having N=startupAmount servers online, whose state is NOT on the sortOut list. Example:

Code (groups.yml):
SkyWars:
onlineAmount: 3
maxAmount: 25
ramInGigabyte: 2
base: BASE-1
static: false
sortOut:
- INGAME
So when a game starts and there are not N=startupAmount free servers, an other server will start.



SignSystem.png

We also created a sign system for you. Signs for every minigame are in the lobby and the players can see the current game state, the minigame map/an extra, the online players and join per click. Create a sign with these lines:

[TimoCloud]
ServerName (e.g. BedWars-1)

if you want to display a specific server, or create a dynamic sign, if you want to display a free server of a given group.

[TimoCloud]
GroupName (e.g. BedWars)

If everything is configured correctly, the sign should instantly be designed, as configured in a layout you created in templates/Lobby/plugins/TimoCloud/signLayouts.yml:

(Every server has a state which is automatically set and can also be set over the api, the layouts are per state)

Placeholders:

  • %server_name%
  • %current_players%
  • %max_players%
  • %state%
  • %extra%
  • %motd%
  • %map%
Example configuration:

Code (Text):
SkyWars:
layouts:
ONLINE:
'1': '[ &0&l%server_name%&0 ]'
'2': '&a&lLobby'
'3': '%extra%'
'4': '%current_players%/%max_players%'
OFFLINE:
'1': '---------'
'2': 'Loading'
'3': 'Server'
'4': '---------'
INGAME:
'1': '[ &0&l%server_name%&0 ]'
'2': '&a&lPlay'
'3': '%map%'
'4': '%current_players%/%max_players%'
STARTING:
'1': '---------'
'2': 'Loading'
'3': 'Server'
'4': '---------'
RESTART:
'1': '---------'
'2': 'Loading'
'3': 'Server'
'4': '---------'
sortOut:
- OFFLINE
- STARTING
- RESTART
- INGAME
Always edit the TimoCloud configs in the templates folder, not in the temporary. When typing /signs reload , the signs configuration will be reloaded from the templates/Lobby/plugins/TimoCloud folder.



MapSystem.png

Since version 3.0, you can also use the random map system. To have a group with multiple maps, just create multiple server templates (have to be whole servers, not just maps), and call them like

BedWars_Classic
BedWars_Village

Make sure that no "BedWars" template exists - if so, the different maps will be ignored.

API.png

TimoCloud also has its own API. Download it from the repository or use it directly in maven as explained below.

To download it manually, go to https://maven.timo.cloud/#artifact/at.TimoCraft.TimoCloud/TimoCloud-API , click on the newest version and download the jar on the tab "Artifacts".

Have a look at the JavaDoc:

https://api.timo.cloud

Don't forget to add TimoCloud as a dependency in your minigame plugin if you use the API!

You can also get it directly from its own maven repository:

Code (pom.xml):
<repositories>
<repository>
<id>TimoCloud-API</id>
<url>https://maven.timo.cloud/repository/TimoCloud-API/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>at.TimoCraft.TimoCloud</groupId>
<artifactId>TimoCloud-API</artifactId>
<version>4.0.3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>


Additional.png

You can make use of the "SendBungee" command - execute it in a bukkit console and it will be sent to BungeeCord. E.g.: /sendbungee glist. This can be useful if you want MinecraftMarket or BuyCraft to execute a command on BungeeCord or just want to use it in your plugin.

Code (Text):
/sendbungee glist





Deutsch.png


WasIstDas.png


TimoCloud ist ein Programm für Serverinhaber mit einem MiniGame Netzwerk. Du kannst ganz einfach ein "Template" für ein MiniGame erstellen - eine Vorlage. Dann sagst du, wie viele Server online sein sollen, und die Cloud kümmert sich vollautomatisch darum. Aber was, wenn mehr Spieler als erwartet online sind? TimoCloud ist dynamisch - es werden immer so viele Server gestartet, wie gebraucht werden.

Setup.png


TimoCloud ist ein 3 in 1 Plugin - die selbe Datei ist für BungeeCord, Bukkit/Spigot & die Base. Ihr zieht das Plugin einfach in den BungeeCord plugins Ordner. Wir empfehlen BungeePluginManager (https://www.spigotmc.org/resources/bungeepluginmanager.7288/) damit ihr BungeeCord nicht immer restarten müsst.

0. Anforderungen: Linux(/macOS) Server mit Java 8 & screen
installiert (sudo apt-get install screen).

1. BungeeCord
  • Der Kern von TimoCloud ist das BungeeCord Plugin. Zieh es in den plugins Ordner und lade es mit BPM (siehe Link oben)
  • Dann sollte eine Verzeichnisstruktur erstellt werden. Das erste, was du machen musst, ist, eine Gruppe zu erstellen. Nennen wir sie Lobby. Erstelle sie mit /timocloud addgroup Lobby 1 25 1024 false BASE-1 in BungeeCord. Das erstellt die Gruppe Lobby mit einem Server, keinem maximalen Amount, 1024MB RAM, nicht-statisch und auf der Base BASE-1.
2. Base
  • Base steht für Stützpunkt. Sie ist dafür da, die Server, auf Befehl von TimoCloud, zu starten. Du kannst auf verschiedenen V-/Root-Servern jeweils eine Base erstellen.
  • Erstelle, irgendwo auf deinem Server, nicht in BungeeCord, einen Ordner namens Base. Ziehe die TimoCloud.jar hinein und starte sie (ich empfehle mit screen)
  • Du wirst Errors im Log und ein paar Ordner, die sich erstellt haben, sehen. Die Errors kommen davon, dass du noch kein Template (Vorlage) erstellt hast.
  • Also, erstelle einen Ordner namens "Lobby" im Base/templates/ Ordner. Da hinein kommt eine Vorlage, wie die Lobby ausschauen soll. Das sollte ein fertiger Server sein und eine "spigot.jar" beinhalten (muss genau so heißen!)
  • Starte die Base wieder und gib /timocloud restartgroup Lobby in BungeeCord ein. Das musst du nur jetzt beim erstem Mal machen, da die Lobby ja vorher noch nicht gestartet werden konnte, weil du ja noch kein Template erstellt hast.
3. Überprüfen
  • Wenn alles funktioniert, solltest du Nachrichten wie "Successfully started server Lobby-1" im Base-Log und in bis zu einer Minute später "Server Lobby-1 connected" im BungeeCord-Log sehen.
  • Wenn alles funktioniert, kannst du weitere Gruppen erstellen.
  • Wenn nicht, stelle sicher, dass deine Verzeichnisstruktur so aussieht:
Structure.png


Commands.png

Permission für alle folgenden Commands: TimoCloud.Admin

  • /timocloud addgroup <name> <startUpAmount> <maxAmount> <ram> <static (true/false, wenn ihr nicht wisst, was ihr tut, nehmt false)> <base> (wenn ram < 128 ist, wird es als Gigabyte gelesen, sonst als Megabyte)
  • /timocloud listgoups
  • /timocloud restartgroup <Gruppenname>
  • /timocloud reload - Reloadet alle Configs
  • Restarten mit /bpm reload TimoCloud (ihr müsst BungeePluginManager installiert haben)
  • /lobby oder /hub - connectet zu einer random Lobby (Gruppe muss Lobby oder lobby heißen) (Permission: TimoCloud.Lobby). Der Befehl kann in der TimoCloud BungeeCord Config geändert werden.

Dynamic.png

Was, wenn mehr Spieler als erwartet online sind? Die Dynamic-Funktion erlaubt es dir, immer eine bestimmte Anzahl an freien Servern online zu haben, Server, die INGAME sind, werden z.B. nicht mitgezählt. Du kannst also eine sortOut Liste in der BungeeCord groups.yml erstellen. Alle Server, deren State auf der Liste steht, werden sozusagen nicht mitgezählt. Angenommen onlineAmount von BedWars ist 3, 1 Server ist in der Lobby Phase, 2 sind ingame -> 2 neue werden gestartet.

Code (groups.yml):
SkyWars:
onlineAmount: 3
maxAmount: 25
ramInGigabyte: 2
base: BASE-1
static: false
sortOut:
- INGAME



SignSystem.png

Mit dabei ist auch ein SignSystem, das heißt, in der Lobby / den Lobbies gibt es immer Schilder, über die die Spieler auf bestimmte Server joinen können. Ein Schild sollte so aussehen:

[TimoCloud]
ServerName (z.B. BedWars-1)

Du kannst auch ein dynamisches Schild erstellen. Dazu schreibt ihr nur den Gruppennamen hin, die Cloud wählt dann automatisch einen Server aus, der nicht in der sortOut Liste der Gruppe in signLayouts.yml steht, also der frei ist. So habt ihr nur Online Server auf den Schildern.
Beispiel:

[TimoCloud]
GruppenName (z.B. BedWars)

Wenn alles konfiguriert ist, sollte das Schild sofort umdesignt werden, und zwar wie ihr es in templates/Lobby/plugins/TimoCloud/signLayouts.yml festgelegt habt:

(Jeder Server hat immer einen State, je nachdem sehen die Layouts dann unterschiedlich aus...)

Platzhalter:
  • %server_name%
  • %current_players%
  • %max_players%
  • %state%
  • %extra%
  • %motd%
  • %map%
Beispielconfig:

Code (Text):
SkyWars:
layouts:
ONLINE:
'1': '[ &0&l%server_name%&0 ]'
'2': '&a&lLobby'
'3': '%extra%'
'4': '%current_players%/%max_players%'
OFFLINE:
'1': '---------'
'2': 'Lade'
'3': 'Server...'
'4': '---------'
INGAME:
'1': '[ &0&l%server_name%&0 ]'
'2': '&a&lPlay'
'3': '%extra%'
'4': '%current_players%/%max_players%'
STARTING:
'1': '---------'
'2': 'Lade'
'3': 'Server...'
'4': '---------'
RESTART:
'1': '---------'
'2': 'Lade'
'3': 'Server...'
'4': '---------'
sortOut:
- OFFLINE
- STARTING
- RESTART
- INGAME
Editiere immer die Config im Templates Ordner, nicht im temporary. Bei /signs reload wird auch wieder die Config aus dem Templates Ordner geladen. (Bei anderen Plugins nicht).


MapSystem.png

Seit Version 4.0 kannst du auch zufällige Maps für eine Gruppe auswählen lassen. Um das zu machen, benenne einfach das Template um, jedoch nur den Template Ordner, nicht in der groups.yml. Beispiel:

BedWars_Classic
BedWars_Village

Es darf dann jedoch kein Template Ordner mehr nur "BedWars" heißen.

API.png

TimoCloud hat auch eine API. Du kannst entweder die TimoCloud.jar direkt verwenden, oder, wenn du es einem Developer geben willst, von https://maven.timo.cloud/#artifact/at.TimoCraft.TimoCloud/TimoCloud-API downloaden. Klicke dort auf die neueste Version und dann auf den Tab "Artifacts". Am einfachsten ist es jedoch, wenn du es direkt in Maven einbaust:

Code (pom.xml):
<repositories>
<repository>
<id>TimoCloud-API</id>
<url>https://maven.timo.cloud/repository/TimoCloud-API/</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>at.TimoCraft.TimoCloud</groupId>
<artifactId>TimoCloud-API</artifactId>
<version>4.0.3-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>


Für eine Übersicht aller Methoden, schau dir die JavaDoc an:

https://javadoc.timo.cloud

Nicht vergessen, TimoCloud als dependency im Plugin hinzuzufügen!


Sonstiges.png

Du kannst Commands von der Bukkit Console an BungeeCord senden lassen! Dies ist z.B. praktisch, wenn du von MinecraftMarket oder BuyCraft einen Befehl in BungeeCord ausführen lassen möchtest oder die Funktion in deinem MiniGame benutzen willst.
Code (Text):
/sendbungee glist
To pay with PSC, please buy it here http://www.minecraft-plugins.de/timocloud-das-effizienteste-cloudsystem/products/view/121 - tell me your real name and the transaction ID in a conversation and I will also add you here.



For questions, please use the official ticket support while sending an email to [email protected]. Questions on SpigotMC/Skype won't be answered. Before you write a ticket: 85% of our tickets could have been solved with having a look at these FAQ:


While buying this plugin, I agree to not decompile it, not change it, DO NOT GIVE IT ANYBODY ELSE / UPLOAD IT ON LEAK PAGES.

Latest reviews

Pls Update made and Thx :)

Similar resources

TimoCloud - The most efficient cloud system DasCanard
Dynamically manages all your MiniGames - now with MultiRoot & RandomMap Support!
4.25 star(s) 4 ratings
Downloads
300
Updated
TimoCloud (Mineplex Like!) Spooked
Similar plugin to Mineplex's "/server lobby-1"
0.00 star(s) 0 ratings
Downloads
134
Updated
MangS - Efficient Staff Management Ace
Efficient Staff Management (Alternate StaffMode)
0.00 star(s) 0 ratings
Downloads
136
Updated
BlackSpigot General Chat
Rules Help Users
    RealNotSound @ RealNotSound: Hello if I buy BLACKSPIGOT+ BUNDLEIf I buy it, will I get a rank in BLACKSPIGOT and what rank...
    Top