TimoCloud - The most intelligent cloud system icon

TimoCloud - The most intelligent cloud system -----

Powerful open source server management system




Hi all,
sorry that I've been quite inactive on SpigotMC. TimoCloud is still updated by community members and you can always get new versions directly from our jenkins server. However, I decided to post this version here which combines several updates:

+ Add Velocity plugin port
+ Fix sign remove from config when the event was canceled
+ Fix post sign interactions and improve 1.8 sign support
+ Fix core 'reload' command
+ Improve resource management
+ BungeeCord / Velocity jar is now called proxy.jar
+ Add sendMessage method for PlayerObject
+ Improve SocketClientHandlers
+ jrePath can now edit with 'editServerGroup' command
+ jrePath is now visible in server Information
+ Add Java 17 support
+ Add server timeout and improve startup system
+ Update dependencies

Thanks to our contributors!

Timo
----------, Jun 11, 2022

Hi everyone,
this is a minor release fixing several bugs and making the java runtime path for starting servers & proxies configurable per group.

Thanks to @Meerpaluten for the contributions!

~Timo
----------, Apr 7, 2021

Hi everyone,
After one year of beta testing, TimoCloud version 6 is finally being released!
It contains tons of changes, here are the most important ones:
  • Way more efficient: The internal communication has been revised a lot to improve performance greatly.
  • Extended API: Async API methods have been added to offer all features that are available via command (e.g. creating & editing groups, accessing server & proxy log files) via API.
  • Improved security: TimoCloud now uses RSA & AES encryption for all internal communication between Core, Base, servers & proxies.
  • Many bugs fixed
  • Easier setup
The general structure & configuration stays the same, so upgrading is quite easy. Check out the Wiki. For questions, please join our Discord channel.

The existing API methods generally stay the same. However, many of the classes have been converted into interfaces, so you will have to compile your code again against the new API (version 6.2.0).

Have a happy new year!

~Timo
----------, Dec 31, 2020

Hi everyone,
as you might have noticed, I currently don't have enough time to add lots of new features to TimoCloud (bugs are still getting fixed). Though, TimoCloud 6.0 Beta is pretty well-liked and it would be great if some experienced developers were ready to contribute to our open source project. If you are interested, feel free to join our Discord Channel or simply have a look at the issues on GitHub (there is always enough work to do :)).

Timo
----------, May 5, 2020

Hi everyone,
This version fixes an incompatibility with older Spigot versions (e.g. 1.8) concerning the sign system.

Please also check out TimoCloud 6.0 beta – more information is provided in our Discord channel.

~Timo
----------, Apr 5, 2020

Hi everyone,
This update adds compatibility for all Spigot versions up to 1.15.1. TimoCloud 5.x hasn't been updated for a while because we are currently working on version 6 which introduces great new features and performance improvements. If you want to become a beta tester, join our Discord channel. You can find the new version in a temporary GitHub repository. It will be merged to the main repository once it is out of the beta phase.

Timo
----------, Jan 15, 2020

Hi everyone,
As some of you might have noticed, the download link was not working today. This was because our previous server hosting provider and partner ceased to exist. Hence, as of today, we have a new partnership with KernelHost.de (use our promotion code 'TimoCloud' to get 50% off your server's first month)!
[​IMG]

Sorry for the inconveniences!

Kind regards,
Timo

PS: Follow our Twitter account to stay tuned!
----------, Feb 22, 2019

Hi everyone,
This version includes 1.13 version and a couple of bug fixes. Updating is recommended for everyone, as <1.13 compatibility is preserved. The main work has been done by @Lasergott - thanks!

Please consider following us on Twitter to stay tuned or joining our Discord if you have any questions.

If you like TimoCloud, please leave a positive review on SpigotMC!

Thanks!
----------, Feb 2, 2019

Hi,
This update contains two little bugfixes:
  1. Server was sometimes not shutting down properly (stacktrace spammed)
  2. When that happened and players tried to join that server, there was an error in the Core.
The dependencies have been updated to the newest versions.

Please review TimoCloud if you like it!

~Timo
----------, Dec 11, 2018

Hey,
This update just contains a little bugfix. Formerly, when many players (100+) were online, errors could be thrown due to netty multithreading, caused by simultaneous access to a Server's/Proxy's "onlinePlayers" set.

As always, please leave a positive review if you like TimoCloud.

~Timo
----------, Oct 12, 2018

Hey,
This update introduces a little new feature regarding the sign system:

Normally, a group's sortOut states are used in the sign system. However, in some special cases, you might want to add a sortOut list per sign template, overwriting the group's sortOut list (e.g. if you are working with the PlayersToState feature, invalidating a running server which should still be displayed on the signs).

To do so, just add a property called 'sortOutStates' in the template layer of your signTemplates.yml:

Code (YAML):
Default:
  sortOutStates
:
  - OFFLINE
  - RESTARTING
  layouts
:
    Default
:
      lines
:
        '1'
: ' [&3 %name%&0]'
        '2'
: '&eServer is'
        '3'
: '&estarting ...'
        '4'
: ' ...'
      updateSpeed
: 5
As always, please leave a positive rating if you like TimoCloud.

~Timo
----------, Oct 8, 2018

Hi everyone,
This update just contains a little bugfix, namely repairing the previously non-functioning Auto Server Stopping feature which shuts down empty servers automatically when they are not needed anymore.

~Timo
----------, Oct 1, 2018

This update fixes a little bug where ServerGroups' maxAmount did not apply properly.
----------, Sep 16, 2018

Hey,
This update includes the versions 5.3.2-5.3.5 for which I did not release updates explicitly, in order not to spam you with alerts ;)

BugFixes
  • Fix API's PlayerObject#getServer() which always returned the first server the player joined on
  • Fix UnknownPluginMessageRecipient error in Core for plugin messages addressed to proxies by name
  • It is now checked if enough arguments are provided for TimoCloud commands
Features
  • Add feature for restart command: "restart BASE-1" will restart all servers/proxies on BASE-1, for example (PR submitted by @Period)
I am currently working on a very huge release, 6.0. It will certainly need several weeks until the release. Until then, only small fixes will be released.

Follow us on twitter to stay tuned: https://twitter.com/realTimoCloud

Join our Discord for support: https://discord.gg/RTNn4SE

~Timo
----------, Aug 12, 2018

This update contains several improvements:

  1. You can now add your custom command handlers per API. Register them at TimoCloudAPI.getCoreAPI().registerCommandHandler(). Commands entered in the Core console and ingame will be redirected to your command handler, like in Bukkit and BungeeCord.
  2. The algorithm of loading the Core plugins has been improved. This especially applies to retrieving of depends and soft-depends.
  3. Unit tests for PluginManager were added to cover the methods mentioned in #2. Existing tests have been improved as well. In future updates, the test coverage will be improved.
As always, please leave a review in order to help potential new users choosing TimoCloud.

For support, join our Discord: https://discord.gg/RTNn4SE

To stay tuned, follow us on Twitter: https://twitter.com/realTimoCloud
----------, Jul 13, 2018

Hey,
another update is being released. I worked a lot in order to improve TimoCloud's internal code structure. For example, I updated the whole internal messaging system, which should be maintainable way more easily by now. Additionally, a bunch of bugs has been fixed and performance has been improved, especially when transferring templates.

Here is a list of the major changes:

Improve performance, especially regarding file transfer.

Extend API so that every ServerObject and ProxyObject has a getId() method

Renew internal messaging system:
- Remove servers' and proxies' 'token' property
- Add an 'id' property instead
- Address messages to ids
- Retrieve servers and proxies within a group by id in constant time
- Remove JSONBuilder, add a Message object
- Let message managers only accept Message objects

Fix several bugs:
- Restart command
- STARTING state not displayed on signs
- Server directories not fully deleted after server stop
- Several other little bugs


Increase server/proxy temporary directory deletion delay to 300 seconds


As always: Please leave a review if you like TimoCloud. Follow us on Twitter ( https://twitter.com/realtimocloud) if you want to stay tuned and join our Discord ( https://discord.gg/RTNn4SE) if you have questions.

~Timo
----------, Jun 15, 2018

Hey,
this is just a little update which fixes the NullPointerException in the Core.

~Timo
----------, May 7, 2018

Hi,
this is just a little bugfix update: When executing the command "restart Lobby" (for example) and Lobby was static, there was an error in the console. This has now been fixed.
----------, May 2, 2018

Hey, this is a rather huge update introducing new api features, plugins in the core and much more. Here is a list of the most important news:

  • MessageAPI: The new message api enables you to communicate within the TimoCloud network. For example, you can send a message from BedWars-1 to Proxy-2 or from SkyWars-3 to the Core. Have a look at the tutorial: https://github.com/TimoCloud/TimoCloud/wiki/6.-API
  • Minor API changes: As this is an API update, minor changes have been performed in the API: The methods like TimoCloudAPI.getXXXInstance() have been renamed to TimoCloudAPI.getXXXAPI(), the old methods are deprecated but still usable. Also, the Event.class has been moved into another package, so if you're using events, please update your plugins. Changes like this usually won't be made this way, but I thought this was the best possibility to change that (when you have to change your plugins anyway).
  • Core Plugins: It is now possible to use plugins in TimoCloudCore! Have a look at the tutorial: https://github.com/TimoCloud/TimoCloud/wiki/7.-Core-Plugins
  • Code Cleanup: The code has been cleaned up quite a lot, in front of all the ServerManager class in the core. Every method in there has JavaDoc explanations for better readability. Additionally, the "heart method" of TimoCloud which starts all the servers and proxies has been rewritten, now using higher performance algorithms.
  • Bugfixes: Last but not least, many bugs have been fixed. For example: The CloudFlare "this record already exists" error, server not starting bugs, and much more.
  • FunFact: This version contains over 1.700 new lines of code!
Make sure to have read the whole changelog above so that you don't miss to update your plugins.

If you like TimoCloud, please leave a review!


Looking for cheap high-performance servers? Check out our partner Fee-Hosting.com ! Use the coupon code TIMOCLOUD to get 15% off your server's first period!
[​IMG]
----------, May 1, 2018

Hey,
FINALLY: The famous 'ram bug' has been fixed. I already fixed a similar bug recently, but the bug where the ram of a base got less and less on every server restart has been fixed now. It occurred when a base update has been sent while a server was started. When the server was started again, after the update, it was twice in the list of started servers - hence the base's ram has also been lowered twice.

A second bug which has been fixed only occurred very rarely, namely the cpu usage not being sent correctly by the base, leading to an error in the Core.

~Timo
----------, Mar 24, 2018

Hey,
this update just contains two small improvements and a little API update:
  1. Print the right error when a server/proxy start fails in the core.
  2. Lower base server/proxy start-delay.
The API now contains a method to check if TimoCloud is enabled on a server (for plugins which soft-depend on TimoCloud):

TimoCloudAPI.isEnabled()


~Timo
----------, Mar 24, 2018

Hi,
Known as the 'ram bug', a strange "bug" which was reported by multiple users during the last few weeks, has been "fixed" now.

The issue: The operating system uses free ram to cache files. This memory is not blocked, because it will be released instantly as soon as an application needs it. When TimoCloud made a call to get the free ram, just the really free ram has been returned, not including the ram used for caching. Hence, the operating system thought "hey I have enough ram, I can cache more files" and TimoCloud thought "hey why is there no free ram". Now, the ram used for caching counts as free ram as well, so you will have more memory available now.

Thanks to everyone who helped finding the "bug".

~Timo
----------, Mar 22, 2018

Hey,
version 5.1.1 contains several improvements:
  • Netty Epoll channels are used automatically if available - that means performance is improved!
  • Servers on signs are now correctly sorted (e.g. BedWars-10 comes after BedWars-9)
  • Nullpointer in sign system fixed (didn't occur often though)

Please don't forget to rate TimoCloud if you like it!

~Timo
----------, Mar 19, 2018

Hey,
In order to use multiple BungeeCord instances, one needs some possibility to spread the players among them. With version 5.0, TimoCloudCord has been introduced - an extra proxy which should handle joining players. Unfortunately, 2 layers of proxies have turned out to be not that stable, so a new feature has been introduced: CloudFlare Round Robin DNS.
That means you can generate an API key in your CloudFlare settings, put it in the new core/configs/cloudFlare.yml config together with your email address, and TimoCloud will handle the rest.

How Round Robin DNS works:
SRV records are DNS records just like A- or MX records. When the Minecraft client connects to a hostname, it will look for SRV records. If such records exist, it will choose one randomly and connect to the hostname+port it specified. Hence, players will be spread over the proxies automatically.

Things you have to do if you want to use CloudFlare support:
  • Use CloudFlare (cloudflare.com) as DNS. Why should I do that? 2 reasons: Firstly, because you TimoCloud is compatible. Secondly, because it offers free DDOS protection for your websites and fast-updating nameservers.
  • Create an API key and put it in core/configs/cloudFlare.yml. Put your email address in there as well and set "enabled" to true.
  • Configure the hostnames you want TimoCloud to create records for in core/configs/cloudFlare.yml.
  • Configure the hostnames per proxy group in core/configs/proxyGroups.json. TimoCloud will add an SRV record for a proxy for every hostname which is configured in your cloudFlare.yml AND in your proxyGroups.json.
  • You can use * in your configs for hostnames, like *.yourdomain.com
  • Make port 40.000-40.999 accessible through your firewall. TimoCloud will start proxies on ports 40.000+, so if you want players to be able to join them, these ports should be accessible. TimoCloud will start servers on port 41.000+, so make sure to close these ports in your firewall, or players might be able to hack your servers.
Things TimoCloud will do:
  • Create an A-record for every base + hostname, e.g. "base-1.base.yourdomain.com", "base-1.base.yourdomain2.com"
  • Create an SRV-record for every proxy + hostname, e.g. "SRV _minecraft._tcp.yourdomain.com -> base-1.base.yourdomain.com:40000"
----------, Mar 12, 2018

This update has been commited by @Lasergott . It introduces the messages.yml file in TimoCloudBungee and outputs a configurable message when a player types „/lobby“ (or a custom lobby command).
----------, Mar 6, 2018

This version fixes a bug happening on proxy template transfer (NullPointer).
----------, Mar 4, 2018

Hi,
I don't know how it happened, but even though I tested version 5.0.6 before releasing it, a critical bug is included which makes every proxy freeze on start-up. This version fixes that, along with a few other minor improvements.

~Timo
----------, Mar 3, 2018

Hi,
Since many of you struggled with using the TimoCloud API in your plugin's onEnable method, version 5.0.6 makes that possible.

(Explanation: TimoCloud waits and stops the thread until it receives the API data, and if your plugin has set TimoCloud as a dependency in your plugin.yml, the API data will be available in your onEnable method. It shouldn't need more than 0.1 seconds for the API data to arrive, so this update won't slow your server start down.)
----------, Mar 2, 2018

Hey,
As the new TimoCloud Spigot resource has been approved about 3 hours ago, this update announces version 5.0.3, 5.0.4 and 5.0.5.

Generally, a lot of bugs (> 10) have been fixed. For example, using random maps works now, a lot of errors in the console have been fixed, ... .

If you like TimoCloud, please make sure to leave a review! To stay tuned, follow us on Twitter or join our Discord!
----------, Mar 2, 2018

Resource Information
Author:
----------
Total Downloads: 12,211
First Release: Mar 1, 2018
Last Update: Jun 11, 2022
Category: ---------------
All-Time Rating:
69 ratings
Find more info at github.com...
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings