Skip to content
This repository has been archived by the owner on Jun 7, 2022. It is now read-only.

Advanced Setup

Marvin edited this page Mar 26, 2020 · 10 revisions

Advanced Installation

On this page we will show and explain you some advanced settings and the following Configurations of the CloudSystem.

Configuration files

CloudNet has multiple configuration files that control its behaviour and functionality.
This page covers the following files:

  • services.json
  • CloudNet-Master's & CloudNet-Wrapper's config.yml

services.json

Most configurations for CloudNet are done in the services.json file.

In the wrapper object you can change the name (id), the IP address and the user of the wrapper. In the proxyGroups object you can edit your proxy groups.

Proxy Configuration

The proxy configuration is part of the proxyGroups object inside the services.json file. Here you can edit all settings related to the proxy servers.

The proxyGroups setting itself is a list of objects, each representing one proxy group.
For each proxy group you can configure the behaviour and properties.

The following table contains an overview of the configurable properties of each proxy group.

Name Description
name The unique name for the proxy group. This name has to be unique!
wrapper A list of wrapper ids that this proxy group is allowed to be run on.
template The singular template of this proxy group. It is explained here.
proxyVersion The type of proxy software you want to run. Set this according to your proxy software, available configurations: BUNGEECORD, TRAVERTINE, WATERFALL, HEXACORD
startPort The TCP port the proxy should begin running from. Additional proxies of the same proxy group will get increased port numbers.
startup The amount of proxies to keep running at any given time.
memory The amount of memory to allocate for the proxy process in megabytes.
proxyConfig Advanced proxy configuration which can be toggled on when wanted. Handles the appearance of the proxy to players. It is explained here.
proxyGroupMode The group mode of the proxy group. Set to DYNAMIC (recommended) to load the proxy from a template or STATIC to reuse the same data across restarts.
settings An object that can be used to configure plugins that utilize the CloudNet API. Empty by default.

Master Configuration

In the config.yml inside of your CloudNet-Master directory you can configure settings related to the CloudNet Master instance.

The following table contains the properties of the configuration and a short description:

Name Description
auto-update Configures whether the master checks for updates when started and updates itself for the next start. Possible values: true, false.
server-name-splitter This is the splitter for the server names and IDs, for example "-" leads to Lobby-1
notify-service This controls whether the notification service is enabled, notifying players (usually admins) about servers that are starting or have been stopped. Possible values: true, false.
disabled-modules A list of module names that are disabled. The master will not load these modules.
haste.server A list containing hastebin compatible servers that are used when uploading logs for support.
server.hostaddress The local IP address/hostname the master should listen on for wrapper, proxy and server connections.
server.ports A list of ports the master should listen on for connections from wrappers, proxies and servers. In certain cases, multiple listening ports are needed.
cloudnet-statistics.enabled Controls whether CloudNet collects anonymized statistics about itself (currently unused, CloudNet does not collect statistics).
cloudnet-statistics.uuid The unique ID of this CloudNet installation. Used in conjunction with anonymized statistics. Possible values: true, false

Wrapper Configuration

In the config.yml inside of your CloudNet-Wrapper directory you can find settings related to the CloudNet-Wrapper.

The following table contains the properties of the configuration and a short description.

Name Description
connection.cloudnet-host This property refers to the hostname or IP address of the CloudNet-Master. Refer to the table above.
connection.cloudnet-port This property refers to the server ports of the CloudNet-Master. Refer tot he table above.
general.wrapperId A unique name and ID for the wrapper. Used in conjunction with authentication to only allow authenticated wrappers to connect to the master.
general.internalIp The IP address of the wrapper used by the wrapper, proxies and servers to connect to the CloudNet-Master.
general.proxy-config-host The IP address that proxy servers on this wrapper will use to listen for incoming connections.
general.max-memory The amount of memory in megabytes being configured for use by running services. Make sure that this amount is reasonably chosen and does not exceed your installed system memory.
general.startPort The lowest TCP port used by this wrapper. The CloudNet-Wrapper will use randomly increasing port numbers for game servers.
general.auto-update Configures whether the wrapper checks for updates when started and updates itself for the next start. Possible values: true, false.
general.saving-records Configures whether log files should be copied to the records directory after a service has been stopped or died. Possible values: true, false.
general.maintenance-copyFileToDirectory Configures whether the state of non-static game servers in maintenance mode should be copied into their respective templates upon shutdown. Use as a maintenance option. Possible values: true, false.
general.processQueueSize The amount of services being launched at the same time. Once a service has been fully started, a new one is allowed to start. This can be used to limit the resource consumption of the CloudNet-Wrapper when starting up.
general.percentOfCPUForANewServer Limits the start of new servers once the total system CPU usage is higher than configured.
general.percentOfCPUForANewProxy Limits the start of new proxies once the total system CPU usage is higher than configured.

CloudNet directories

The Cloud creates a few directories so here is a tour through them.

We begin with the Master-folders:

Path Description
database Holds all files making up the database of CloudNet.
groups Stores all server group configurations.
modules The directory where all CloudNet-Master modules are loaded from.
local Contains a lot of files and directories for caching, sign layouts, permissions, logs, CloudNet-Master templates etc.

Now the Wrapper-folders:

Path Description
local Contains a lot of files and directories for caching, software builders, logs, static servers, server list icon, default server software and CloudNet-Wrapper templates.
temp This directory only exists while the CloudNet-Wrapper is running. It contains the currently running dynamic services.