|Plugin Home Page||https://www.spigotmc.org/resources/serversigns.10693/|
|Plugin Source Code||https://github.com/serversigns/ServerSigns/|
|UniversalCraft Production Use||All Paper Servers (version 4.7.0, installed 02 Jul 2021)|
|UniversalCraft Test Use||All Paper Servers (version 4.7.0, installed 02 Jul 2021)|
First released in 2011, this very useful plugin allows sequences of commands to be invoked macro-style when a player taps specific in-game Minecraft blocks such as a sign. It is server owners that define which commands are performed when a particular instance of a sign is tapped by a player and, crucially, this can include commands to which the player does not normally have access to.
An extract from the top of the default configuration file that is created when the plugin is first installed is shown below. The top of the configuration file defines which blocks can have ServerSigns commands applied to them:
This plugin continues to receive regular updates when new versions of Minecraft are released so should include the latest sign blocks when the configuration file is created for the first time. From then on though it is the responsibility of the server owner to add any new sign blocks to the list. A quick way of doing this is to just delete the config.yml file after installing a new version of ServerSigns and have the plugin create a new version of the file. Alternatively, note the “any_block” configuration option which allows ServerSigns commands to be applied to all Minecraft blocks.
CAUTION: Note that issuing many of the ServerSigns administration commands puts your game client into a very limited mode where you can no longer place or break blocks in the game until you complete the ServerSigns operation that you initiated. If, for whatever reason, you are unable to complete a ServerSigns command such as right-clicking a block to register it, enter the command /serversigns void to return your game client back to normal.
To start using the ServerSigns plugin, begin by placing a Minecraft sign into the world and issue the command /serversigns create. As the on-screen instructions state, right-click the block that you want the ServerSigns plugin to work with. By default, you can right-click any standard Minecraft sign to convert it into a ServerSigns sign, but as mentioned above when discussing the configuration file for this plugin, you can define that certain other non-sign blocks can be controlled by ServerSigns, or even absolutely any type of Minecraft block at all if needed.
Once a sign or block has been brought under the control of the ServerSigns plugin it can’t be destroyed. To remove a ServerSigns-controlled sign from the game completely, return it to a normal sign first using the /serversigns delete command or simply have your in-game player crouch down when attempting to destroy the sign.
To add an action to a ServerSigns sign enter /serversigns add command followed by the command to be run. For example:
/serversigns add /about
After entering the command, right-click the sign that you wish to add the action to. That command will then be issued when a player right-clicks the sign:
A single ServerSigns sign may have many actions assigned to it with each command being run in sequence when a player right-clicks that sign. By default, all commands that are invoked are run as if the player themselves typed those commands. In other words, if a player would receive an error message if they typed a particular command that they do not have permission to use, they would see exactly the same error message if that command had been defined by the server owner as a ServerSigns action.
A server owner may often want to create a sign that allows a specific command to be invoked that the player right-clicking the sign does not normally have permission to use. This can be done by prefixing the action with the literal string “<server>“. ServerSigns actions created with this parameter will be invoked as if the command was typed into the server console, in other words, as if the command was entered by a server operator and without any permission checks taking place. A *really* bad example of this would be to allow any player to shutdown your server just by right-clicking a sign(!):
/serversigns add <server> /stop
It is often the case that a ServerSigns action command that is run on the console as an operator command should still directly affect in some way the player who right-clicked the ServerSigns sign. For example, if a server owner wanted to gift a free apple to a player called “Notch”, they would type:
/give Notch apple 1
To create a ServerSigns sign that automatically dispenses a free apple to whomever right-clicks the sign, the above command would need to be defined in a more generic way such that the same ServerSigns action works for any player. This is achieved by substituting the player’s name with a placeholder. The above command example that gave an apple to the player called Notch could be specified as a ServerSigns action as follows:
/serversigns add <server> /give <player> apple 1
When any player right-clicks a ServerSigns sign that has the above action added to it, the name of that player will be substituted for the “<player>” placeholder before running that command. The actual command that would be invoked on the server console would then be something like /give Jeb apple 1 such that the player who is actually right-clicking the sign is the one that receives the present. Server owners would normally add a cooldown option to signs like this to prevent players from repeatedly right-clicking the sign in quick succession. See the /serversigns setcooldown and /serversigns setglobalcooldown commands for details.
Additional action commands may be added to the sign by repeating the above command. Each command will be performed in sequence when a player right-clicks the ServerSigns-controlled sign. To list all of the command that have been added to a sign, use the command /serversigns list to do so.
If a particular action command is no longer required, but the other commands and the sign itself are still valid, use the command /serversigns remove <linenumber> to remove just individual commands from the sign.
Note that when issuing any /serversigns command, the shortcut /svs can be used instead. Any /serversignsremote command can be likewise shortened to /svsr. This presumes that these shortcuts do not clash with any other plugins your server has installed.