Server Rules module
for NidToolbox Light
This module enables sever owner to enable and enforce set of Server Rules. Certain actions of the players can be restricted, until they have accepted the Server ruleset.
Support is provided as well as suggestions are accepted on my Discord here
Server Rules module offers:
- Prevent player actions as: mining, digging, loitering, tree chopping until they have accepted server rules.
- Module has own AuthProvider, which means it does not mess or interfere with Server's established laws or demographic systems and allows for module to have more granular control on what players can and cannot do.
- Provides means for the admins to help protect the server from players, who log just for short time and create mess on the server.
- Ability to customise Rules popup - it supports all standard Eco's formatting- such as: <color=yellow> or icons.
- Ability to customise confirmation button that displays the required info to the player, prior to the rules acceptance.
- Ability to customise deny message that appears when player who did not accept server rules, tries to execute denied action.
- Ability to customise notification being sent to players when they join the server.
- Easy reloads, without the need of a server restart.
- Configuration of the plugin can be displayed at any time, without the need to dig into the files themselves.
- Possibility to require a password for the Rules acceptance, that can be hidden somewhere within Rules text. It helps assure that players actually read the popup
- Ability to easily display players, who have not accepted the rules yet.
- This module will be extended in the future to allow the ability to prevent or limit certain actions for exact amount of time , issue temporary bans and such.
As any module of NidToolbox set, it requires nid-core version 1.0.1+ module, available in the main forum thread: here
How to install:
- Unpack .zip archive
- Copy nid-rules.dll to Mods\NidToolbox\Modules
Config files are located at Configs\Mods\NidToolbox\
ServerRules.json - stores configuration options of the plugin.
Rules.txt - stores text for the Rules popup. Supports standard Eco's formatting tags .i.e or even icons.
RulesConfirmMessage.txt - stores the text for the Confirmation Button (see below) that displays the final conformation message to the player, prior for them accepting the rules. The lookout of this button can be tested via /rules-showbutton command. Button text also supports standard Eco's formatting tags .i.e or even icons.
RulesDenyMessge.txt - stores the text for the Action Denied Message (see below) that displays when user that have not accepted server rules, tries to execute forbidden action. The lookout of this message can be tested via /rules-testdeny command. Supports standard Eco's formatting tags .i.e or even icons.
RulesNotification.txt - stores the text for the Notification Message (see below) which is sent as mail (bell notification) to the user when they join the server. The lookout of this message can be tested via /rules-testNotifycommand. Supports standard Eco's formatting tags .i.e or even icons.
All config files are created upon first start of the plugin.
See below for examples.
"Info1": "NidToolbox Light: Rules settings.",
"RulesWindowTitle": "Server Rules"
RulesEnabled sets the module enabled or disabled, can be set in game via /rules-enable command.
InformEveryone toggles the message to be sent to everyone on the server, when someone accepts the rules.
PreventClaiming prevents claiming action until player accepted server rules, can be toggled in game via /rules-prevent claiming with bool true or false.
AllowStarterCamp allows placing starting camp for new players, even if server prevents claiming land until rules acceptance.
PreventChopping prevents tree chopping action until player accepted server rules, can be toggled in game via /rules-prevent chopping with bool true or false.
PreventMining prevents mining action until player accepted server rules (this also includes digging action), can be toggled in game via /rules-prevent mining with bool true or false.
PreventLittering prevents dropping trash action until player accepted server rules, can be toggled in game via /rules-prevent littering with bool true or false.
PasswordEnabled sets password requirement to true or false, can be toggled in game via /rules-requirepass with bool true or false.
Password sets the actual password, can be changed in game via /rules-password.
RulesWindowTitle sets the title of the rules window.
See below for the list of all available commands in this module with their example usage.
RulesConfirmMessage.txt, affects this button in game:
RulesDenyMessage.txt, affects this message in game:
RulesNotification.txt, affects this message in game:
Displays information about all commands contained within this module.
Reloads Rules message from the Rules.txt file.
Shows current Rules popup.
Sets the whole module to enabled or disabled state
/rules-enable bool trueFalse
Prevents set action from being used by player until they accept the rules. Accepts the following options as actionName claiming chopping littering mining
/rules-prevent string actionName bool true or false
/rules-prevent actionName, trueFalse
Displays the set of players who have not accepted the server ruleset yet.
Sets the password requirement for rules acceptance.
/rules-requirepass-title bool trueFalse
Sets the actual password.
/rules-password string password
Sets the window title for Server Rules pop-up.
/rules-WindowTitle string title
Shows the current configuration of the module
Shows confirmation button to test how it looks. Clicking yes or no has no effect, as this is just a test.
Shows deny message to test how it looks.
Sends user a notification to test how it looks.
Allows to accept server rules, triggers confirmation button to appear for the accepting player.
/rules-accept string password (it is optional)