MCPcopy Index your code
hub / github.com/CloudNetService/CloudNet

github.com/CloudNetService/CloudNet @v3.4.5

Chat with this repo
repository ↗ · DeepWiki ↗ · release v3.4.5 ↗ · + Follow
8,200 symbols 27,673 edges 1,093 files 706 documented · 9%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Cloud Network Environment Technology 3 for Minecraft

CloudNet V3 Logo

What is CloudNet?

CloudNet is an alternative application that can dynamically and easy deploy Minecraft oriented software. It should greatly simplify the work and the technical processes within a Minecraft server network or with standalone servers. The program should be the basis for a Minecraft network. With a very extensive API and a very modular architecture, the program should be easily extensible in all its capabilities. It should be a solution to the most creative ideas that brighten our Minecraft world. From minigame networks, CityBuild servers to private servers with CloudNet is the work low. If it needs to be developed for CloudNet, it will provide an API (Driver) that can be used to develop Bukkit / Sponge / Nukkit plugins or to develop modules to extend the core system. The application wrapper for the JVM allows support for a wide variety of Minecraft server software and allows direct inclusion of the API to retain it throughout the lifetime of the application.

CloudNet v3 is the next generation of Minecraft Java and Bedrock cloud systems

Features

  • Plug&Play
  • Lightweight runtime launcher for multiple versions or easy developing on CloudNet
  • Installer of dependencies
  • Module system with default modules
  • User management system with roles
  • Easy server management with simple commands
  • Tasks to classify the services
  • Internal database system based on H2
  • Multi group and configuration
  • Dynamic Template Storage System
  • Dynamic Deployment System
  • Dynamic File inclusions for services with HTTP/HTTPS support
  • Live updating and working in a cluster
  • Smart service instance deployments in cluster
  • Supports static services for projects like CityBuild or Vanilla Minecraft
  • Automatic error log printer from running services into node console
  • New non blocking service console log caching without BungeeCord timeouts and infinity console streams
  • A fast HTTP/HTTPS server
  • A RESTful API
  • SSL/TLS support for security connections between the nodes in cluster or between the services and the node with or none own certificates
  • Multi system support and synchronizing in a network cluster
  • Support for Minecraft vanilla 1.0+
  • Application support for Nukkit Project for Bedrock Edition 1.7+
  • Application support for Bukkit based Minecraft ** 1.8.8+** (Spigot, PaperSpigot and more...)
  • Application support for Sponge based Minecraft servers with the SpongeAPI 7.0.0+
  • Application support for BungeeCord proxy server and forks for MC 1.8.8+
  • Application support for GlowStone Minecraft server for MC 1.8.9+
  • Application support for Velocity Minecraft Java edition proxy server
  • Application support for Waterdog Minecraft Bedrock Edition proxy server
  • Application support for GoMint Minecraft Bedrock Edition server software
  • A really big API for asynchronously programming or synchronously programming
  • A Bridge module, which includes the basics for the Bukkit, Sponge, BungeeCord and Nukkit API and for BungeeCord a /cloudnet command to dispatch the console of CloudNet ingame
  • BungeeCord exploit protection with the Bridge Module for BungeeCord MC 1.8.8+ and Velocity
  • Random Hub and /hub command with the Bridge Module for BungeeCord MC 1.8.8+ and Velocity
  • /cloudnet command which dispatches the console of CloudNet Ingame for BungeeCord MC 1.8.8+ and Velocity
  • A live, ingame, sorted signs system for Bukkit and Sponge with a dynamic animation and configuration for each group.
  • A SyncProxy module, which include the synchronization between two or more BungeeCord services in one group.
  • Motd layout configuration and synchronizing between Proxys with SyncProxy module
  • Animated Tablist configuration with SyncProxy module
  • A Permissions module which integrate the CloudNet user permissions system into the services plugin managers
  • A Smart module for advanced configurations and automatic task management
  • A Cloudflare module for dynamic adding and removing of DNS records for multi BungeeCord services
  • A Report module Easily create reports to hear the services or node in the cluster and provide easy support.
  • A Storage FTP/FTPS Module to transport templates from an external server via FTP / FTPS
  • A MySQL/MariaDB database support module as alternative central database for CloudNet data by other modules
  • Memory management protection
  • CPU management protection

Minimal requirements

  • Java 8 JRE (alt. 10 or 11)
  • 128MB JVM Heap size
  • 2GB DDR3 System memory
  • 2 virtual cores
  • Internet connection

Recommended requirements

  • Java 11 JRE
  • 512MB JVM Heap size
  • 8GB DDR3 system memory
  • 2-4 virtual cores
  • Internet connection

Build

Linux / OSX

git clone https://github.com/CloudNetService/CloudNet-v3.git
cd CloudNet-v3
./gradlew

Windows

git clone https://github.com/CloudNetService/CloudNet-v3.git
cd CloudNet-v3
gradlew.bat

Setup

CloudNet should be started via the following script via Shell.

Default:

java -XX:+UseG1GC -XX:MaxGCPauseMillis=50 -XX:CompileThreshold=100 -XX:+UnlockExperimentalVMOptions -XX:+UseCompressedOops -Xmx512m -Xms256m -jar launcher.jar

The launcher should install the application files, then the dependencies. If it is finished, it will run the application itself. For each version, this preparation is done dynamically.

Try it out!

Extension points exported contracts — how you extend this code

IDatabase (Interface)
@deprecated Replace with Database [9 implementers]
cloudnet-wrapper-jvm/src/main/java/de/dytanic/cloudnet/wrapper/database/IDatabase.java
IDatabase (Interface)
@deprecated Replace with Database [9 implementers]
cloudnet/src/main/java/de/dytanic/cloudnet/database/IDatabase.java
INameable (Interface)
Allows a class, to has a name removes the declaration that a class should have a name [63 implementers]
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/INameable.java
INetworkChannelHandler (Interface)
A networkChannelHandler provides the operation with the INetworkChannel @see INetworkChannel [14 implementers]
cloudnet-driver/src/main/java/de/dytanic/cloudnet/driver/network/INetworkChannelHandler.java
WrappedChannelMessageReceiveEvent (Interface)
(no doc) [7 implementers]
cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/WrappedChannelMessageReceiveEvent.java
Updater (Interface)
(no doc) [3 implementers]
cloudnet-launcher/src/main/java/de/dytanic/cloudnet/launcher/version/update/Updater.java
ITweaker (Interface)
(no doc) [2 implementers]
cloudnet-wrapper-jvm/minecraft-launchwrapper-api/src/main/java/net/minecraft/launchwrapper/ITweaker.java
LabyModConstants (Interface)
(no doc)
cloudnet-modules/cloudnet-labymod/src/main/java/eu/cloudnetservice/cloudnet/ext/labymod/LabyModConstants.java

Core symbols most depended-on inside this repo

get
called by 595
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/concurrent/ITask.java
append
called by 475
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/document/IReadable.java
getInstance
called by 422
cloudnet-driver/src/main/java/de/dytanic/cloudnet/driver/CloudNetDriver.java
getInstance
called by 346
cloudnet/src/main/java/de/dytanic/cloudnet/CloudNet.java
getMessage
called by 327
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/language/LanguageManager.java
getServiceId
called by 272
cloudnet/src/main/java/de/dytanic/cloudnet/service/ICloudService.java
getName
called by 262
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/INameable.java
add
called by 259
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/collection/NetorHashMap.java

Shape

Method 7,062
Class 985
Interface 116
Enum 37

Languages

Java100%

Modules by API surface

cloudnet-driver/src/main/java/de/dytanic/cloudnet/driver/serialization/DefaultProtocolBuffer.java180 symbols
cloudnet/src/main/java/de/dytanic/cloudnet/CloudNet.java76 symbols
cloudnet-driver/src/main/java/de/dytanic/cloudnet/driver/service/ServiceConfiguration.java70 symbols
cloudnet-modules/cloudnet-cloudperms/src/main/java/de/dytanic/cloudnet/ext/cloudperms/CloudPermissionsManagement.java61 symbols
cloudnet/src/main/java/de/dytanic/cloudnet/console/JLine3Console.java57 symbols
cloudnet-driver/src/main/java/de/dytanic/cloudnet/driver/permission/IPermissionManagement.java56 symbols
cloudnet-modules/cloudnet-npcs/src/main/java/eu/cloudnetservice/cloudnet/ext/npcs/configuration/NPCConfigurationEntry.java53 symbols
cloudnet-driver/src/main/java/de/dytanic/cloudnet/driver/serialization/ProtocolBuffer.java52 symbols
cloudnet-modules/cloudnet-bridge/src/main/java/de/dytanic/cloudnet/ext/bridge/node/player/NodePlayerManager.java45 symbols
cloudnet-common/src/main/java/de/dytanic/cloudnet/common/document/gson/JsonDocument.java41 symbols
cloudnet/src/main/java/de/dytanic/cloudnet/conf/IConfiguration.java40 symbols
cloudnet-modules/cloudnet-syncproxy/src/main/java/de/dytanic/cloudnet/ext/syncproxy/bungee/util/LoginProxiedPlayer.java40 symbols

Datastores touched

(mysql)Database · 1 repos

For agents

$ claude mcp add CloudNet \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact