Signs Module
The sign system has a sorted, animated live-updating sign system, depending on the order of occupation. The tags can even be targeted to specific groups with a template path limitation, which will then only show services with the specified template. Every service behind the signs themselves needs the CloudNet Bridge module, so that the information for the presentation on the signs is available. Otherwise, the signs will only show the server in the starting phase. The signs can be managed using the /cloudsign
command, which is available on Bukkit or Nukkit servers.
Konfiguration
The configuration file is located under the following path: modules/CloudNet-Signs/config.json
configurations
This is a JsonArray containing different SignLayout configurations for each Task on which signs will be used.
targetGroup
Defines the target group of this SignLayout configuration (e.g. Lobby
)
Information
This is the group on which the signs are located
switchToSearchingWhenServiceIsFull
Whether services should disappear from the signs when they are full (true
/false
).
knockbackDistance
The distance of the knockback when a players is staying directly in front of a sign.
knockbackStrength
The strength of the knockback when a players is staying directly in front of a sign.
taskLayouts
A JsonArray which can contain different sign layouts for certain tasks.
task
defines for which task this custom layout is.
Hinweis
The layouts there have the same structure as the default layouts in the configuration
defaultOnlineLayout
The default layout for online services.
defaultEmptyLayout
The default layout for empty services.
defaultFullLayout
The default layout for full services.
startingLayouts
Contains an array of signLayouts
through which can be iterated
Will be shown when a service is starting
The speed can be addressed by changing the animationsPerSecond
option
searchLayouts
Contains an array of signLayouts
through which can be iterated
Will be shown when a no service is available for this sign
The speed can be addressed by changing the animationsPerSecond
option
Placeholders
These are all placeholders that can be used in the SignLayout:
%task% --------------------- The name of the task of the server on the sign
%task_id% ------------------ The id of the service (example: Lobby-1 -> 1)
%group% -------------------- The target group of the sign
%name% --------------------- The name of the service on the sign
%uuid% --------------------- The name of the node the service on the sign is running on
%node% --------------------- The name of the service on the sign
%environment% -------------- The environment of the service on the sign
%life_cycle% --------------- The current life cycle of the service on the sign
%runtime% ------------------ The runtime of the service on the sign (Normally "jvm")
%port% --------------------- The port of the service on the sign
%cpu_usage% ---------------- The current CPU usage of the service on the sign
%threads% ------------------ The current amount of threads of the service on the sign
%online% ------------------- "Online" or "Offline"
%online_players% ----------- The current amount of max players of the service on the sign
%max_players% -------------- The current amount of max players of the service on the sign
%motd% --------------------- The current motd of the service on the sign
%extra% -------------------- The current extra of the service on the sign (can only be set with the API)
%state% -------------------- The current state of the service on the sign (can only be set with the API)
%version% ------------------ The server version of the service on the sign
%whitelist% ---------------- "Enabled" or "Disabled" - Spigots whitelist
Sample Configuration
The default configuration of the Sign Module looks like this:
{
"config": {
"configurations": [
{
"targetGroup": "Lobby",
"switchToSearchingWhenServiceIsFull": true,
"knockbackDistance": 1.0,
"knockbackStrength": 0.8,
"taskLayouts": [
{
"task": "Template_Group_Layout",
"onlineLayout": {
"lines": [
"&eLobby &0- &e%task_id%",
"&8[&eLOBBY&8]",
"%online_players% / %max_players%",
"%extra%"
],
"blockType": "GOLD_BLOCK",
"subId": -1
},
"emptyLayout": {
"lines": [
"&7Lobby &0- &7%task_id%",
"&8[&7LOBBY&8]",
"%online_players% / %max_players%",
"%extra%"
],
"blockType": "GOLD_BLOCK",
"subId": -1
},
"fullLayout": {
"lines": [
"&6Lobby &0- &6%task_id%",
"&8[&6PRIME&8]",
"%online_players% / %max_players%",
"%extra%"
],
"blockType": "EMERALD_BLOCK",
"subId": -1
}
}
],
"defaultOnlineLayout": {
"lines": [
"Β§8βΊ Β§0%name% Β§8β",
"§a§lJoin",
"%motd%",
"Β§8β Β§0%online_players% / %max_players% Β§8β"
],
"blockType": "GREEN_TERRACOTTA",
"subId": -1
},
"defaultEmptyLayout": {
"lines": [
"Β§8βΊ Β§0%name% Β§8β",
"§a§lJoin",
"%motd%",
"Β§8β Β§0%online_players% / %max_players% Β§8β"
],
"blockType": "CYAN_TERRACOTTA",
"subId": -1
},
"defaultFullLayout": {
"lines": [
"Β§8βΊ Β§0%server% Β§8β",
"Β§6Β§lVIP",
"%motd%",
"Β§8β Β§0%online_players% / %max_players% Β§8β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": -1
},
"startingLayouts": {
"signLayouts": [
{
"lines": [
"Β§eβ β β β β β β β β",
"Server is",
"starting",
"Β§eβ β β β β β β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β Β§eβ β β β β β β β",
"Server is",
"starting",
"Β§6β Β§eβ β β β β β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β Β§eβ β β β β β β",
"Server is",
"starting",
"Β§6β β Β§eβ β β β β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β Β§eβ β β β β β",
"Server is",
"starting",
"Β§6β β β Β§eβ β β β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β β Β§eβ β β β β",
"Server is",
"starting",
"Β§6β β β β Β§eβ β β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β β β Β§eβ β β β",
"Server is",
"starting",
"Β§6β β β β β Β§eβ β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β β β β Β§eβ β β",
"Server is",
"starting",
"Β§6β β β β β β Β§eβ β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β β β β β Β§eβ β",
"Server is",
"starting",
"Β§6β β β β β β β Β§eβ β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β β β β β β Β§eβ",
"Server is",
"starting",
"Β§6β β β β β β β β Β§eβ"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
},
{
"lines": [
"Β§6β β β β β β β β β",
"Server is",
"starting",
"Β§6β β β β β β β β β"
],
"blockType": "ORANGE_TERRACOTTA",
"subId": 1
}
],
"animationsPerSecond": 2
},
"searchLayouts": {
"signLayouts": [
{
"lines": [
"Β§cβ β β β β β β β β",
"Searching for",
"servers",
"Β§cβ β β β β β β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β Β§cβ β β β β β β β",
"Searching for",
"servers",
"Β§4β Β§cβ β β β β β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β Β§cβ β β β β β β",
"Searching for",
"servers",
"Β§4β β Β§cβ β β β β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β Β§cβ β β β β β",
"Searching for",
"servers",
"Β§4β β β Β§cβ β β β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β β Β§cβ β β β β",
"Searching for",
"servers",
"Β§4β β β β Β§cβ β β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β β β Β§cβ β β β",
"Searching for",
"servers",
"Β§4β β β β β Β§cβ β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β β β β Β§cβ β β",
"Searching for",
"servers",
"Β§4β β β β β β Β§cβ β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β β β β β Β§cβ β",
"Searching for",
"servers",
"Β§4β β β β β β β Β§cβ β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β β β β β β Β§cβ",
"Searching for",
"servers",
"Β§4β β β β β β β β Β§cβ"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
},
{
"lines": [
"Β§4β β β β β β β β β",
"Searching for",
"servers",
"Β§4β β β β β β β β β"
],
"blockType": "RED_TERRACOTTA",
"subId": 14
}
],
"animationsPerSecond": 2
}
}
],
"messages": {
"server-connecting-message": "&7You will be moved to &c%server%&7...",
"command-cloudsign-remove-success": "&7The target sign will removed! Please wait...",
"command-cloudsign-create-success": "&7The target sign with the target group &6%group% &7is successfully created.",
"command-cloudsign-cleanup-success": "&7Non-existing signs were removed successfully",
"command-cloudsign-sign-already-exist": "&7The sign is already set. If you want to remove that, use the /cloudsign remove command"
}
}
}