* Added 'gameoverWhenEmpty' and 'gameover(std::chrono::seconds)' functions to RenX::Server
RenX.Commands 'GameOverIRCCommand':
* Added parsing of parameters for the strings "empty", and "now"
* Added parsing of parameters as time in seconds, when above not matches
* Changed default (no-args) behavior to 10 second delay
* Added "Error: Command disabled." error message
CoreCommands:
* Added "Error: Command disabled." error message
RenX.Core:
* Fixed all known crashing/corruption issues related to the new BanDatabase.
* Replaced 'banCheck' processLine lambda function
* bIsCompetitive is now tracked as 'competitive'
* Added checks for commands disabled when 'competitive' is true
RenX.Commands:
* Combined Date and Time fields in BanSearch IRC Command results.
* Added error message for when certain commands are disabled/not supported by a server
* Global ban checks are now run after a "ban" or "addban" command is executed
* Rewrote the database format using Jupiter::Database
* Replaced 'active' with 'flags' in ban entries, adding support for many types of bans
* Added 'prefix_length' to entries; netmask banning is now supported internally
* Moved 'banner' to ban entry from varData
* "bansearch" IRC command now includes type (flags) information
General bug fixes and optimization
* Corrected ban message timestamps.
* Added Server::mineBan()
RenX.Commands:
* Added "MineBan" IRC and Game commands.
* Added IP addresses to the PlayerTable command when used from an admin channel
* Moved player RDNS resolution to RenX.Core
* Added RDNS ban (disabled by default until a proper command and mask checking is added)
RenX.Logging:
* Added players' RDNS to player join logs
* Added {RDNS} and {VRDNS} tags
RenX.Commands:
* Added ban reason and rdns to "bsearch" command output
* Added player's RDNS to default adminPlayerInfoFormat.
* Added "rdns" search option to bsearch
* Fixed a bug in the "ban" IRC command which prevented specifying a ban reason
RenX.DNS:
* Deleted (obsolete)
* Map rotation is now tracked.
* Changed more types from time_t
* Player data is now reset on "MAP Changing;" instead of "GAME MatchEnd;"
RenX.Commands:
* Added "Rotation", "Mutators", and "Map" IRC commands.
* "setmap" now takes partial map names.
RenX.HybridUUID: Corrected plugin name
RenX.NicknameUUID: Corrected plugin name
Added RenX_OnServerDisconnect event to RenX::Plugin
Added DisconnectReason as a parameter for Server::disconnect() and Server::reconnect() -- adjusted all calls to these commands accordingly
* Building health is now set to 0 when a building is destroyed.
* Added isPassworded() function to Server.
* Improved appearance of Building Bars.
RenX.IRCJoin:
* Removed unusable variables.
* Replaced instances of size() == 0 with isEmpty()
* Replaced instances of size() != 0 with isNotEmpty()
* Replaced instanes of isEmpty() == false with isNotEmpty()
* Updated some copyright years
Updated Jupiter (adds isNotEmpty() and a similar consistency update).
RenX::BanDataBase:
* Added "reason" parameter to add()
* Added reason to Entry
* Added write() functions
* Version number incremented
RenX::Server:
* Added "reason" parameter to kickPlayer() and banPlayer() functions.
* Added forceKickPlayer() function
Adjusted plugins to above changes.