Documentation Index
Fetch the complete documentation index at: https://new-docs.simplecloud.app/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Signs Plugin lets players click signs to connect to different servers in your network.
Supported Software
| Server Type | Plugin Support |
|---|
| Paper & Forks | ✅ Yes |
| Spigot & Forks | 🔄 Planned |
Quick Setup
- Download the plugin from GitHub
- Place it in your server template’s plugins folder
Configuration
The Signs Plugin offers extensive configuration options for dynamic and engaging server signs. Each configuration entry defines sign behavior based on server state.
Example configuration:
name: "starting" # Unique identifier
rule: "STARTING" # Server state this applies to
server-name: "%group%-%numerical-id%" # Dynamic name template
priority: 0 # Rule precedence (higher overrides lower)
frame-update-interval: 500 # Update interval in milliseconds
frames:
- lines:
- "starting."
- "<group>-<numerical-id>"
- lines:
- "starting.."
- "<group>-<numerical-id>"
- lines:
- "starting..."
- "<group>-<numerical-id>"
Sign Rules
| Rule | Description | State Condition |
|---|
STARTING | Starting servers | Server state is STARTING |
OFFLINE | Inactive servers | Server is null |
MAINTENANCE | Maintenance mode | Server is AVAILABLE with maintenance=true |
FULL | Maximum capacity | Server is AVAILABLE with playerCount == maxPlayers |
EMPTY | No players | Server is AVAILABLE with playerCount == 0 |
ONLINE | Active servers | Server is AVAILABLE |
Placeholders
Available placeholders for sign configuration (all follow the MiniMessage <placeholder> syntax):
| Placeholder | Description | Default |
|---|
<group> | Server group | ”unknown” |
<numerical-id> | Server ID | ”0” |
<type> | Server type | ”unknown” |
<host> | Server host | ”unknown” |
<ip> | Server IP | ”unknown” |
<port> | Server port | ”0” |
<min-memory> | Min memory | ”0” |
<max-memory> | Max memory | ”0” |
<max-players> | Max players | ”0” |
<player-count> | Current players | ”0” |
<state> | Server state | ”unknown” |
<player_name> | Player name (rules run for a player only) | n/a |
<player_sender> | Player’s proxy/server name | n/a |
<property:[name]:[default]> | Custom property lookup with optional fallback | "" |
For dynamic sign properties you can use the tag <property:joinstate:'Maintenance'>. The resolver looks up joinstate in the server’s properties map and, if it isn’t present, falls back to the optional default argument (empty string when omitted).
Example Usage
name: "online"
rule: "ONLINE"
display-name: "<group>-<numerical-id>"
priority: 50
frame-update-interval: 500
frames:
- lines:
- "Server: <group>"
- "ID: <numerical-id>"
- "Players: <player-count>/<max-players>"
- "State: <state>"
Commands
| Command | Description |
|---|
/sign add <group> | Register new sign |
/sign remove [group] | Unregister sign |
Permissions
| Permission | Description |
|---|
signs.command.* | All sign commands |
signs.command.add | Register new signs |
signs.command.remove | Unregister signs |
signs.command.remove.group | Remove by group name |