NidToolbox Light - Modular set of server tools for Eco: IP Logger, chat logger, player manager, player reset, custom job levels and more 1.5.5

Due to human (non-bot) spam the first contribution of a user has to be reviewed and activated manually, all further contributions do not require this.
As long as a user does not have at least one reviewed and activated contribution, the user is unable to edit his profile, set a avatar, title picture or a signature.

Modular set of server tools for your favourite ecosystem simulator. It brings back the old NidToolbox plugin in more modular and manageable fashion. Fully compatible with splendid em-framework permission and group system.


1572-nidtoolbox-design03-64-png

NidToolbox Light

Modular set of server tools for Eco

** powered by and compatible with em-framework **


nid-core base module


1586-default-violet-2-png


NidToolbox Light brings back the old NidToolbox plugin for previous versions of Eco, in more manageable and modular format this time around.


Each module works independently, being versioned separately - with only nid-core component being required. Server admins can mix and match modules they need for their servers.


This project is a work in progress aiming to overtime bring back all of the features of old NidToolbox to Eco 9.0+. As I sadly don't have as much time to work on the project as before, modules will be released as I develop them. Your patience is appreciated <3.


Support is provided as well as suggestions are accepted on my Discord here

It is not required, but if you would like to support the development of the plugin, donations are accepted here


Core module apart from having an Update Notifier, does not do anything by itself and to get any functionality out of it, you need to download one of the available modules. Documentation and installation instructions are available at the module's page. You can find all the links below.


Currently available modules: (click the names to view)

  • Chat Logger - logging chat in realtime.
  • Laws - Adds new law clauses, improving the checking system. Provides fixes for found problems in laws and exposes buried game values and checkers.
  • Chat Tags - Create and assign chat tags to the players on your server, to clearly mark their roles and membership, whether they are an [Admin] or a [Janitor].
  • IP Logger - providing data on each logon and logout, fully customizable. Can log to server log, console, own log, or all at the same time.
  • Player Manager - contains commands useful in day-to-day player management, ability to Reset Skills, Talents and progression, set Job Level and refund specialisation points of any player on the server, geo-location and more.
  • Core - this module. Download at the top of this page.
  • Server Cleanup - Set of server clean and maintenance commands, allowing for removal of mining rubble, tree debris, stumps etc. Generates detailed report on rubble present on the server.
  • MOTD - Displays welcome message to players logging in, accepts all Eco's formatting. Stores MOTD in a text file for easy edits. Managed from command line and/or config files.
  • Server Rules and Preventables - Enables sever owner to enforce set of Server Rules. Certain actions of the players can be restricted, until they have accepted the Server ruleset.
  • Server News - News can be either displayed automatically on login, or triggered at any time via the command.
  • Timed Messages - Time-based messages can be set to trigger at certain hour, or every X minutes.

Update Notifier:


Update notifier sends information when either the core module or any other installed modules has been updated.


It can send notifications to members of EM Groups as well as specific users. Users can be excluded individually as well.


Settings files:

Config files are located at Configs\Mods\NidToolbox\UpdateNotifier.json



Upcoming modules:

  • Temporary Bans
  • Financial Administration
  • User Homes
  • Marriages
  • Minting Rights


Plugin Management:

Settings can be changed either via in-game commands or through editing of settings configuration files. See each module page for details. Due to their nature or tasks performed, some modules may not have any configuration files.


Requirements:


EM Framework 3.2.1 or newer! available here.


How to install:

  1. Unpack the content of the .zip archive
  2. Copy nid-core.dll to Mods\NidToolbox
  3. Individual modules are installed into Mods\NidToolbox\Modules directory.

  4. Eco.EM.Framework must be placed in Mods\Elixr Mods\Eco.EM.Framework.dll


Available commands:


/help NidUpdate


Displays information about all commands contained within this module.



/nidUpdate-Enable


Enables or disables the module

/nidUpdate-Enable bool trueFalse


Code
/nidUpdate-Enable true/false



/nidUpdate-Reload


Reloads module configuration from the config files.

/nidUpdate-Reload


Code
/nidUpdate-Reload



/nidUpdate-CheckRepeat


Enable or disable periodic update checks.

/nidUpdate-CheckRepeat bool trueFalse


Code
/nidUpdate-CheckRepeat true/false



/nidUpdate-Inform


Configure update notifications. Lets the user set whether the module should inform in game, send info to console or to the log file.

/nidUpdate-Inform bool informInGame, bool informInConsole, bool informInLog


Code
/nidUpdate-Inform true, true, true



/nidUpdate-Minutes


Sets how often should the module check for new updates (in minutes).

/nidUpdate-Minutes float minutes


Code
/nidUpdate-Minutes 180



/nidUpdate-GrpAdd


Add EM group to receive update notifications.

/nidUpdate-GrpAdd string groupName


Code
/nidUpdate-GrpAdd Admin



/nidUpdate-GrpDel


Remove EM group from receiving update notifications.

/nidUpdate-GrpDel string groupName


Code
/nidUpdate-GrpDel Moderators



/nidUpdate-AddUser


Adds specific user to be informed about new updates.

/nidUpdate-AddUser User Name


Code
/nidUpdate-AddUser Nid




/nidUpdate-DelUser


Removes specific user from new updates notifications.

/nidUpdate-DelUser User Name


Code
/nidUpdate-DelUser Nid



/nidUpdate-HideAddUser


Hides updates for specific users. Useful when user is a member of a EM Group that receives notifications, but wants to be excluded from them.

/nidUpdate-HideAddUser User Name


Code
/nidUpdate-HideAddUser Nid



/nidUpdate-HideDelUser


Unhides updates for specific users.

/nidUpdate-HideDelUser User Name


Code
/nidUpdate-HideDelUser Nid

Images

  • NidToolbox_Design03_64.png
  • default-violet (2).png
  • Version 1.5.5

    Version 1.5.5:


    • Added required TimeSpan TimeLeft to INidSchedulable interface.
    • Moved timer display formatters to nid-Core, for easier access from other modules and mods that use them.
    • TimerManager now allows for easier selection and searching for Tickables and Schedulables of specific type - HasSchedulable<T> / GetSchedulable<T> and HasTickable<T> and GetTickable<T> added.
    • Prepared UpdateNotifier for own versioning information hosting, independent from third party providers.
  • Version 1.5.3

    • Made Update Notifier aware of Service Provider being offline.
    • Added error codes and feedback to Update Notifier.
    • Fixes infinite wait time when Service Provider is not available.
  • Version 1.5.2

    • Added missing NidToolbox icon to Update Notifier messages that appear as mail notification.
    • Fixed red marker on Bell missing if Updater delivered the message to the offline user.
  • Version 1.5.1

    Version 1.5.1:

    • Fixed updater notification not respecting groups and users it should be displayed to.

    • Simplified NidModule name acquisition.
    • Fixed Pre-Init completed message appearing before mods had a chance to complete their own pre-init tasks.
  • Version 1.5.0

    * (RC.9) Update notifier changed to fix issue with user not being found despite existing in the save, by vanilla UserManager method.


    * (RC.8) Added configurable update notifier. It shows updates in Console, Log and sends info to selected Groups or Users. Each element or the whole system can be toggled on or off.


    * (RC.8) Moved various useful methods and code from several modules into the Core module.


    * (RC.8) Added new commands for setting up the update notifier, type /nidUpdate in game, to see the arguments and usage. Documentation will follow.


    * (RC.8) *for modders* Added new Interface INidPreInit that allows mods to hook up to the stage of pre-initialization of mods.


    * (RC.5) Removed debug info on initial module load being posted to the console by TimerManager.


    * (RC.4) Added INidOnShutdown interface, mods can subscribe to have their code executed on shutdown.


    * (RC.4) Added log entries on Server startup and shutdown to better distiguish load phases in logfile.


    * New versioning system, second number in version string will indicate which version of Eco module is compatible with example: 1.5.0 module is compatible with Eco version 9.5.x;


    * All NidToolbox modules will now report to unified NidToolbox log file, instead of each module to their own, less mess.


    * Added *INidPostInit* interface, allowing to execute code after server has fully initiated, documentation will follow;


    * Added *INidSchedulable* interface, allowing mods to execute their portions of code at exact hours;


    * Added *INidTickable* interface, allowing mods to execute their portions of code at exact intervals;


    * Added *TimerManager* to support the above mentioned additions. Documentation will follow later;


    * REQUIRES: EM-Framework 3.2.0-RC.3 or higher.

  • Version 1.1.3

    Version 1.1.3

    • Compatibility patch with EM Framework 3.1.0
    • Requires EM Framework 3.1.0
  • Version 1.1

    Version 1.1

    • Migrated project to Net5.
    • Compatibility patch with Eco version 9.4
  • Version 1.0.3

    !IMPORTANT!


    Before installing this version, make sure you remove any old versions of both:


    1. nid-core.dll

    2. em-framework.dll


    from the Server\Mods folder.


    New correct locations are:


    1. For nid-core.dll                Mods\NidToolbox\

    2. For em-framework.dll Mods\Elixir Mods\


    This change is made to comply with the Developers request to move all mod's respective .dll files to their properly named folders.


    For more information see the updated section - How to Install, on the main plugin page.


    Patchnotes:


    Version 1.0.3

    • Enforces new locations for nid-core and em-framework.
    • Added names and filenames sanitising methods.
    • Fixed module naming in Server Configurator GUI.
  • Version 1.0.2

    Version 1.0.2:

    • This update changes the default location for all NidToolbox' modules configuration files. New location for config files is: [Server]\Configs\Mods\NidToolbox
    • This change is in line with the new recommendations from the Developers on better mods organisation. Mods folder should only ever contain exact module files the dlls.
    • Some service hosters like Nitrado, have already started implementing this change and all your files that are still located in Mods folder that are not .dll, will either be ignored or hidden.
    • Modules folder should stay as it is, as it only contains the allowed .dll files for each of the NidToolbox' components.
    • You will get a warning in console as well as in log, should your Mods folder still contain any of the config files.
    • To retain your settings, simply move your NidToolbox' config files from Server\Mods\NidToolbox to [Server]\Configs\Mods\NidToolbox

    See the screenshot below for details:


    1616-info-png

    Images

  • Version 1.0.1

    Version 1.0.1

    • Reporting hosting server's operating system environment in log and console, including the architecture and build. Should be helpful in debugging issues;
    • Loaded nid-modules will report their versions;
    • Added NidModule and IpUser support;
    • Added embedded assembly loaded for future external dependencies.
    • Migrated project to NetStandard 2.1