NidToolbox: Player Manager module 1.7.1

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.

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.

Player Manager module

for NidToolbox Light

requries nid-core module available here


1586-default-violet-2-png



NEW - if you would like to have your server logo appear in the notifications area in messages that come from NidToolbox. Please join my Discord https://discord.nidaren.net/ and post them in #server-logos channel.


Useful in day to day administration of your citizens.


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


Player Manager module allows:

  • Easy player resets to the starting state, including reimbursement of any deleted alpha backer items, (see below for screenshots) each time you reset a player, a confirmation window will be displayed - providing the details of the reset, as well as targeted player and their information. This allows you to abort the procedure at any time.
  • Fixes some of the errors present in the vanilla game reset commands: non updating skill tree and ghosting issue.
  • Setting of required profession levels, including up levels and de-levels;
  • Checking and changing the tastiness of food items as well as setting/changing favorite and worst food for person.
  • Ability to set and sync player levels.
  • Player's shops can now be shown in user's tooltips.
  • Module takes into account translated and localised names, should your server be running in language other than English. For example: You can use Готовка for Cooking or Holzfällen for Logging.
  • Module accepts partial names for easier lookup.
  • Granting and deducting of specialty points, with respect and checks against locked and already invested points.
  • Additional user tooltip information - IP, SteamId and SLGId, with customisation of which user groups can see these.
  • Resetting individual professions to the unlearnt state;
  • As it is impossible to target talents by their localised (translated and displayed names), this module provides a helpful way to remove talents either one by one or enmasse. Popup window will list all of the player's talents, including their links, so administrator may ensure they remove a desired talent.
  • Ability to obtain geo-location info on the player, their IP address and details about it. Allows to detect players using same IP address, for administrators who use this feature.
  • Custom announcements, warnings, offline messages.


Settings file:

Settings for the module are located in Configs/NidToolbox/PlayerManager.json and deal mainly with visibility of the additional user tooltip information.

Code
{
  "Info1": "NidToolbox Light: Player Manager settings.",
  "ShowIPinTooltip": true,
  "ShowShopsInTooltips": true,
  "ShowSteamIdinTooltip": true,
  "ShowSlgIdInTooltip": true,
  "ShowTooltipInfoToGroups": [
    "Admin"
  ]
}

ShowIPinTooltip - sets IP Address visibility in the user's tooltip. Can be also changed in game via /tooltip-conf

ShowSteamIdinTooltip - sets Steam Id visibility in the user's tooltip. Can be also changed in game via /tooltip-conf

ShowSlgIdInTooltip - sets Slg Id visibility in the user's tooltip. Can be also changed in game via /tooltip-conf

ShowTooltipInfoToGroups - EM Groups included in this list can view additional tooltip info, mentioned above. Can be set in game via /tooltip-grpAdd

and /tooltip-grpdel


Requirements:


As any module of NidToolbox set, it requires nid-core version 1.0.3+ module, available in the main forum thread: here


How to install:

  1. Unpack .zip archive
  2. Copy nid-playermanager.dll to Mods\NidToolbox\Modules


Usage Notes:


Module accepts partial names for skills, if serveral same partial names exist, you will have to be more specific.


Module accepts skill names in the language set on server. For example: You can use Готовка for Cooking or Holzfällen for Logging.



Available commands:


/help ManagePlayer 1711-rcon-png

Displays information about all commands contained within this module.


/NidFood 1711-rcon-png

Displays food related commands.



/Ann 1711-rcon-png

Sends server wide announcements. Has several advantages over the default announce: possibility to add the message to Notifications, possibility to leave the message for offline users, to check when they come online, ability to show the PopUp message as either OKBox - requiring user to confirm before it disappears (all actions blocked until OK is clicked), or standard InfoWindow - resizable but prone to disappearance at any click. Both popups accept all formatting options. Sending the message with different tag, for example General instead of Notifications - this was requested by users that have Notifications cleared in chat filters.


/ann string text (required), int size, bool showAsPopUp, bool showAsOKBox, bool addToMail,, string windowHeader, string tag

showAsPopUp - (Default: false) - sets message to be displayed as InfoBox - resizable and scrollable ;

showAsOKBox - (Default: true) - sets message to be displayed as OKBOx - requires click on OK from the user to go away, all actions are blocked;

addToMail - (Default: true) - adds message to the notifications panel.

windowHeader - (Default: "Server Announcement") - sets title of the announcement as well as title of the window, if any of the popups are selected.

tag - (Default: Notifications) - sets the tag of the message. Requested by people who have everything but General filtered off. Accepts either Notifications or General.


Code
/Ann We are wiping the server in two days!

/Ann Free items available at the general stockpile, 32, false, true 


/AnnTest 1712-non-rcon-png

Sends testing announcement to the issuer only, to check it graphically.


Code
/AnnTest Here is my test announcement.


/Warn 1711-rcon-png

Sends warning to the target user. Requires only two arguments, rest is assumed automatically. Advantages over the vanilla warning are the same like in case of the announcement: ability to leave this message if user is offline, different popup options, sizing etc.

/Warn User targetUser (required), string text(required), int size, bool showAsPopUp, bool showAsOKBox, bool addToMail, string windowHeader


showAsPopUp - (Default: false) - sets message to be displayed as InfoBox - resizable and scrollable ;

showAsOKBox - (Default: true) - sets message to be displayed as OKBOx - requires click on OK from the user to go away, all actions are blocked;

addToMail - (Default: true) - stores message if the user is offline at the moment of sending, this message can be found and read through notification interface when user logs back in.

showInNotifications - (Default: true) - adds message to the notifications panel. If leaveIfOffline is set to on and user is offline, this setting is always true.

windowHeader - (Default: "Server Announcement") - sets title of the announcement as well as title of the window, if any of the popups are selected.


Code
/Warn Boop, Clean up your rubble!

/Warn Boop, Clean up your rubble!, 28, false, true, true, Warning


/on 1711-rcon-png

Shows online players. Has two optional parameters - format and maxPerLine. Format accepts two values: v for vertical list and h for horizontal; maxPerLine is an integer limiting max number of usernames per line.

Command can be triggered with just its name and then it will launch with default values - vertical list.

/on string format, int maxPerLine.

Code
/on
/on h, 6


/grant-spec 1711-rcon-png

Grants or deducts exact amount of specialty points. Use negative numbers to deduct. It has checks against already invested points and those that are otherwise locked.

/grant-spec User targetPlayer, int amount

Code
/grant-spec targetPlayer, amount


/grant-specAll 1711-rcon-png

Grants exact amount of specialty points to all players.

/grant-specAll int amount

Code
/grant-specAll amount


/spec-report 1711-rcon-png

Lists free and invested speciality points of the target player.

/spec-report User targetPlayer,

Code
/spec-report targetPlayer


/talent-unlearn 1711-rcon-png

Unlearns specified talent. IMPORTANT: As talents follow own naming format, it is recommended to use /talent-list to obtain ID names for this command. If the requested talent is not found, information window will appear by default.

/talent-unlearn User targetPlayer, string talentName

Code
/talent-unlearn targetPlayer, talentName


/talents-list 1711-rcon-png

Lists talents currently known by the target player. Provides naming IDs for the command /talent-unlearn. Provided talents are linked and available for mouse over to ensure proper talent is removed.

/talents-list User targetPlayer

Code
/talents-list targetPlayer


/talents-reset 1711-rcon-png

Resets ALL talents of the target player.

/talents-reset User targetPlayer

Code
/talents-reset targetPlayer


/player-reset 1711-rcon-png

Resets skills, talents, inventory, stats of the target player to the starting state. Effectively making them born anew. Contrary to the game method, this one will also reimburse the player any alpha backer items, they have entitlement for. Targets keep all of their plots and other owned property. Before the reset occurs, confirmation window is provided with all details of the reset. See below for screenshots.

/player-reset User targetPlayer

Code
/player-reset targetPlayer


/player-refundspec 1711-rcon-png

Refunds specialisation points and resets skills, but preserves character's progress: levels and experience points.

After the refund player can pick their skills anew.

/player-refundspec User targetPlayer

Code
/player-refundspec targetPlayer


/job-reset 1711-rcon-png

Resets specified profession to the starting, unlearnt state. Contrary to the game method, it uses own way of searching through skills, making sure the correct skill is targeted. Has optional attribute toUnlearnt which will set targeted skill to unlearnt state if the skill required a skill scroll to learn.

/job-reset User targetPlayer, string skillName, (optional) toUnlearnt = true

Code
/job-reset targetPlayer, skillName, true 


/job-set 1711-rcon-png

Set specified skill to the desired level. This command sets the job level to the one indicated by the issuer. It ensures that server stats are updated properly as well as the user info available in real time. Information on the command effect is sent both to the issuer and to the receiver but not to the whole server.

/job-set User targetPlayer, string skillName, int level

Code
/job-set targetPlayer, skillName, level


/player-LvlSet 1711-rcon-png

Sets player's current level to the selected level.

/player-LvlSet User targetPlayer, int level

Code
/player-LvlSet targetPlayer, level


/player-LvlSync 1711-rcon-png

Calculates a proper level character should be at, basing on invested specialities and earned stars and synchronises current level to it.

/player-LvlSync User targetPlayer

Code
/player-LvlSync targetPlayer


/ip 1711-rcon-png

Gets current IP address of the player. Allow for detailed (default) or simple check. Detailed check offers approximate location (country and city of the Internet Service Provider), simple check returns only IP address.

/ip User targetPlayer, bool simple

Code
/ip targetPlayer, true/false


/ip-list 1711-rcon-png

Displays pop-up windows with a list of currently connected players with their IP Addresses.

/ip-list

Code
/ip-list


/ip-same 1711-rcon-png

Returns list of players who are connected from the same IP Address.

/ip-same

Code
/ip-same


/tooltip-conf 1711-rcon-png

Sets player info tooltip options. (IP Address, Steam ID, SLG ID)

/tooltip-conf bool showIp, bool showSteamId, bool showSLGId

Code
/tooltip-conf true, true, true


/tooltip-grpAdd 1711-rcon-png

Allows members of EM group to see additional player tooltip info (IP Address, Steam ID, SLG ID). EM Group must already exist.

/tooltip-grpAdd string groupName

Code
/tooltip-grpAdd groupName


/tooltip-grpDel 1711-rcon-png

Removes members of EM group from seeing additional player tooltip info. (IP Address, Steam ID, SLG ID)

/tooltip-grpDel string groupName

Code
/tooltip-grpDel groupName


/tooltip-grpLs 1711-rcon-png

Lists EM Groups able to see player tooltip info. (IP Address, Steam ID, SLG ID)

/tooltip-grpLs

Code
/tooltip-grpLs



/food-CheckTaste 1711-rcon-png

Check user's taste in specific food item. Displays user's favorite and worst foods.

If specific food item is specified, comamnd checks the tastiness of this item, if none is given, command displays worst and favorite foods.

/food-CheckTaste User targetPlayer, optional string foodItem

Code

Code
/food-CheckTaste User targetPlayer, string foodItem, string taste



/food-ChangeTaste 1711-rcon-png

Changes player's food tastiness. Values for taste parameter: Horrible, Bad, Ok, Good, Delicious

/food-ChangeTaste User targetPlayer, string foodItem, string taste

Code

Code
/food-ChangeTaste User targetPlayer, string foodItem, string taste



/food-SetFavorite 1711-rcon-png

Sets specified food as favorite.

/food-SetFavorite User targetPlayer, string foodItem

Code

Code
/food-SetFavorite User targetPlayer, string foodItem



/food-SetWorst 1711-rcon-png

Sets specified food as worst.

/food-SetWorstUser targetPlayer, string foodItem

Code

Code
/food-SetWorst User targetPlayer, string foodItem



Screenshots:





  • Version 1.7.1

    Stores that are closed or otherwise not accepting clients will not show in user's tooltips.

  • Version 1.7.0

    Added option to show player's shops in their tooltips.

  • Version 1.6.3

    Fixed a bug with grant-spec command, where wrong amount of points would be added.

  • Version 1.6.2

    * Added food related commands: /food-CheckTaste, /food-ChangeTaste, /food-SetFavorite, /food-SetWorst.

    * Added ability to change tastiness of specific foods for specific persons.

    * Added ability to check favorite and worst food as well as their discovery level for target person.

    * Ability to check specific food tastiness.

  • Version 1.6.1

    Made commands RCON aware.

    Change varuous chat commands to be clearer.

    MsgMe command fixed not to send message to everyone.

    tooltip-grpAdd fixed not adding the group properly.

    REQUIRES EM-Framework 3.3.1

  • Version 1.6.0

    * Added copy to clipboard on click in IP / SteamId / SlgId tooltip info.


    * Updated module to Eco version 9.6.0


    * Updated to net6.


    * REQUIRES: EM-Framework 3.3.0-beta2 or higher

  • Version 1.5.1

    • Changed OpenCustomPanel to OpenInfoPanel method, as the former seems to trigger "Failed to handle RPC method" on clients.
  • Version 1.5.0

    * (RC.3) Module output filename updated to match namespace.


    * (RC.2) Laws section has been removed from this module and will form seperate one later.


    * Module updated to Eco 9.5.0


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

  • Version 1.1.10

    • Added: Checker against "ghosted" professions that player may have after using vanilla unlearning commands (professions that don't exist on player but server still counts them as gained by the player), will be corrected on login. Profession is the root skill tree, that contains learned skills. For example Root Skill Tree Hunter for skills like: Butchery and Hunting.
    • Fixed: Stomach is cleared and caloric values recalculated on character reset.
    • Fixed: Profession icons are correctly added to bottom of the Skill Book, when job-set command is used.
    • Fixed: Profession icons are properly removed from the bottom of the skill book, when job-reset command is used, and player does not have any more skills trained under the root profession.
    • Huge thanks for @Darklus for feedback and testing!
  • Version 1.1.9

    • Added new law clauses(and exposed game stats), to be used instead of the in game bugged one. They expose current number of professions and specialisations player has. Currently available vanilla one that is buried under Citizen Statistics counts level up button presses, does not take into account the unlearnt professions/specialisations and becomes unreliable very quickly. Thx to @Darklus for request and idea.
    • New law clauses and stats can be used in laws in the top-most IF section, or in any logic comparing block. The expose current, always up to date information.
    • Law clauses have custom made descriptors that explain what happens as well as true and reject reasons, that are displayed to player when conditions are met.
    • Feel free to let me know if you would like any other stats to be exposed that way.
    • Fixed: Professions/specialisations resetting and unlearning commands will remove outstanding icons in "Has professions" category of the Skillbook. These are often left when admins use vanilla resetting commands, which do not update all elements of the UI. Thx to @Darklus for reporting.