--TShock will now attempt to load any available valid group data even if there are invalid records and will also report proper errors / warnings.
--"superadmin" is now a reserved group name.
--Groups with parents causing infinite parent loops, invaild parents, or parenting theirselfes will have their parent group reset.
--Double definitions of groups with the same name are no longer allowed.
--Group instances are now tried to be preserved instead of being recreated during a reload of the group data.
-Added command "/group parent" to get and set the parent of groups.
-REST Endpoint "/v2/groups/create" will no longer allow creating groups having theirselfes as parent.
-REST Endpoint "/v2/groups/update" will no longer allow setting a group's parent to theirself or setting a parent group resulting in an infinite parent loop.
-This commit should fix#482.
Fixed console errors for failed parent dependencies of default groups that already exist caused by fb11729547 consistency fixes
Made GroupManager.groups readonly to discourage overwriting it. Could still do with better encapsulation to prevent consistency problems if modified externally.
Added UpdateGroup method to GroupManager
Refactored Group handling of permissions and chatcolor to prevent inconsistent data
Notably:-
* AddPermission now does the right thing when passed the string "!permission"
* Converted ChatColor from method to getter / setter
Added RemovePermission to Group
Refactored GroupManager Permissions handling to ensure consistent data between DB and internal objects
Removed redundent AddGroup method in preference to a default value on the main method
Correct some tabs vs spaces
Added ParentName helper to Group
Fixed inverted parameters to error "Invalid parent {0} for group {1}"
Added optional exceptions parameter to AddGroup and DeleteGroup to faciliate RestAPI group manipulation. This changes the behaviour of these methods to throw an exception on error instead of returning an error string.
Corrected internal lists from being updated in failed DB updates in DeleteGroup and AddGroup
Added doc for chatcolor on AddGroup
Server Side Inventory security improvements, blocking trashcan and "banks" items
CovertCorruption is now more thorough.
PvP Modes, normal, always, disabled now configurable
Initial group prefix/suffix implementation
Range checks reworked, Killing ice blocks now ignored for ice rod.
Adding a NPC name to item banlist will block it from spawning
Added configs to disable snowballs and clown bombs from npcs.
-sqlite altering
-implemented mysql
Todo:
-Merge SqlTableCreator into the querybuilders or make it static
-Make all the managers use the querybuilder for making tables. (See GroupManager.cs for an example)
-Implement more datatypes (see TypesAsStrings in IQueryBuilder.cs)
Just put bans.txt and groups.txt in the tShock folder( where they already exist i believe ) and run the server. It moves the files to tShock/old_configs in case you want to keep them.