Skip to content

Releases: CloudNetService/CloudNet

4.0.0-RC3 - Blizzard

09 Oct 19:38
f7f9c6d
Compare
Choose a tag to compare
4.0.0-RC3 - Blizzard Pre-release
Pre-release

Update 4.0.0-RC3 - Blizzard

We are pleased to announce the third release candidate for CloudNet 4.0. This release includes some smaller fixes for reported issues and improvements. We urge all users to install the update, as we will no longer provide support for RC2. Users who want to switch from 3.4.X to 4.0 can find instructions in the release information for RC1.

Cheers!
(Please remember, CloudNet is provided as-is - we are not responsible for data loss or corruption. You are encouraged to back up your files before any updates!)

Changelog

🐛 Fixes

  • Fixed a small issue causing the default Influx config to throw an exception when starting up (contribution by @robertschuck)
  • Fixed some issues that were introduced in the last release related to the switch to NPC-Lib v2. This includes some exceptions which can be thrown in specific scenarios, as well as the issue that hitting into the air wouldn't be imitated by spawned NPCs
  • Fixed an issue where installed components on a service might differ from the requested ones, causing issues when (for example) using the smart module. A new collection of all installed templates/inclusions/deployments is now available from a SpecificCloudServiceProvider for api users to see which requested components are actually installed

✨ Improvements

  • Tasks and Groups are now able to specify environment variables per service. For api developers that feature is accessible from the ServiceConfiguration (and builder).
  • Add a command which allows to remove all created NPCs, or all NPCs which are targeting a specific group
  • Aside from tasks rename it's now possible to rename groups using groups rename <OldName> <NewName> as well.
  • Small code cleanups and performance improvements were made when using Waterfall (or a fork of Waterfall) as the proxy software.

📦 Other

  • Removed the ProcessHandle from the CloudServicePostProcessStartEvent as some services might not have one available and are therefore unable to call the event (for example services running in Docker).
  • Added two new events which are called on the local node instance and can be used by modules to modify the service preparation cycle: CloudServicePrePrepareEvent and CloudServicePostPrepareEvent. Note that the pre event is called after some initial data was made available, for example determining the initial templates that should get installed onto the service

🔗 Links

4.0.0-RC2 - Blizzard

02 Oct 19:23
fa808a7
Compare
Choose a tag to compare
4.0.0-RC2 - Blizzard Pre-release
Pre-release

Update 4.0.0-RC2 - Blizzard

We are pleased to announce the second release candidate for CloudNet 4.0. This release includes a large number of bug fixes reported by our users during RC1. Thank you to everyone who reported bugs and suggested new features, this is the only way we can improve CloudNet! We urge all users to install the update, as we will no longer provide support for RC1. Users who want to switch from 3.4.X to 4.0 can find instructions in the release information for RC1.

Cheers!
(Please remember, CloudNet is provided as-is - we are not responsible for data loss or corruption. You are encouraged to back up your files before any updates!)

Changelog

🐛 Fixes

  • Fixed an issue with invalid BungeeCord configuration files caused by varying indentation depths
  • Improved the java version checking when installing files or resolving the java command of a task in order to support all java vendors
  • Fixed an issue that caused sign & npc configuration entries not to be converted correctly when using an H2 database
  • Resolved an exception thrown by module install when trying to install a module twice
  • Fixed an issue that caused jvm options and process parameters not to be applied to services in some cases
  • Fixed a possible issue with a force-shared scoreboard set by the npc module
  • Fixed an issue where fallbacks were not resolved anymore when players were kicked during a server connect, but the connection to the current service was retained

✨ Improvements

  • Hex colors (using the &#rrggbb format) are now supported on BungeeCord as well
  • Improve handling of player disconnections across the cluster
  • Improved mysql database searches using json columns
  • Improved the cloudflare module implementation
  • A proper error message is now logged when trying to download updates from an invalid update repository or branch

📦 Other

  • Removed the already unused connect host address from the config
  • Renamed ser <service> toggle to ser <service> screen
  • NPCs now support displaynames that are longer than 16 characters by only using info lines
  • Moved the inventory title configuration for NPCs from the display name to its own configuration option
  • The forced-host option of a fallback is now only used when initially connecting to a proxy, further fallback searches will ignore these fallbacks

🔗 Links

4.0.0-RC1 - Blizzard

15 Aug 18:44
3d237aa
Compare
Choose a tag to compare
4.0.0-RC1 - Blizzard Pre-release
Pre-release

Update 4.0.0-RC1 - Blizzard

Changelog:

Additions:

  • The template installer supports now both templates and static services
  • Tasks can get renamed using the tasks command
  • The Minestom platform is now supported
  • The fabric platform is now supported
  • Reworked REST-API and added documentation for it
  • Reworked the command system
  • Service starts can get deferred if specified
  • Extended the sponge support to signs and permissions
  • First and third party modules can be installed using the modules command
  • Nodes can reconnect to the cluster (experimental)
  • Nodes have a new draining mode – stop after all services are gone
  • Sync modules, tasks and more between your nodes
  • Docker is now supported for the node and each individual service
  • Added some basic PAPI placeholders
  • The NPCs have many new options now (like flying with an elytra)
  • Added support for MongoDB and Xodus databases
  • Added support for S3 as remote template storage
  • Influx db is now supported (create Grafana dashboards and more)
  • The configs are no longer reset if the JSON syntax is invalid
  • Each task can now have its own host address
  • The Smart module is now actually smart

No longer supported:

  • Removed the support for Glowstone and GoMint
  • The cloud only supports Java 17 and above (while keeping Minecraft 1.8 supported)

API:

  • New flow API style – no more getter and setter prefixes
  • The bridge supports the adventure API where applicable
  • Most of CloudNet’s objects are now immutable and therefore have builders for modifications
  • The whole driver and bridge are documented
  • RPC for the communication between the wrapper and the node

Upgrade Guide:

⚠️ Since the release of CloudNet 4.0.0-RC1, we now require Java 17. Please make sure that you upgrade your Java installation before proceeding. Old Spigot versions (for example 1.8) which are normally not supporting Java 17 are handled in a way that they do so automatically!

Upgrading from an old CloudNet 3.4 installation is very straight forward and easy to do. The following steps are needed before you are able to upgrade to 4.0.0-RC1:

  • Backup your old installation! It might be a rare case, but if something breaks you can easily roll back to a working installation.
  • Delete the old launcher.jar file
  • Delete the old launcher.cnl file
  • Delete the old launcher directory (this step is optional, but cleans up the old clutter from previous installed versions)
  • Delete the cloudnet-storage-ftp and cloudnet-rest module files (all other modules will be upgraded automatically). Note that CloudNet 4 no longer supports FTP template storages, only SFTP. If you want to reinstall the modules, just use module install in the console once you finished the upgrade.

Now you can proceed with the normal installation steps, all other upgrades will get executed automatically when starting the new version of CloudNet!

For developers:

Javadocs: https://cloudnetservice.eu/cloudnet/docs/4.0.0-RC1/

CloudNet is using the eu.cloudnetservice.cloudnet group id and is available through maven central. The most important
submodules are:

artifact id usage
driver When developing plugins or modules, available on all platforms.
node When developing a module which needs more specific access to node functions than the driver can offer.
wrapper-jvm When developing plugins which need some more specific access to the service api than the driver can offer.
bridge When trying to catch player events and/or interacting with players regardless where they are on the network.
bom When you want to import all dependencies with the same version based on the imported bill of materials.

To add the CloudNet dependency using gradle:

repositories {
  // ensure maven central is added
  mavenCentral()
}

dependencies {
  // optional - you can also specify versions directly
  implementation platform('eu.cloudnetservice.cloudnet:bom:4.0.0-RC1')
  compileOnly 'eu.cloudnetservice.cloudnet:driver'

  // without bom
  compileOnly 'eu.cloudnetservice.cloudnet:driver:4.0.0-RC1'
}

To add the CloudNet dependency using maven:

<!-- optional - you can also specify versions directly -->
<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>eu.cloudnetservice.cloudnet</groupId>
      <artifactId>bom</artifactId>
      <version>4.0.0-RC1</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

<dependencies>
  <dependency>
    <groupId>eu.cloudnetservice.cloudnet</groupId>
    <artifactId>driver</artifactId>
    <version>4.0.0-RC1</version> <!-- only needed when bom is not used -->
    <scope>provided</scope>
  </dependency>
</dependencies>

v3.4.5 Fix - Earthquake

24 Jun 15:19
0f8f0d7
Compare
Choose a tag to compare

Update v3.4.5 - Earthquake

Fixes:

  • Fixed exception on ServerListPingEvent in 1.19

Changes:

  • Updated the backup versions to 1.19

All Commits: v3.4.4...v3.4.5

v3.4.4 Fix - Earthquake

06 Jun 15:45
ad295b2
Compare
Choose a tag to compare

Update v3.4.4 - Earthquake

Fixes:

  • Fixed thread pool misconfiguration resulting in increased api response times

Changes:

  • Updated the backup versions to 1.18.2 and deprecated 1.17

All Commits: v3.4.3...v3.4.4

v3.4.3 Fix - Earthquake

30 Jan 14:20
cca9610
Compare
Choose a tag to compare

Update v3.4.3 - Earthquake

Fixes:

  • Fix npc infoline duplications
  • Fix random cluster disconnects
  • Fix large service starting

All Commits: v3.4.2...v3.4.3

v3.4.2 Hotfix - Earthquake

30 Dec 11:22
99bc6b4
Compare
Choose a tag to compare

Update v3.4.2 - Earthquake

Fixes:

  • Now really properly escaped SQL match patterns (Names containing '_' are now searched properly)

All Commits: v3.4.1...v3.4.2

v3.4.1 Minecraft 1.18 Support - Earthquake

23 Dec 20:27
503ef97
Compare
Choose a tag to compare

Update v3.4.1 - Earthquake

Additions:

  • Added support for Minecraft 1.18
  • Added support for WaterdogPE

Fixes:

  • Properly escaped SQL match patterns (Names containing '_' are now searched properly)

Changes:

  • Updated all Minecraft 1.8 - 1.17 downloads due to critical security vulnerabilities in Log4J
  • Velocity downloads are now fetched using the paper downloads API

All Commits: v3.4.0...v3.4.1

v3.4.0 - Earthquake

25 Jul 14:52
e62b24c
Compare
Choose a tag to compare

Update v3.4.0 - Earthquake

Additions:

  • Added a requiredPermission property to tasks
  • Added support for Raspberry Pi and Apple M1
  • Added the French language
  • Added IPv6 support to the whole cloud
  • Added commands to manage the configs of the NPC, Bridge and SyncProxy-modules
  • Added forced hosts to the Bridge-module
  • Added server group specific fallbacks
  • Added a property to set a specific java version for a task
  • Added Tuinity to the template installer
  • Added knockback & Labymod emotes to the NPC-module
  • Added support for Labymod banners in the Labymod-module
  • Added support for Minecraft 1.17
  • Added a custom process timeout
  • Added start and stop messages for services on different nodes
  • Added a command to delete a player from the database
  • Added more settings for the connection-pool in the MySQL-module

Fixes:

  • Improved the sorting of the signs
  • Replaced some missing placeholders in the SyncProxy-module
  • Fixed the support for Java 16 and upcoming versions
  • Improve the command system's processing performance
  • Fixed clearing the properties of stopped services
  • Improved the permission system
  • Fixed NPC double interacts
  • Fixed synchronization problems in the cluster
  • Improved speed of channel messages

Changes:

  • The cluster uses a head node to start the services
  • The whole Cloudflare module was rewritten
  • Removed the usage of java-io where capable
  • The login & logout strategy to prevent ghost players
  • Packets are now sent in chunks
  • Changed how task files are loaded
  • Changed how events are invoked to improve performance
  • Adjusted the default style of the tablist in the SyncProxy-module

API changes:

  • Added template modifications from services
  • Added a global PlayerExecutor to execute methods for every online player
  • Deprecated the ITaskScheduler and replaced it with a ScheduledExecutorService
  • Deprecated some TemplateStorage methods in the driver, use CloudNetDriver#getLocalTemplateStorage
  • Removed old deprecated & scheduled for removal methods from the driver
  • Added a PlayerProvider to the IPlayerManager to retrieve online players
  • Added some PlayerExecutor#connect methods to connect the player on a fallback, a specific group, specific task using a ServerSelectorType
  • Added an AdventureComponentMessenger to support the adventure text 4 API & deprecated the old VelocityComponentMessenger
  • Added API access to the CloudServiceFactories
  • Moved the NameTags from the CloudPerms-Module to the SimpleNameTags plugin and deprecated it in the CloudPerms-Module
  • Added CloudNetDriver#getNodeUniqueId to retrieve the ID of the node

For developers:

Documentation: https://cloudnetservice.eu/cloudnet/docs/v3.4.0-RELEASE/

Maven repository for releases:

<repository>
    <id>releases</id>
    <url>https://repo.cloudnetservice.eu/repository/releases/</url>
</repository>

Maven repository for snapshots:

<repository>
    <id>snapshots</id>
    <url>https://repo.cloudnetservice.eu/repository/snapshots/</url>
</repository>

Modules and plugins

<!--  cloudnet application for modules (NOT AVAILABLE FOR PLUGINS!) -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet driver for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-driver</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet wrapper for plugins -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-wrapper-jvm</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet bridge module for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-bridge</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet syncproxy module for plugins (proxy) and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-syncproxy</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet signs module for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-signs</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet npcs module for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-npcs</artifactId>
    <version>3.4.0-RELEASE</version>
    <scope>provided</scope>
</dependency>

v3.3.0 - Hurricane

16 May 16:36
8ef0d76
Compare
Choose a tag to compare

Update v3.3.0 - Hurricane

Changes:

  • Add new CloudSetup
  • Add Global Groups
  • Improved command system
  • Split tasks-command to tasks and groups command
  • Accept wildcards in the tasks command
  • Rework the screen command
  • Add BALANCED template installer - spread task templates over all services
  • Allow numbers lower than 1 for the animationsPerSecond in the SyncProxy tablist
  • Reworked launcher
  • Reworked SyncProxy module
  • Added CloudNet-NPCs module
  • Added CloudNet-LabyMod module
  • Fixed fallbacks
  • Fixed OnlyProxyJoin
  • Fixed data transfer between different Operating Systems
  • Fixed permission checks in LoginEvent
  • Reduced cloud heap usage
  • Removed GoMint and ProxProx support
  • Added a new option to the Smart module - keep a specified amount of empty services of a task online
  • Added support for negative potency on permissions on Bukkit servers to CPerms

API changes:
Please adjust your plugins and modules, deprecated methods will be removed in a future release.

  • Deprecated some Singletons (e.g. AbstractSignManagement, BridgePlayerManager), should now be accessed via the CloudNetDriver#getServicesRegistry. See the cloudnet-examples module for help.
  • Deprecated CloudPermissionsManagement#getInstance, should now be accessed via CloudNetDriver#getPermissionManagement
  • Deprecated property methods in class ServiceInfoSnapshotUtil, properties can now be accessed via ServiceInfoSnapshot#getProperty(ServiceProperty)
  • Deprecated player methods in IPlayerManager, should now be accessed via IPlayerManager#getPlayerExecutor and ICloudPlayer#getPlayerExecutor
  • Added Bungee/VelocityPlayerFallbackEvent
  • Added CloudSignInteractEvents for Bukkit and Nukkit
  • Added NodeLocalBridgePlayerProxyLoginRequestEvent

Launcher changes:

For this update we have almost completely rewritten the CloudNetLauncher.
It will now automatically launch the newest version, there won't be any issues with launching an old version anymore.
To be able to use the "new" launcher please don't use auto-update for this update and replace the launcher manually. Please also delete your launcher.cnl (save CloudNet properties which you have changed), so that you can configure the new features of the launcher.

New modules:

This update introduces two more modules:

  • CloudNet-NPCs - Serverselector NPCs
    Notice: The default NPC inventory in the NPC configuration consists of items only existing on spigot 1.13.2+!
    If you are using a version below, you have to change the item configuration for the items to show up in the inventory.
  • CloudNet-LabyMod - Shows LabyMod & Discord friends which gamemode you play on your server.

Both modules can be found in the CloudNet zipfile and have to be put into the modules folder of the Cloud.

For developers:

Documentation: https://cloudnetservice.eu/cloudnet/docs/v3.3.0-RELEASE/

We're using a new repository software, new releases and snapshots won't be published in the old repo (https://cloudnetservice.eu/repositories/).

New Maven repository for releases:

<repository>
    <id>releases</id>
    <url>https://repo.cloudnetservice.eu/repository/releases/</url>
</repository>

New Maven repository for snapshots:

<repository>
    <id>snapshots</id>
    <url>https://repo.cloudnetservice.eu/repository/snapshots/</url>
</repository>

Modules and plugins

<!--  cloudnet application for modules (NOT AVAILABLE FOR PLUGINS!) -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet driver for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-driver</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet wrapper for plugins -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-wrapper-jvm</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet bridge module for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-bridge</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet syncproxy module for plugins (proxy) and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-syncproxy</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet signs module for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-signs</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>
<!--  cloudnet npcs module for plugins and modules -->
<dependency>
    <groupId>de.dytanic.cloudnet</groupId>
    <artifactId>cloudnet-npcs</artifactId>
    <version>3.3.0-RELEASE</version>
    <scope>provided</scope>
</dependency>