Skip to content

Releases: CloudNetService/CloudNet

4.0.0-RC4 - Blizzard

16 Oct 16:54
ab12241
Compare
Choose a tag to compare
4.0.0-RC4 - Blizzard Pre-release
Pre-release

Update 4.0.0-RC4 - Blizzard

We are pleased to announce the fourth release candidate for CloudNet 4.0. This release includes some smaller fixes for reported issues and improvements. Additionally this release contains a fix for a major regression with templates that was introduced in RC3. We urge all users to install the update, as we will no longer provide support for RC3. 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 smaller issue with the sponge permission system which caused the system subjects (like the console) to not have any permissions at all (this caused for example issues when shutting down the server as the console had no permissions to execute stop which always leaded to forceful shutdowns)
  • Fixed a regression in the smart module which caused templates to get installed wrongly and even on static services causing the override of files
  • Fixed two small issues with packet decoding which lead to exceptions when too little data was received to decode the packet length or the source channel became inactive while trying to decode transmitted data

✨ Improvements

  • Added SpongeVanilla 1.19.2 to the template installer
  • All ssh connection exceptions are now logged to the console rather than getting silently ignored internally. This should make it easier to find issues when using the sftp template storage
  • When using tasks task <name> remove... the removed element is now getting displayed in the message rather than null

🔗 Links

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>