NidToolbox: Chat Tags module 1.5.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 Server Chat Tags module for NidToolbox Light server tool-set. Chat Tags appear next to the name of players.


Chat Tags

for NidToolbox Light

requries nid-core module available here


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] :)

NidToolbox's Discord Channel -> here

Chat Tags module allows:

  • Easy creating, granting, revoking and displaying chat tags like: [Admin], [Donor], [Server Owner]
  • Can be visible in tooltips!
  • Fully customizable! Any colour of choice can be defined. Module accepts either any hex colour code or provided 16 defined named colours options for ease of use.
  • Formatting options include: Brackets type, bracket color, size, italic, underline, underline color.
  • Possible to force custom capitalisation of the name.
  • Priorities can be assigned to different tags, which should appear first, 0 (zero) being the highest priority.
  • Full integration with Elixir Framework permission Groups! See below for examples.
  • Easy configuration via in-game commands.
  • Configuration can be viewed at any time, with looks example as well as tag membership.
  • Assigned tags can now also be hidden on specific users.
  • Module can be reloaded at any time, without the need of a server restart.

(click to enlarge)


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-chattags.dll to Mods\NidToolbox\Modules

Settings files:

Config files are located at:

  1. Configs\Mods\NidToolbox\ChatTags.json - contains module settings.


Chat tags are created and configured via usage of in game commands. While there is a settings file available as well, I strongly discourage from editing it by hand.

There are currently two tag types:

  • Manual - this is simplest chat tag, can be created, deleted, renamed, formatted at any time and assigned freely.
  • EMGroup - this chat tag is created automatically, based on existing Elixir Framework permission groups and protected from deletion or renaming. Its colour, priority and visibility can be assigned freely, however membership is read directly form the EM Groups created by server admins. See below for some example integrations with EM permission groups. Some of the system tags as Admin and Default are also defined as this type of tag.
  • (upcoming) Demographic - it is an upcoming chat tag type, that will be assigned automatically to the members of the specified demographic. Its visibility, priority and colour will also be freely editable.

Adding new tag is as simple as issuing /tag-add and specifying the details. Only tag name and color are required, priority of 1 and visibility enabled are assumed if not given by the issuer.

Tags can be assigned by issuing /tag-grant and stating a player name. After that tag will be always added to the targeted user.

How to view Tag's settings - to check tag's settings at glance, simply issue /tag-show tagName. It will trigger a window, showing all the settings for the tag, including members, colors, type and look example.

Priority - normally tags are shown in the alphabetical order. If you would like to alter this behaviour, for example to signify some important roles like Donors and server supporters, you can assign priority to the tag in question. Tags with higher priority will show first. Highest priority available is 0 (zero). Tags with same priority will respect alphabetical order.

Use /tag-pri tagName, priority to change tag's priority.

Visibility - all created tags start as visible, however if you need to hide tag for some reason, you don't need to delete it. Just hide it's visibility! Visibilty can be change via /tag-config command.


Bracket types, bracket colors, italic, underline and underline colors and size can all be applied as per the user liking. See below for details (in commands section).

Let's say you have created a player tag - My Supporters but instead of using the default [ ] brackets, you prefer < > type. Use /tag-brackets to alter them.

You can also force specific capitalisation of the tag. This is especially useful for tags that are created for the existing EM Groups. By default, EM Group tags will inherit the group name and will be capitalised. Normally this is fine, but let's say you have created Vips EM Group, the chat tag will look as follows: [Vips], you can force [VIPs] capitalisation by using /tag-ForceCap.

Integration with EM Framework:

This module integrates fully and seamlessly with EM Framework.

If you would like to take things on your server to the next level, make sure you utilise EM Framework's permissions system!

Elixir Framework Groups and Permissions module, allows fine and granular control over which player can do what.

Let's say you want your Donors to be able to teleport home and use the teleport command, but you DON'T want the same rights for just the regular users.

Or You want a Moderator group who can ban and mute players but restrict them from spawning items or flying. This is where EM Framework Groups and Permissions come in.

By using /grp-add you can create special permission groups for your Moderators, Donors, Support etc with specifically assigned commands only they can use.

NidToolbox Chat Tags will automatically recognise your EM Groups, their members and will create and assign tags to them all by itself. You can of course still alter colors, visibilty and priority of such tags.

The best thing is - you don't have to download anything, em-framework is included with nid-core download and required by it, so you already have it :)

If you are interested, be sure to check EM Framework documentation page, here.

Available commands:

/help Tags

Displays information about all commands contained within this module.


Creates new player chat tag.

/tag-add string tagName, string color, int priority, bool visible

priority and visibilty are optional. When not defined, priority 1 and visible will be assumed

/tag-add tagName, scolor, priority, true/false


Displays tag's easily viewable tag configuration in a separate window, including information on who is the tag currently assigned to.

/tag-show string tagName

/tag-show tagName


Assigns tag to the player.

/tag-grant string tagName, string targetPlayer

/tag-grant tagName, targetPlayer


Remove tag from the player.

/tag-revoke string tagName, string targetPlayer

/tag-revoke tagName, targetPlayer


Assigns color to the selected tag.

/tag-color string tagName, string color

/tag-color tagName, color


Sets formatting options for the selected tag. Use this if you want to set everything by one command. If you want to target only some properties, see commands below.

/tag-format string tagName, string bracketsType, string bracketsColor, int size, bool italic, bool underline, string underlineColor

/tag-format tagName, [], #FF00FF, 22, false, true, #FFFFFF


Sets bracket type and bracket color for selected tag. You can ommit bracketsColor, if you do, default value of #FDE698 will be used.

/tag-brackets string tagName, string bracketsType, string (optional) bracketsColor

/tag-brackets tagName, <>, #FDE698


Sets size for the selected tag.

/tag-size string tagName, int size

/tag-size tagName, 22


Changes the format properties of the font: underline, italic, underline color. Underline color is optional, when omitted, default value of #FDE698 will be used.

/tag-font string tagName, bool italic, bool underline, string underlineColor

/tag-font tagName, false, true, #FDE698


Unifies size for all the chat tags

/tag-SizeAll int size

/tag-SizeAll 22


Forces exact capitalisation in tag name.

/tag-ForceCap string tagName, string newName

/tag-ForceCap vips, VIPs


Hides chat tag on specified user.

/tag-hideOnUser string tagName, User targetUser

/tag-hideOnUser tagName, targetUser


Shows previously hidden chat tag on specified user.

/tag-unhideOnUser string tagName, User targetUser

/tag-unhideOnUser tagName, targetUser


Removes specified player chat tag.

/tag-del string tagName

/tag-del tagName


Renames existing tag.

/tag-rename string tagName, string newName

/tag-rename tagName, newName


Assigns priority to the selected tag.

/tag-pri int priority

/tag-pri priority


Configures targeted chat tag.

/tag-config string tagName, string color, bool visible, bool showInTooltip, int sizeInTooltip, int priority

/tag-config tagName, color, true/false, true/flase, 24, priority


Configures tooltip properties of the selected chat tag.

/tag-tooltip string tagName, bool showInTooltip, int sizeInTooltip

/tag-tooltip tagName, true/false, 24


Lists all created tags.




Reload settings from config files.


  • Version 1.5.1

    • Important: This release REQUIRES Eco 9.5.3 and will not work with older server versions!
    • Linux: With code changes in Eco 9.5.3 Chat Tags will work natively on Linux, without the need for any workarounds.
    • Dropped dependency on third party assemblies, as with current changes to Eco Server, they are no longer required.
    • Known issues: Delay in Admin tag appearing for new Admins added after server has started. EM Framework checks for new Admins every 2.5 minutes. This will be fixed in the next EM Framework release. This is visual only, Admins for all other purposes are recognized correctly. This concerns only the Admin tag itself, all others happen immediately.
    • REQUIRES: nid-Core version 1.5.5!
    • REQUIRES: EM-Framework 3.2.1 or higher.
    • REQUIRES: Eco Server 9.5.3
  • Version 1.5.0

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

    * Module updated to Eco 9.5.0

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

  • Version 1.1.6

    • Added: option to hide tag for specified user.
    • Added command: /tag-hideOnUser - hides chat tag on specified user.
    • Added commnad: /tag-unHideOnUser - shows previously hidden tag on specified user.
  • Version 1.1.5

    Version 1.1.5

    • Fixed an issue with vanilla chat logger not saving chat messages to the file, when used with conjunction with nid-chattag module. Many thanks to Dennis for reporting.
  • Version 1.1.4

    Version 1.1.4

    • Added option to show roles in user tooltips.
    • Added ShowInTooltip and SizeInTooltip chat tag properties. Added /tag-tooltip command, allowing for new chat tag properties modification. Added new chat tag properties to /tag-config command.
    • Added /tag-tooltip command, allowing for new chat tag properties modification.
    • Added new chat tag properties to /tag-config command.
    • Compatibility patch with EM Framework 3.1.0
    • Requires EM Framework 3.1.0
  • Version 1.1.3

    Version 1.1.3

    • Mistake upload
  • Version 1.1.2

    Version 1.1.2

    • Fixed alignment of example tag in tag-show command.
    • Fixed tag-rename allowing to rename tags made based on EM Groups.
    • Migrated project to Net5.
    • Compatibility patch with Eco version 9.4
  • Version 1.0.3

    Version 1.0.3:

    • Steam or SlgID have to match before tag is assigned to a person, name and internal server id have been dropped to make sure that when the old config files are moved to a new, fresh server, tags are assigned properly. Thx for Dennis for the request to address this.

    • Bogus users (ones that either: have malformed Steam or Slg ids, don't have any id or their ids are empty), are reported now to the server owner and not considered for tags assignments.

    • Some code optimisations here and there.

    • Newest release of em-framework is included in this package, to make sure users who are on very outdated frameworks update their dlls.

  • Version 1.0.2

    Version 1.0.2:

    • Updates module to new game version - Eco 9.3. Fixes crash in new game version when using the module.
    • Adds new formatting options for the chat tag: Brackets type, bracket color, size, italic, underline, underline color.
    • Bracket type can be a pair of any selected characters: i.e. [ ], < >, * *, - - and so on
    • Default formatting of the tag will now capitalise all segments of the name, if it contains more than one word (for example My Supporters, instead of My supporters).
    • Added possibility to force specific capitalisation in the name, like VIPs, SuPpOrT etc.
    • Adds new commands:
      • tag-format - Sets formatting options for the selected tag. Allowing to set all tag formatting properties via one command.
      • tag-brackets - Sets bracket type and bracket color for selected tag.
      • tag-size - Sets size for the selected tag.
      • tag-font - Changes the format properties of the font: underline, italic, underline color.
      • tag-SizeAll - Unifies size of all the tags to selected size.
      • tag-ForceCap - Makes it possible to force specific capitalisation of the selected tag. For example: VIPs instead of Vips, SUppOrT instead of Support and so on.
  • Version 1.0.1

    Version 1.0.1

    • Fixes issue with users being rejected on log on, due null reference exception.