Skip to content

4.0.0-RC1 - Blizzard

Pre-release
Pre-release
Compare
Choose a tag to compare
@byRoadrunner byRoadrunner released this 15 Aug 18:44
· 372 commits to beta since this release
3d237aa

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>