[Asphalt MDK] NidToolbox Server Tools: MOTD, Moderators, permission levels, announcements

8.1.X 8.0.X [Asphalt MDK] NidToolbox Server Tools: MOTD, Moderators, permission levels, announcements 1.5.1

No permission to download
NidToolbox Server Tools

1111


current compatible Eco version
0.
8.1+
(both Windows & Linux)

8.2.1+ compatibility in testing

This server plugin enables per command permissions, brings in moderators group, adds server wide announcements & pop-up messages, as well as set of commands useful in day-to-day server administration.

IMPORTANT: This plugin requires Apshalt-Modkit Framework, available here.

As of version 1.3.1 Plugin is compatible with Linux.

Overview of features

  1. Moderators group - you can promote players on your server into a Moderators group. These users can be allowed a set of commands they can use, without the need to rise everyone to Administrator with full rights on the server. It is possible to allow Moderators to only kick, send announcements, Ban, refund specialisation points, fly, grant skill points - or any combination of these that suits you best. The full list of grantable permissions can be found below.
  2. MOTD / Welcome function (Message of the Day) - it is possible to enable MOTD module (disabled by default) to greet players that log in with a nice Welcome Message. This message can be displayed in chat, as pop up, resizable window or as both. All configuration options are in the file Settings.json and the welcome message itself is stored in the Motd.txt file. Options should be easy to figure out just by looking at them, they can be changed directly in the file or via the commands (see below for details).
  3. Rules Module - makes it possible to set Rules for the server. Configuration resides in Settings.json, allowing for filename change as well as default file Rules.txt. File accepts all formating availble for Eco client - i.e. bold, italic, underline, colors etc.
  4. Configuration files can be reloaded at anytime, without the need to restart the server. This can be achieved either by editing the config file and issuing /nid-reload command, or from within the game via the specified command. (see blow for details)
  5. Server wide announcements - it is possible to broadcast announcement to all online users on the server in three types: Scroll down to see example screenshots
    • Chat message
    • Pop-up message with OK button
    • Pop-up message with resizeable window and formatted text.
  6. Easy way to promote moderators and change command permission levels - can be done either from the configuration file or from within the game via the administrator only command.
  7. Set of modified and new commands to help in Server administration, these include: add/remove moderator, refund skill specialisation point, review commands permission levels, reload configuration etc.
  8. Logging and feedback capacity - all commands used by moderators are traceable in the console log, errors are logged as well, so it is easy to see why the command did not work and where the culprit of the error lies.
Example Announcement types
Chat Announcement

1112



OK PopUp

1113



Resizable Window


1114

1118

Modules
Command permission levels as well as Moderators can be loaded from within the configuration file. There are four config files that plugin uses available in the same directory the plugin occupies:
  • Settings.json - stores moderators list and motd options
  • CommandPermissions.json - stores commands and their permission levels
  • Motd.txt - stores default welcome message
  • Rules.txt - stores default, example rules.
All files can be edited and then reloaded into the game via the command. There is no need to restart the server to apply new permissions or add users to Moderators list. However, I would advise to simply use the in game commands to add mods and change permission levels, in order to avoid any edit errors to JSON file. Plugin will detect such errors and inform if there are any.

Motd.txt and Rules.txt files on the other hand, should be easy to to edit as they contain general string. They accept tags such as <color> <b> <i> for different text formatting as in Eco client.

MOTD Module / Welcome Message settings

Main configuration resides in the Settings.json file and following options are available:
Code:
    "isEnabled": false,
    "showAsPopUp": true,
    "FileName": "Motd.txt",
    "WindowTitle": "Message of the Day",
    "showInChat": false
  • isEnabled (true/false) - activates or disables the module. Possible to change also from commands in game.
  • showAsPopup (true/false) - activates Welcome text as popup. Possible to change also from commands in game.
  • showInChat (true/false) - activates Welcome text as regular chat message. Possible to change also from commands in game.
  • FileName (string) - indicates which file should Plugin load the welcome message from. This is also the location plugin will save any changes to the message. It should be already existing, valid text file. If plugin is unable to find or read the indicated file, it will load default Welcome.
  • WindowTitle (string) - sets the title of the popup window as well as header of the chat welcome message.
MOTD related Commands:

  • /nid-MotdEnable / nid-MotdDisable - activates or disables the module. No arguments, just command.
  • /nid-MotdShowPopUp (true/false) - activates Welcome text as popup: true = enabled, false = disabled.
  • /nid-MotdShowInChat (true/false) - activates Welcome text as regular chat message: true = enabled, false = disabled.
  • /nid-MotdSetMsg (string) - sets the new MOTD/Welcome message. Accepts just regular text. If you would like to apply any advanced formatting, it is better to use the motd.txt file. See default file for examples. After making changes to the file directly, use /nid-Reload to load the changes into server. No need to restart.
  • /nid-MotdShow - shows current MOTD message.
Rules Module

Important:
There is no option to disable the Rules Module in the config file, as it can be achived simply by setting the command /nid-Rules to Disabled.

Main configuration resides in the Settings.json file and following options are available:
Code:
    "FileName": "Rules.txt"
  • FileName (string) - indicates which file should Plugin load the rules from. This is also the location plugin will save any changes to the rules. It should be already existing, valid text file. If plugin is unable to find or read the indicated file, it will set empty ruleset.
Rules related Commands:

  • /nid-Rules - Shows current Rules set in the file.
  • /nid-SetRules (string) - allows to change rules from within the game. It is recommended to just edit the Rules.txt file as it is far easier and more convenient.
Currency related commands:

All currencies names are NOT case sensitive and can be typed partially, for example: Mossy for MossyCoin or nidaren for (Nidaren's Credits). Plugin will find and match the currency. If more currencies are named the same, you will be asked to be more specific.
  • /nid-UserCurrencies - (accepts string currency name), it will display all accounts containing currency specified by the command issuer, together with bank account's IDs needed for other commands.
  • /nid-UserBankAccounts - (accepts User username), it will display all bank accounts and all currencies present on these bank accounts, that belong to the specified user,together with bank account's IDs needed for other commands.
  • /nid-DeductAccount - (accepts integer BankAccountID, float amount, string Currency), it will deduct specified amount of specified currency from specified Bank Account. To check bank account ID(s) use the commands: /nid-UserCurrencies or /nid-UserBankAccounts.
  • /nid-ZeroOutCurrency - (accepts currency name) - this command will remove currency from circulation. It will destroy all existing coins on all accounts. However, it will NOT delete the currency from game, as it is no longer safe to do so. Zeroed currency is no longer visible in the Currencies in Circulation Tab To prevent currency from being minted again, zero it by this command and then use /nid-LawBanCurrency.
  • /nid-ZeroOutCredits - (accepts credits name) - this command targets the starting player credits, that are issued as infinity at the game start. It will remove specific starting credits from circulation. Please note: It is perfectly safe to zero out all minted currencies, however in case of Credits, I am not too sure, hence why this command ships as disabled by default. You can enable it yourself if you want to use it. The plugin will warn you on enable. We did zero all starting credits on our server, but I will leave the choice to you.
  • /nid-LawBanCurrency (accepts string currency) - it will issue a Law that prevents minting of specified currency. Note that it will be impossible to mint this currency, however the existing coins of this currency will be kept. To destroy these use: /nid-ZeroOutCurrency.
Some screenshots:
1166


1167

1118

Available Commands
To view the available commands in the plugin type /nid-help. It will list all the commands with the corresponding permission level requirements.

All the plugin's assignable commands start with nid- prefix.

IMPORTANT: Names are case sensitive in the game client. If you are getting user not found error, do make sure you have typed the name properly.

I. General usage commands:

  • /nid-help - lists all commands and their respective permission levels needed to use.
  • /nid-AddModerator and /nid-RemoveModerator - these are used to add and remove player from the moderators list.
  • /nid-SetPermission - sets new required permission level to use the command. Accepts command name and permission level. Valid permission levels: Admin, Moderator, User and Disabled (this will switch off the command entirely).
  • /nid-Reload - this will reload the config files. It is useful if these were edited externally or after plugin update to load your old permissions and settings.
  • /nid-MotdEnable and /nid-MotdDisable - enables/disables MOTD/Welcome module.
II. Management commands:

Commands below, similarly to the ones above can all be assigned specific permission levels. Admins will have access to all commands.

  • /nid-IssueWarn - Issues warning for the specified user. Warning can be either chat or popup window. Accepts player name, warning text and true/false value for if it should pop-up as window.
  • /nid-SetJobLevel (accepts: targetUser, string skillName, integer level) - sets skill level to indicated level, including levelling up and down. Note: For levelling down, affected player will be kicked briefly to allow for UI update.Their Talents in the skill will be reset, so they can pick them again. Levelling up does not require kick, nor talents reset. skillName - if it contains spaces, please type it without them i.e. AdvancedBaking or advancedbaking, capitalisation does not matter anywhere apart from User names. Partial names for skills are accepted too. If skill is not known to the target player, it will be learned automatically. Example use: /nid-SetJobLevel nidaren, hewing, 6
  • /nid-ResetJob (accepts: targetUser, string skillName, true/false refundSpecPoint)- allowing for complete reset of the skill to its starting state, including skill dependent talents, only indicated skill is affected. Select TRUE if you want to also return player invested spec point. skillName - if it contains spaces, please type it without them i.e. AdvancedBaking or advancedbaking, capitalisation does not matter anywhere apart from User names. Partial names for skills are accepted too. User will be kicked briefly for UIs update. Example use: /nid-ResetJob nidaren, hewing, true
  • /nid-ResetTalents (accepts: targetUser)- resets all talents in all skills so they can be picked again. Does not affect any of the skills. As per vanilla Eco, User names are case sensitive. User will be kicked briefly for UIs update.
  • /nid-ResetPlayer - Accepts player name, and a true/false value for whether it should only refund specialisation points via option: "onlyRefundPoints". Very useful in the beginning of the game when newer players make mistakes with their skills distribution. By default it will reset the player to the starting state, as they were when first logging to game. It is also possible to keep the progression of the player and only allow them to redistribute specialisation points, by selecting TRUE as third parameter. IMPORTANT: This command will kick the player briefly, for the skill panel to update. They can log back in after
  • /nid-Announce - announces message to all online players. Does not trigger the popup. Accepts colours.
  • /nid-AnnouncePopUp - announces message to all online players. Does trigger the resizeable popup.
  • /nid-AnnouncePopUpOK - announces message to all online players. Triggers pop-up window with OK button to confirm by the players.
  • /nid-GiveSkillPoints - works in the same way as the vanilla command. Grants X skill points to the specified player. Accepts also the player who is the issuer of the command.
  • /nid-GiveSpecPoints - gives exact amount of experience to grant one specialisation point.
  • /nid-Teleport - teleports the issuer to x, z coordinate. Y is omitted as it always pops you on the surface.
  • /nid-TeleportAtoB - teleports player A to player B. Teleported player must be online! ;)
  • /nid-TeleportTargetTo - teleports targeted player to x,z coords.
  • /nid-TeleportToSomeone - teleports the issuer to specified player location.
  • /nid-ChangeOwner - changes the owner of the plot the issuer stands on, to the specified player.
Rest of the available commands are visible on the screenshot below:


1199


1120

Suggestions and Feedback

Feel free to leave me feedback, suggestions or report bugs in discussion here, I am available at the official Eco Discord channel, if you would like to ask something just tag me or message me directly - at nid#3035
1116
Author
nid
Downloads
149
Views
3,107
First release
Last update
Rating
5.00 star(s) 4 ratings

Latest updates

  1. Update 1.5.1

    Added property related commands: nid-AddToDeed, nid-RemoveFromDeed, nid-RepairAllRooms; (Thanks...
  2. Update 1.5.0

    Changed /nid-RefundSpecPoints into /nid-ResetPlayer. Accepts player name, and a true/false...
  3. 1.4.0

    Thanks go to @hami for his suggestions. Added new /nid-SetJobLevel (accepts: targetUser, string...

Latest reviews

Amazing management tool!
This is an excellent plugin. Have seen it used on a server I played before and now I also installed it on the one I host. It has all its ever needed and the author updates it regularly.
Essential mod!!!
I host my own server and this plugin is a must. Everything works flawlessly. Permissions based on commands was a great idea!
Top Bottom