Skip to content

Latest commit

 

History

History
1132 lines (1128 loc) · 94.2 KB

CHANGELOG.md

File metadata and controls

1132 lines (1128 loc) · 94.2 KB

Development

Started by Daniel J. Gradinjan (ColColonCleaner) for A Different Kind (ADK) on Apr. 20, 2013

Changelog

0.0.1 (20-APR-2013)

Main:
* Initial Version

0.0.2 (25-APR-2013)

Changes
* Added plugin-side punishment.
* Initial DB test, tables updated.

0.0.3 (28-APR-2013)

Changes
* In-game commands no longer case sensitive.
* External DB test, tables updated.
* First in-game run during match, minor bugs fixed.

0.0.4 (29-APR-2013)

Changes
* Added editable in-game commands for forgive/punish.

0.0.5 (30-APR-2013)

Changes
* Removed global player access for production version.
* Added admin list for access.
* Added 'Low Server Pop' override system

0.0.6 (1-MAY-2013)

Changes
* Added access to database admin list.
* Fixed minor bugs during testing.

0.0.7 (1-MAY-2013)

Changes
* Added view definitions to display current player point values.

0.0.8 (2-MAY-2013)

Changes
* Updated player-say messages when punishment acted on. More informative message used.
* Added editable minimum reason length.

0.0.9 (3-MAY-2013)

Changes
* Added direct kill, kick, tban, and ban commands.
* Made direct commands work with database.
* Removed editable command list.

0.1.0 (5-MAY-2013)

Changes
* Refactor record creation to increase speed.
* Enumerate all database commands to parse in-game commands.
* Implement xTeamSwap functions within this plugin.
* Create database whitelist definitions for TeamSwap.
* Add move, fmove, moveme as commands that use TeamSwap.
* Refactor database logging to work with all commands.
* Code cleanup and organize.
* Player and admin messaging changes.

0.1.1 (6-MAY-2013)

Changes
* Punish and forgive commands changed to 'pun' and 'for', for ease of use in high punish/minute instances.
* Now a player may only be punished once every x minutes, this removes the case where two admins can punish a player for the same infraction.

0.1.2 (8-MAY-2013)

Changes
* Re-added editable command list.

0.1.3 (9-MAY-2013)

Changes
* Refactored settings and parsing to make the plugin more heavy while changing settings, but much lighter once in use.
* Added setting for whether a command will be logged or not. Adding '|log' to the end of a setting name will make the plugin log uses of that command in the database. Default is logging for all action commands (which should be fine for performance). Right now only Punish and Forgive are required to be logged.
* Fixed move command, now sends player to TeamSwap once they have died.

0.1.4 (10-MAY-2013)

Changes
* Fixed bugs in command logging interface and command setting initialization.

0.1.5 (12-MAY-2013)

Changes
* Cleaned up messaging. Small bug fixes.

0.1.6 (14-MAY-2013)

Changes
* Optimized calling of listPlayers to a maximum of only once every 5 seconds or on call from a move command.
* Fixed console spam at start of plugin.
* Added update of admin list/teamswap list if a player isn't on it and trying a command.
* Gave plugin control over table creation if not setup beforehand.

0.1.7 (15-MAY-2013)

Changes
* Reconfigured Database connection handling and connection testing to follow best practices seen elsewhere.
* Fixed bugs in the database structure confirmation and table setup sequence.
* All yell messages will now be changed to uppercase before sending.
* Added confirm action to all round targeted commands.

0.1.7.2 (16-MAY-2013)

Changes
* Console Errors displayed when players enter invalid settings made more descriptive.
* Added presay and preyell commands.

0.1.7.3 (17-MAY-2013)

Changes
* Made plugin description download github stored README and CHANGELOG instead of storing it plugin-side.

0.1.8.0 (18-MAY-2013)

Changes
* Improve the player name prediction system.

0.1.9.0 (19-MAY-2013)

Changes
* Add a report ID to reports, so admins can act on reports directly.
* Add a thank you for reporting when a report gets acted on.

0.1.9.1 (20-MAY-2013)

Changes
* Added banning admin name to all kick/ban logs.
* Fixed bug in logging when commands were given in uppercase.

0.1.9.2 (20-MAY-2013)

Changes
* Added player mute system.
* Added global adminsay when a player gets kicked or banned by an admin.

0.1.9.4 (20-MAY-2013)

Changes
* Added round-whitelisting for players.

0.1.9.9 (21-MAY-2013)

Changes
* Removed actionlist, made entire record table two-way accessible.
* Added report ID usage to all player interaction commands.
* Added display of current database admins and whitelisted players in plugin settings.
* Added pyell to dev for plugin information in certain cases.
* All action commands can be called via the database now.

0.2.0.0 (21-MAY-2013)

Changes
* Minor bug fixes for version 2 release.

0.2.5.0 (4-JUNE-2013)

Changes
  • Admin List GUI. You can now modify the database reflected admin list through AdKats settings. You can edit who the admins are, and what level of access they have, without needing to access the database manually. All instances of the plugin on your database will reflect the admins you enter.
  • Admins now have multiple levels of access. They range from full admin (0) to normal player (6). List of commands for each level is given below. Admins can issue commands at or below their level. All commands on an admin's access level can be used on other admins of any level with the exception of muting.
  • Commands now have levels of access. Admins need to be at or above certain levels of access to use certain commands.
  • HTTP Server Online. Commands can now be sent to AdKats using procon's internal HTTP server, or through the database. Info given below on security of this system.
  • Player name suggestion system improved. System now considers player names starting with what was typed more correct than those with it just somewhere in their name. System will also perform a "fuzzy" player-name search if the text admins entered is not valid for any players.
  • Ghost Commands Fixed. Commands admins send but don't confirm will be auto-canceled if they move on to other things. This stops unwanted commands from being acted on after the fact.
  • TeamSwap can now auto-whitelist X random players in the server each round. The random list is changed each round. Use this to generate hype for players to get full access to teamswap. Players are told the first time they spawn that they have access. Players who already have access are not added to the auto-whitelist.
  • Player report logging improved. Whether a report was used by an admin is now logged.
  • "Admin Assistant" position added. Players who consistently send useful player reports get a small bonus. Details below. This can be disabled.
  • Round Report Handling Improved. Handling changed so admins can enter new reasons that override the report reason. The new reason entered will be used instead, and must follow the requirements for a reason defined in settings.
  • Pre-defined messages usable in all commands. All player interaction commands (not say or yell), will accept preMessageIDs as input for reasons now. e.g. @kill charlietheunicorn 4 --> charlietheunicorn killed for Baseraping Enemy Spawn Area.
  • Server IDs can be different now, yet still have punishments increase across servers. Now the origin of reports wont show as coming from the same server, since same server ID was required before for global punishments.
  • Added new commands. Kick all Players, and Nuke Server.
  • Commands can now operate in shortened hidden mode. When commands are issued in hidden mode they normally require an extra character. e.g. /@kill target reason. They now work with just the slash. e.g. /kill target reason.
  • Commands will target the speaker when entered with no parameters. Most player interaction commands will now target the speaker when entered with no parameters. So "@kill" == "@kill SourcePlayerName Self-Inflicted". Report and call admin will not do this, in addition to commands meant for targeting multiple players.
  • Additional ban message option added. e.g. Optionally add "appeal at www.yoursite.com" to the end of bans.
  • 30 seconds now hardcoded as punishment timeout. Setting was only editable for testing purposes.
  • Optimizations in code, database, and settings handling.

0.2.5.1 (6-JUNE-2013)

Changes
  • Bug-fixes. Some documented bugs in the issues section (milestone 0.2.5.1) are fixed.
  • Punishment Enhancements. Punishment timout has been reduced to 20 seconds.
  • IRO Punishments Added. Immediate Repeat Offence. If a player gets punished more than once in a 5 minute time span, the subsequent punishes were be worth 2 infraction points instead of just 1.
  • Messaging Enhancements. Pre-say and pre-yell commands have been removed, and now the preMessage IDs can be used in regular say, yell, and any other commands that need a reason or message.
  • Pre-Message Enhancements. Use of pre-defined messages can be required now.

0.3.0.0 (13-JULY-2013)

Changes
  • Performance. All actions, parsing, and database communications take place on their own threads now, increasing performance greatly.
  • Setting Sync. All plugin settings are now stored in the database, specific to each procon instance. Usage shown in readme.
  • Dependencies. XPKiller's Stat logger is now REQUIRED for AdKats to function. It provides much useful information regarding both player and server statistics, which the new Ban Enforcer and AdKats itself use to improve your admin abilities.
  • AdKats WebAdmin API. A website from which you can manage all aspects of your server and playerbase. Direct control of players within the server, command feeds, all logs, ban management, and server statistics are all included in this site.
  • AdKats Ban Enforcer. Due to lacking functionality and/or bugs in other ban managers, an internal Ban Enforcer is now coded into AdKats. AdKats can now enforce bans accross all of your servers. The Ban Enforcer will import and consolidate all bans from every procon instance it's enabled on. Once enabled, bans made on one of your servers will be enforced on all others within seconds of issuing the ban. Bans can be made by name, GUID, IP, any combination, or all at once. The enforcer works with all existing auto-admins, and requires AdKats WebAdmin for ban management. You can use it without WebAdmin, but you will be unable to manage any bans, lift them early, or modify them in any way once submitted. Use of the ban enforcer is optional because of this dependency, and is disabled by default.
  • Punishment Enhancements. IRO punishments can now override the low population count and act normally.
  • Kick/Ban Messages Improved. Frostbite has a 80 character limit for ban/kick messages, and the new ban/kick messages comply with that. Also, all kick/ban messages are more descriptive than before, and ban messages in particular will tell the player how long their ban is.
  • Small bug-fixes and enhancements. Messages for errors, player information, and commands, are more informative to the users now. Small bugs fixed.
  • Debug Soldier Added. Set the debug soldier name in settings to get the speed of commands on your server sent to you in-game. Time is in milliseconds, from the time you entered it until all actions resulting from that command have finished.

0.3.0.1 (3-AUG-2013)

Changes
  • Bug-fixes. Documented bugs in the issues section (milestone 0.3.0.1) are fixed.
  • Added delayed kill. When a player dies and is then admin killed, kill will be performed when they spawn.
  • Ban-Sync process revamped. All ban enforcer sync methods have been reworked to be more reliable and efficient.
  • Admin list sorted by level then name. Simple visual fix.

0.3.0.2 (6-SEP-2013)

Changes
  • Bug-fixes/Enhancements Documented bugs in the issues section (milestone 0.3.0.2) are fixed.
  • Teamswap Queues Removed Temporarily. Until the queuing problem can be fixed, queues for teamswap have been removed. All moves, force-moves, and self-moves will be called directly.
  • Import from BF3 Ban Manager Added. When AdKats Ban Enforcer is enabled, a check for BF3 Ban Manager tables is performed. All bans managed through BF3 Ban Manager will be automatically imported into AdKats.

0.3.0.3 (8-SEP-2013)

Changes
  • Bug-fixes/Enhancements Small but extremely important bug fixed. Necessary for WebAdmin.

0.3.1.1 (16-SEP-2013)

Changes
  • Bug-fixes/Enhancements Small bugs fixed. Some commands simplified. Necessary for WebAdmin.
  • Performance Fix IP checking was causing lag in the previous verion.

0.3.1.6 (24-SEP-2013)

Changes
  • Bug-fixes/Enhancements Teamswap queues have been brought back after being fixed. Listplayers calls shortened and only handled every 5 seconds, and ban enforcer enforcement should now cause less chat spam.
  • Added join command @|!|/ join playername will join on that player, with certain access levels.
  • Punishment logging improved # of player points is now stored in the record message for each punish.
  • Permaban punish overrides low populationUsed to not happen.
  • Remove text to disable commandCommand name will autofill with command disabled text when removed.

3.5.0.0 (19-OCT-2013)

Changes
  • Bug-fixes/Enhancements. Record upload for certain commands optimized, kicks/bans on yourself no-longer tell the whole server, auto-whitelisted players are logged, MutePlayer doesn't cause momentary disconnect, etc, etc, full list on github.
  • Beta Version of Stat Logger Required. Version 1.1.0.2 of stat logger is required for this version of AdKats. That version of stat logger has been included with this release.
  • MULTIBalancer Orchestration. All players access level 0-5 can be automatically whitelisted.
  • Reserved Slot Orchestration. All players on the access list can be automatically given reserved slots.
  • Added VOIP Command. Voip command can be used by all players to get teamspeak or other voip server info.
  • User based kill command added. Players can kill themselves with @killme. Disable by removing command text.
  • Push errors to database. All errors and exceptions are now pushed to the database for logging.
  • Server Crash Reporter Added. Server crash/Blaze DC reporter added (Only meaningful to those using webadmin).
  • Admin Assistant Logic Changed. Admin Assistants are now on a 30 day report calculation, instead of 7 days.
  • Database connection backup added. Commands will now still carry out their actions if the database connection is temporarily lost. It will spam console errors like there's no tomorrow but will still act on commands.

3.7.0.0 (15-NOV-2013)

Changes
  • Compatibility with BF4 and BF3 in the same version.
  • Certain commands disabled on “Officialâ€� BF4 servers.
  • Both plugin description fetching and player list processing are now being processed async to avoid procon panic.
  • The universal version of XpKiller’s stat logger is now supported. Both versions of stat logger are supported.
  • Source ID has been added to the records table. Records will remain connected to a player even if their name changes.
  • Player ID is now added to all stored chatlogs. XpKillers chat log table is automatically modified to include player ID; Thus chat logging functions are taken over by AdKats and force disabled on stat logger.
  • AdKats will enter backup mode if your database becomes unavailable temporarily, your connections max out, or it becomes overloaded. Stat logger will automatically be disabled if a disconnect is detected, and re-enabled once the connection issue has been resolved. This is to prevent procon from entering panic mode and ejecting either plugin from the runtime, requiring a layer restart to get them back.
  • Experimental tools updated to work on BF3 and BF4
  • Round timer added. Rounds can now be automatically ended after X minutes. Countdown to round end is given, and the current winning team will win.
  • Internal Hacker-Checker released publicly for BF3. This code has been in AdKats for months now, but was set to only activate on =ADK= servers. Uses BF3Stats for stat information. Do not use unless you read the documentation on github (HERE). BF4 version coming soon.
  • Round whitelisting of players is no-longer logged in the database

4.0.0.0 (21-DEC-2013)

Changes
  • User/role based access system added, old access level concept removed.
  • Added rule printing like "Server rules on request", with multiple prefixes and database log support.
  • Email functionality added.
  • IRO punishments now editable for both activation and timeout.
  • Admin name can now optionally be inclided in global kick/ban admin.say messages.
  • Admin name for procon bans now editable.
  • Tell and Player-Tell commands added.
  • Unban command added for use with ban enforcer.
  • Added mini ban management section for use with ban enforcer.
  • All AdKats functions now operation on UTC time.
  • Optional Auto-Enable/Keep-Alive added to make sure the plugin is always running.
  • Commands can now be accepted from procon's chat tab, and thus from other plugins.
  • Internal hacker-checker updated to work with BF4.
  • Ban reasons updated to look better with battlelog's new display.
  • Added spectator list management for BF4.
  • Database update script from 3.7 to 4.0 included. Will automatically run.
  • Bug fixes from previous releases.

4.1.0.0 (14-FEB-2014)

Changes
  • TeamSwap Auto-Whitelisting per round has been removed as an option.
Enhancements
  • Added @accept and @deny, for acting on round reports. No actions against players will be taken when using these commands, they are for helping or hindering AA status for a player. A system coming currently under testing on our servers for automatic report actions will make use of this.
  • Added @admins command Accessible to to admins and admin assistants by default. Returns the list of online admins in the server.
  • Added @lead command Lead command will give the speaker leader of their current squad.
  • Team Enhancements Team names are now detected every match, so factions US, RU, and CN for nuke and kickall now hit the correct team.
  • Command Enhancements Target player names entered with 1 character will no longer be automatically acted on. Will require a confirm.
  • Email Enhancements All emails sent through AdKats are now sent as blind carbon copy. Emails are now added to a queue when multiple need to be sent in succession.
  • List Enhancements Added adkats_specialplayers database table. This table can be used for assigning special whitelists, access, and blacklists. Valid groups are currently slot_reserved, slot_spectator, whitelist_multibalancer, blacklist_dispersion, and whitelist_hackerchecker. Players can be added by ID, or by identifier (name, guid, or IP), and can be assigned, a game and server to apply the list to. If you use player IDs then you wont need to update player names if they change their names, the player names will automatically update when they join the server.
  • Orchestration Enhancements Default In-Game Admin is automatically disabled when AdKats is running. Had some issues where people accidentally had both plugins running.
  • User Enhancements Game type is now displayed for players connected to users. Add Soldier now checks across all games and fetches up to 10 matching player names. When adding a new user an automatic check for players of the same name is performed.
  • Player Info Enhancements All custom messages in AdKats, when targeted at a player, player information string replacements will be parsed. e.g. %player_name%, or %player_id%
  • Admin Assistant Enhancements Completely reconstructed system with previous private features released to the public. Also added grandfathering for Admin Assistants; >75 confirmed reports overall will also grant admin assistant status.
  • MatchCommand Enhancements AdKats is now callable from other plugins like InsaneLimits for issuing commands and fetching current synced admin list.
  • Ban Enforcer Enhancements All bans are now enforced on a server group basis. If a ban is issued on one server group, it will only be enforced on other servers in that server group. Added ban reason and banning admin name to mini-ban-management.
  • Hacker-Checker Enhancements Added KPM check to hacker checker.
  • Procon Ban Enhancements When using procon bans, the banning admin name is now added to the front of the reason.
Bugfixes
  • Stability Some issues with thread deadlock injected in previous versions have been resolved.
  • Commands All in-game commands are rejected with message during AdKats startup/reboot until full player list has been processed, this avoids killer/victim null case. Punishment timeout now blocks action, not just upload, matching spec. Kill-on-spawn for players now happens at the appropriate time, avoiding a previous double-kill issue. Players spamming @rules will no-longer spawn multiple rule printers. Rules command now shows the current rule # and total, e.g. (1/10)...(2/10)...etc...
  • Ban Enforcer Linked accounts were causing ID issues with ban enforcer, this is now fixed. Name bans through Procon sometimes failed propagation, this has been fixed. Unsupported round bans caused permabans in ban enforcer since type was not recognized, this has been changed to 1 hour temp-ban.
  • Records Logic hole where debug/exception record messages could overwrite main record messages of the same ID has been closed.
  • Hacker Checker Bug where hacker-checker mesh with BF3Stats was failing has been fixed.
  • Chat All chat messages are now trimmed before handling, both before and after command prefix parsing.

4.2.0.5 (21-MAR-2014)

Changes
  • Settings. AdKats settings are now stored database side almost exclusively. They have always been stored there, but now have been removed from procon's plugin setting list. The only things remaining plugin side are DB connection settings, setting lock information, and debug level.
  • Command Access during Startup. Commands cannot be accessed until the first player listing is complete, all commands issued before this is complete are rejected. Looking at our current systems this usually takes about 1 minute after initial startup. Admins are informed in-game when the startup sequence has completed, and how long it took to complete.
Enhancements
  • Added setting lock. Settings in AdKats can now be locked with a password. This is so you can give lower level admins access to mini-ban-management (and some other basic functions), without endangering your other settings.
  • Orchestration Enhancement. Automatic MULTIBalancer whitelisting for admins is now an optional selection.
  • Orchestration Enhancement. Automatic reserved slot for the AdKats user list is now an optional selection.
  • Orchestration Enhancement. Automatic spectator slot for the AdKats user list is now an optional selection.
  • Command Enhancement. Lead command can now be targeted at a player.
  • Command Enhancement. Rules command can now be targeted at a player.
  • Added uptime command. Debug and information purposes; Gives info on server, procon, and AdKats uptime, along with a couple other things.
  • Added assist command. Will move the requesting player to the weak/losing team and thank them for doing so.
  • Added spectator slot command. Will add the player to spectator slots for the current server.
  • Added reserved slot command. Will add the player to reserved slots for the current server.
  • Added disperse command. Will add the player to MULTIBalancer even dispersion for the current server.
  • Added whitelist command. Will add the player to MULTIBalancer whitelist for the current server.
  • Added logging of player name/IP changes. Now all changes of IP and name are logged for record/tracking purposes.
  • Automatic PBSS. An automatic PBSS (Punkbuster Screenshot) is triggered on any player who has the @report or @admin command issued against them.
  • Automatic command DB addition. Any new commands I add in new versions of AdKats will not require a special database query from you to add access to them, they will be added automatically.
  • Leave Messages for Acted Players Any player who leaves the server after having a command issued on them will trigger a chat message to admins in-game.
  • Procon Chat Enhancement Messages intended for online admins are now bold in procon chat window when no admins are in-game.
  • Added swapnuke command. This command will move everyone on the server to the opposite team. This is still experimental, and I would suggest taking caution in using it.
Bugfixes
  • Fixed the killme command. Fixed the killme command which was broken by 4.1.0.0.
  • Name Ban Fix. Name bans were still enforced if a player changed their name.
  • Report IDs. Report IDs when handling round reports were displayed as 0.
  • Time Delays. Fixed time delay for rules command before allowing another call.
  • Conditional command access. Conditional command access contained loopholes. The only commands affected were @moveme, and @admins.
  • Setting feed to stat logger. Setting feed to stat logger has been changed considerably. Settings are now only fed on the hour, and reductions have been made to only required settings.
  • Setting Fetch. Settings were not fetched initially on AdKats startup, causing any commands changed in the first 5 minutes of operation to be overwritten by database stored settings. This has been fixed.
  • Player listing. Player listing was not called automatically on startup, this caused up to 30 additional seconds where commands were inaccessible. This has been fixed.
  • Threading. Major issues with threading have been resolved. One thread was not exiting, so more were being spawned to compensate, causing eventual layer lockup. This has been fixed, and the process is now being monitored.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

4.2.1.0 (30-MAR-2014)

Enhancements
  • Added Report Options. Disabled by default, players can now be told they were reported, and a list of exclusion words can be added. EX: Inform on all reports except ones containing "hack", "aimbot", etc.
  • Added contest command. Disabled by default, players can now contest reports with the contest command. The contest command will block initial action by admins on the report ID, telling them the player contested the report and they need to investigate further.
  • Enhanced assist command. Some instances of abuse were found with the assist command. It has been changed to avoid this abuse. Ticket loss rate monitoring and a 30 second timeout has been added.
Bugfixes
  • Fixed the admin command report IDs. Report IDs were fixed for the report command, not for the admin command.
  • Fixed targeted player spam. Fixed the spam from "targeted player X has left the server".
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

5.0.0.0 (17-JUL-2014)

Changes
  • Stat logger settings are now immediately fed on AdKats start, and at 1 hour intervals afterward, if the setting enabled.
  • Low population setting now stored in section 1, server settings.
  • Live scoreboard in DB is now force enabled.
  • Player reputation algorithm modified to have a ceiling.
  • Default name of balance whitelist command has been changed to blwhitelist instead of just whitelist.
  • Move command now automatically changes to force move if the player is currently dead.
Enhancements
  • Added metabans support when using ban enforcer. Both bans and unbans supported.
  • Commands, rules and assist for the time being, now have timeouts on them, specific to targeted players.
  • Added option to remove rule numbers from printing.
  • Low/high population is now tracked over the current running duration.
  • Population statistics are now available using the uptime command.
  • Player report messages completely revamped, now showing extended information about target and source.
  • Additional precautions added to ensure admin powers are assigned properly when database connection goes offline.
  • Added chat history/conversation to report emails.
  • Added fkill command, it bypasses all other kill functionality and issues admin kill on the target immediately.
  • Added remaining time to server-wide ban enforce messages.
  • Reports on players recently acted on by admins are now blocked. 20 second timeout default.
  • Players who have left the server can still be acted on using in-game commands now.
  • Added help command, it lists all commands a player can access.
  • Special player table now has expiration dates for all elements.
  • Whatis command now supports command names, entering a command name will tell the source what that command does.
  • Reporters are now informed when a player they reported leaves the server.
  • Added an expiration date to users.
  • All admins are informed when a kicked player rejoins the server.
  • Added dequeue command. It cancels any queued actions for the player; moves, kills, etc.
  • Added notes line for all users.
  • Commands in the role allowed list now display if they cause a role to be considered "admin".
  • Player reputation system, once private to ADK, is now public.
  • Temp ban command now has a max duration, default 10 years.
  • Added find command, return a player's current team, position, and score.
  • Players targeted with reports (with report notification on), now ensure the player knows they were reported.
  • Reports now have an optional timeout in seconds for admin action. They cannot be acted on by ID before this timeout expires.
  • Online admins are now informed when a player requests server rules.
  • Added automatic AFK kicker after X idle time, optional, with whitelists.
  • Added afk command, activates AFK kicking functionality if automatic action is not enabled.
  • Added secondary confirmation for punishment timeout, avoiding database calls if necessary.
  • Added pull command, pulls a player to your squad, killing them in the process.
  • Added ignore command, ignores round reports.
  • Added mark command, marks a player for notification to admins if they leave the server.
  • Commands can now be used with a period (.) prefix, in addition to all other prefixes.
  • Added pchat command, returns recent chat and conversations from targeted players.
  • Startup sequence notifications to admins have been moved and made more informative.
  • Some commands can now have multiple targets, the first of such being the pchat command.
  • Added pinfo command, gives extensive information about the targeted player.
  • Unban command can now have a custom reason.
  • Added hcwhitelist command, it adds a player to the hacker-checker whitelist, and unbans them if they are banned.
  • Added more information to denied assist command attempts, and still more information given to admins.
  • Added warn to punishment options.
  • Self targeting the rules command as an admin now sends rules to the whole server.
  • Commands are not included in mute enforcement anymore. Optional.
  • Automatic new line has been added to the beginning of all yells in BF4, placing the [ADMIN] tag on a separate line.
  • Added optional first spawn tell to players. Optional, disabled by default.
  • Added logs to procon's event log for all records processed through AdKats.
  • Now using BF4Stats API weapon damage for weapons not in AdKats weapon stat list.
  • Added lock/unlock commands, blocking actions for 10 minutes on players who are locked, except by the locking admin.
  • 3rd party plugin settings can now be managed via the database.
  • Greatly improved the performance of "Ban Search" in mini-ban-management section.
Bugs Fixed
  • Automatic unbans for changed names caused record spam.
  • Assist command was unreliable due to ticket/rate logging errors.
  • Chat log table trigger had a bug in the player ID assignment which would assign incorrect IDs for players with multiple games in the database.
  • Rules command did not give feedback when targeted at a player.
  • IP change logging caused spam and sometimes duplicated records.
  • Unban command had several performance issues.
  • Some settings were not included in the interval setting pull/push.
  • Ticket rate and ticket count calculations were incorrect, and sometimes completely absent.
  • Teamswap had multiple move errors when multiple people were queued for teamswap.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

5.1.0.0 (17-SEP-2014)

Changes
  • Report IDs can only be acted on by admin role players now.
  • All player orchestration in other plugins is done by player EAGUID now, instead of player name.
Enhancements
  • Released extended round statistics publicly. You can now track how rounds progress, not just how they end.
  • Kicks by the AFK Manager are now hidden to avoid chat spam.
  • Added command timeouts for kick, tban, ban, and fban, to avoid command spam.
  • Multibalancer unswitcher is now disabled for a few seconds for each admin move, so the autobalancer will never fight admin moves.
  • Players are now blocked from moving off a team they were moved to by admin. Lasts for the current round only.
  • Player team/squad are now updated faster so incorrect location information is avoided.
  • Startup notification for admins is now more prominent and readable.
  • Player fetching is now cached layer-side for the current running instance, so after enabling and running for a while, operation will be less database heavy.
  • Added useful information to the targeted player leaving messages.
  • Added notification of reputation change for players.
  • Added reputation command.
  • Added confirmation message to the cancel command if a previous command was canceled.
  • BF4 Case. Player type is now processed, i.e. Player, Spectator, CommanderPC, and CommanderMobile.
  • Added more information to the player info command.
  • Added log command.
  • Added option that should never be used. Bypass setting for all command confirmation.
  • Made the assist command's deny message more understandable.
Bugs Fixed
  • Fixed metabans credential request spam.
  • Fixed internal team elements being overwritten when they shouldn't have been. This gave incorrect stats for player location and round storage stats.
  • Fixed loophole where duplicate bans could be posted if the server lagged when clearing the ban list.
  • Fixed edge case where players changing their name could cause specialplayer identifier mismatch.
  • Fixed logic for plugin orchestration on player names, GUIDs were intended for use there but test player names remained in the release.
  • Fixed command parsing from Insane Limits.
  • Fixed issue where whitelisted players could be banned during startup as player listing happened in parallel with user listing.
  • Fixed command rejection for existing specialplayer entries, no more duplicate postings allowed.
  • Fixed command usage timeouts for assist, and all commands in general.
  • Fixed reputation gain for the assist command.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

5.2.0.0 (25-OCT-2014)

Changes
  • Plugin description and changelog are fetched at a 60 minute interval now, instead of only on startup.
  • New line characters are removed from messages posted to Procon's chat window.
  • Server info is now requested at a 10 second interval.
  • Rule list can no longer be sent to offline players.
  • MULTIBalancer unswitcher is now temporarily disabled when a SwapNuke is issued.
  • All records are now posted in database UTC time instead of Procon layer UTC time, unless specific requirements are met.
  • Assist command is nolonger allowed while a surrender vote is active, or if the round is not playing.
  • Yell duration now limited between 0 and 10 seconds.
Enhancements
  • Added option to disable new player notification.
  • Added option to disable player name change notification.
  • Added messaging commands for private conversations between players, either in the same server, or between any of the servers on the database.
  • Startup process messages are cleaned up in debug and procon chat.
  • Startup progress now shown to players attempting commands during AdKats startup.
  • Players attempting commands during AdKats startup are now be told once commands are fully online, not just admins.
  • Greatly reduced the amount of database overhead required after first fetch of the user list.
  • Added command to send private message to admins. /adminmsg
  • Added player reputation to the admin report notification.
  • Added special player group for Admin Assistants.
  • Added command to add players to the Admin Assistant list.
  • Released Ping Enforcer publicly.
  • Added notification and startup block if the Procon layer and database have significantly different values for UTC time.
  • Added 2 day and 3day ban options to the punishment hierarchy.
  • Released Commander Manager publicly.
  • Added optional automatic player lock on admin action.
  • Added option to modify both manual and automatic player lock duration.
  • Added Internal SpamBot with optional whitelisting for admins and players.
  • Added SpamBot whitelist command.
  • Added surrender/votenext/nosurrender commands, with a full fledged surrender system.
  • Added reportlist command, to list the last 6 missed round reports.
  • Added plugin restart command.
  • Added server shutdown/reboot command.
  • Reputable players are now informed when admins join the server. Disable option provided.
  • Messages sent to procon admin are now bolded for visibility.
  • Notification of glitched players in the server are now sent to admins. The battlefield server must be rebooted in these cases, they cannot be kicked/banned.
  • Released Auto-Surrender/Auto-Nuke publicly.
  • Added option to only send report emails when admins are in the server.
  • Added option to tell players their reputation and infraction count on first-spawn, after the welcome message.
  • Added option to override stat logger chat posting, and post manually.
  • Added option to disable targeted player left notification.
  • Added better response to report ID usage if the report was already acted on.
  • Implemented linear interpolation on moving averages for ticket loss rates, score rates, and ping calculations.
  • Tell messages are no longer shown in procon chat as both say and yell, simply one line as tell to reduce spam.
  • Added commands for previous temp/perm bans, so old bans can be identified, and also will not affect player reputation.
  • Added automatic database updater, so global fixes to database issues can be fixed without requiring plugin updates.
  • Version status is now tracked for running instances, so issues with specific versions can be found and fixed.
  • Added global definition for special player groups, so external tools can access all valid group information.
Bugs Fixed
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

6.0.0.0 (25-DEC-2014) Merry Christmas!

Changes
  • Manual round timer now activates on first spawn.
  • Database actions are not fetched until startup is fully complete.
  • Automatice spectator slot feed from user cache changed to admins only.
  • New roles, when created, are given access to the same commands as Default Guest.
  • 'Display admin name in kick/ban announcement' now applies to punishments as well.
  • Population monitoring has 3 sections instead of 2 now, Low/Medium/High, so "Only kill players when server in low population" has been changed to include both low/medium population. This is to keep the definition the same as before without modifying existing user's settings.
Enhancements
  • Player clan tags now processed and displayed in all available locations.
  • Removed current score from player location in reports, and reduced the size of report prefixes to increase space for player names and vital information.
  • Added countdown timer command (/cdown)
  • Accepting Punish/Forgive for teamkilling through the Team Kill Tracker plugin.
  • Detecting bad database connection vs normal, allowing disconnect if database becomes over encumbered for external reasons.
  • Added manual plugin update command.
  • Added options for low, medium, and high population to the ping enforcer.
  • Added role power level, and disallowed certain commands from being issued from a lower power level player on a higher power level player. Commands such as kick/ban/mute/pull/mark/etc.
  • Added manual warn command.
  • Trimmed and cleaned targeted player leave message to be less intrusive on admin chat.
  • Updated ban enforce message for temp bans to include both total and remaining ban time.
  • Now updating stat logger information with player clan tags when available.
  • Increased total allowed size of settings, allowing increased number of rules and spambot messages.
  • Added option to exclude commands from manually posted chat logs.
  • Added option to yell server rules.
  • Added ability to add roles and their respective players to special player groups.
  • Added option for auto-surrender to simply start a surrender vote instead of issuing end round.
  • Added option for auto-surrender to have a minimum player count before triggering.
  • Ban enforcer bans in the database are automatically expired once their time is up every few minutes, instead of being expired when the banned player rejoins the server.
  • Added detection for duplicate instances of AdKats on each server. Only one instance of AdKats can be running on any given server.
  • Changed timing of "user joined this server for the first time" to when the player first spawns, instead of when they first load in.
  • Reduced chat spam from glitched player notification.
  • Added admin notification when spectators leave the server.
Bugs Fixed
  • Manual chat log posting of command messages did not include the command prefix in the message.
  • Massive I/O overload when database connection variables were not filled on startup, and procon plugin debug logging enabled.
  • BF4 Phantom bow, categorized as carbine, could cause invalid HSK bans.
  • Record posting bug could cause errors such as 'Unable to find source weight for type|action: 7|35'.
  • Ban delay timer for hacker-checker could post bans twice.
  • Automatic log on admin action was triggering on any action.
  • Mark command did not work on report IDs.
  • Automatic updater could complete with plugin file empty.
  • Setting lock did not disable access to command entry setting.
  • Required team for players once admin moved was not being cleared on round end.
  • Admin WARN on punish did not give feedback to the punisher.
  • Player identifiers were not stored when issuing new whitelist_multibalancer, slot_reserved, or slot_spectator special player entries.
  • IP location fetching failed latitude/longitude parsing. Valid locations for players are displayed in the /pinfo command again.
  • Ban enforcer could attempt to process server bans that did not have any identifiers.
  • Automatic update for extensions could cause multiple dll files to be created.
  • Automatic feed of reserved slots for admins was using all users in the user list on test versions.
  • Debug message for record time to complete was incorrect.
  • Round stat logger could attempt to post NaN entries to the database.
  • Record finalization could fail if record had no command type or command action.
  • Player reputation update could fail if commands were being fetched at the same time, could attempt to use invalid player IDs, and was not thread safe.
  • Player dequeue command could throw race exceptions in some cases.
  • Record upload could attempt to use invalid player IDs.
  • Balance dispersion could attempt to use invalid player IDs.
  • Targeted player leave message could fail if teams were being updated at the same time.
  • MySQL queries could return in deadlock state under InnoDB, and the case was not handled.
  • Player spawn processing could fail if commands were being fetched at the same time.
  • FetchSQLUpdates printed stacktrace on exception for servers which were not under testing.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

6.5.0.0 (9-FEB-2014)

Changes
  • Confirm command must be active and use 'yes' as command text.
  • Cancel command must be active and use 'no' as command text.
  • Confirm and cancel commands must be allowed on every role.
  • Changed default auto-surrender message. Will not affect existing settings, just new installs.
  • Changed auto-surrender message spam from 6 messages to 8 messages, ensuring the entire chat window is filled.
  • SpamBot whitelist command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Reserved slot command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Spectator slot command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Admin assistant whitelist command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Ping whitelist command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Hacker-Checker whitelist command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Autobalance whitelist command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Autobalance dispersion command now requires a duration as the first parameter. 'perm' for permanent, otherwise duration like standard temp-ban command duration.
  • Hacker checker HSK check now takes priority over DPS check because HSK based statistics were hitting DPS triggers incorrectly.
New Commands
  • Added specblacklist command to add players to the spectator blacklist.
  • Added rwhitelist command to add players to report whitelist.
  • Added popwhitelist command to add players to the populator whitelist specialplayer group.
  • Added tkwhitelist command to add players to the TeamKillTracker whitelist specialplayer group.
  • Added unspecblacklist command to remove players from the spectator blacklist.
  • Added unrwhitelist command to remove players from Report Whitelist.
  • Added unpopwhitelist command to remove players from the populator whitelist.
  • Added untkwhitelist command to remove players from the TeamKillTracker whitelist specialplayer group.
  • Added undisperse command to remove players from Autobalance Dispersion.
  • Added unmbwhitelist command to remove players from Autobalance Whitelist.
  • Added unreserved command to remove players from Reserved Slot.
  • Added unspectator command to remove players from pectator Slot.
  • Added unhcwhitelist command to remove players from Hacker-Checker.
  • Added unpwhitelist command to remove players from Ping Whitelist.
  • Added unaawhitelist command to remove players from Admin Assistant Whitelist.
  • Added unspamwhitelist command to remove players from SpamBot Whitelist.
Enhancements
  • Added report whitelist specialplayer group.
  • Added spectator blacklist specialplayer group.
  • Added new auto-surrender option to disable cancelling/resetting the trigger count if a team begins making a comeback.
  • Auto-surrender optimal values for metro/lockers greatly improved for all 3 modes of operation (surrender, nuke, and trigger vote).
  • Auto-surrender preparation, pause, and resume messages streamlined.
  • Database connection issue messages only sent when the issue is serious, reducing console spam.
  • All specialplayer interaction commands now use offline/external player fetch over using fuzzy name match on online players.
  • Added duration parameters to several specialplayer interaction commands, details in changes section. All debug messages made more informative about what/where the message was issued.
  • Added option to log win/loss/baserape statistics for players. Can only be enabled when using auto-surrender, as it relies on that system.
  • Added option to monitor baserape causing players with automatic dispersal or automatic assist. This option relies on posted win/loss/baserape statistics, and includes options for duration and count to consider baserape causing. And, if feeding MULTIBalancer dispersion list, these players can automatically be placed under dispersion for the server. Players falling under automatic dispersion are notified on first join. Players under automatic dispersion cannot use the Assist command.
  • Added option to monitor populator players. Option will generate a list of players who populate either all or the current server consistently, based on given parameters for the past week or 2 weeks.
  • Added populator whitelist special player group for approved populator status. Players under this group can optionally be exclusively included in populator status.
  • Added option to feed TeamKillTracker whitelist. Whitelist group will be forced to "Whitelist", and the given players pushed to that whitelist.
  • Added TeamKillTracker whitelist specialplayer group. When feeding TeamKillTracker whitelist, these players will be included in that list.
  • Added optional automatic perks for monitored populator players. Optional automatic perks can include reserved slot, MULTIBalancer whitelist, ping whitelist, and TeamKillTracker whitelist.
  • Added setting group 3-2, Special Player Display. This setting group is a display of current specialplayer groups and their contents. Read only.
  • Added access method option to all commands, for restriction of how commands can be executed. Applies only to commands issued by in-game players. Confirm and cancel commands cannot use settings other than 'Any'.
  • Now automatically removing expired special player entries from the database. Added small improvements to fuzzy player match response text.
  • Decreased size of ping kick message to reduce chat spam.
  • Improved integration with AdKatsLRT, the loadout enforcer plugin.
  • Added more information to all error messages thrown during plugin auto-update.
Bugs Fixed
  • Major performance fix for users running orchestration settings.
  • Fixed the 'Disable Automatic Updates' setting, which could not be re-enabled once disabled.
  • Players could be double-checked for suspicious stats in some rare cases.
  • Fixed display error thrown in some cases when editing user lists.
  • Fixed some performance issues when sending AdKats generated player list to other plugins.
  • Fixed integration of player_ban_temp commands from other plugins.
  • 'Use First Spawn Reputation and Infraction Message' was not the correct type. The setting type was a string instead of boolean, so you had to type "True" or "False" to get the value set.
  • Automatic assign of specialplayer group to role did not re-fetch access list, so it appeared to be broken until next access fetch.
  • MULTIBalancer whitelist feed was using player names instead of GUIDs.
  • Database disconnects and thread exits were not handled properly in several places.
  • Procon could freeze when editing the user list without users in the list.
  • Fetched players and left players were kept indefinitely, causing memory overflow issues.
  • Orchestration table and extended round stats table were added but not confirmed on startup.
  • Fetching admin soldiers and online admin soldiers could throw errors in rare cases.
  • Assist call via database did not confirm target on winning team before allowing action.
  • Assist command gave reputation even if the player was not moved to the weak team.
  • Multiple upload systems did not have complete error handling.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

6.8.0.0 (16-AUG-2015)

Enhancements
  • Added a setting section selector for more easy traversal of the numerous plugin settings.
  • Hacker-checker now takes soldier health of hardcore servers into account.
  • With hacker-checker enabled at the end of each round all players are re-queued for stat checks, so if the round previously played caused any triggers they will be caught.
  • Added LIVE system to the hacker checker, denoting actions taken based on a single round of play.
  • Added catch for the 'Magic Bullet' hack to the LIVE system.
  • Added catch for damage mods to the LIVE system, players using a damage mod in any round should be banned at round end.
  • Hacker-checker no longer looks at only the top 15 weapons a player uses.
  • Optimized all interaction and connections with Battlelog.
  • Added option to the ping enforcer for modifying ping limit based on time of day.
  • Added display of current ping limit based on all settings, showing the formula for how it was calculated.
  • 'Attempt manual ping when missing' is now disabled by default as this can cause performance issues for some layers.
  • Added monitoring and dispersion option for top players in the server, a new take on server balance specifically focused on solving stacking issues before they start.
  • Added option to ban players based on a set of banned clan tags.
  • TeamSpeak player monitor now has an option to announce those joining both teamspeak and the game.
  • To get around the issue where battlefield servers can only have 15 whitelisted spectators if the special player list 'spectator slot' has any players all others without a slot will be kicked from spectator; A manual way of getting the server spectator slot list to operate as it should.
  • Added whitelist bypass option to the spambot. Add [whitelistbypass] to the beginning of any spambot message and it will be sent to all players, ignoring the whitelist.
  • Spambot messages displayed in procon chat are now denoted with a bold 'SpamBot' prefix.
  • Players are now thanked publicly when the assist command or auto-assist moves them to the weak team.
  • Temp-ban command can now be issued on offline players.
  • Perma-ban command can now be issued on offline players.
  • Future perma-ban command can now be issued on offline players.
  • Punish command can now be issued on offline players.
  • Forgive command can now be issued on offline players.
  • Player info command can now be issued on offline players.
  • Player chat command can now be issued on offline players.
  • Player log command can now be issued on offline players.
  • Optimized communication between LRT and the main AdKats plugin.
  • Optimized handling of database disconnection and critical state.
  • Removed unnecessary calls to setting refresh to reduce procon client lag.
  • Split fetching of player battlelog player info and battlelog player stats to speed up plugin start.
  • Added warning message if the plugin is having issues connecting to battlelog.
  • Updated reputation command to include infraction point information, and, if auto-forgives are enabled, when the player's next auto-forgive will fire.
  • Populating servers from low pop status through high pop status now gives +10 base reputation.
  • Added option to yell server rules.
New Commands
  • Added feedback command for players to give server feedback.
  • Added isadmin command for players to check if a player is an admin.
Changes
  • Hacker-checker DPS section is now hardcode enabled and all settings aside from ban message are automated.
  • Wait duration between battlelog requests increased from 1 second to 3 seconds.
  • Increased hacker-checker KPM check's minimum kill count from 100 kills to 200 kills.
  • Players can no-longer report themselves.
  • Assist command is now blocked from usage until 2 minutes into any round.
  • Assist command is now blocked from usage when teams are within 60 tickets of each other.
  • Player say command chat access now required to be AnyHidden.
  • Player yell command chat access now required to be AnyHidden.
  • Player tell command chat access now required to be AnyHidden.
  • Player find command chat access now required to be AnyHidden.
  • Increased specific timeout of permaban and future permaban commands from 30 to 90 seconds.
  • Plugin now automatically updates to the latest test version if user is running any outdated test version.
  • Added 10 minute specific timeout to self kill command.
  • Auto-surrender default resolve message changed from 'Auto-Resolving Baserape Round' to 'Auto-Resolving Round'.
Bugs Fixed
  • Assigning/unassigning role groups could cause a role to deny all of its commands.
  • Invalid punishment hierarchy values could have been added, only to be rejected when the punish was issued.
  • The metabans plugin could have been disabled while running ban enforcer with metabans integration enabled.
  • Metabans API key/Username changes database side were not propagated to the metabans plugin.
  • Blank spambot messages could have been added to the system.
  • Round state sometimes failed to reset when disabling then enabling the plugin.
  • Plugin version numbers with more than one digit per section caused update issues.
  • Spambot messages and ticket rate messages were displayed when the server was empty.
  • TeamSpeak users were sometimes incorrectly mapped to players in game due to name similarity.
  • Players locked to a specific team could clear the lock by leaving then rejoining the server.
  • Teamswap failed to move players properly from team 1 (US usually) to team 2 (RU usually) if team 1 was completely full.
  • Round IDs for exteneded round stats were sometimes incorrectly calculated.
  • Extended round stats could sometimes post during invalid round state, filling the log with countless duplicate records.
  • Hacker-checker queue could call actions on players in the wrong order.
  • Command locks on a player could block actions by the entity who locked them.
  • Countdown command did not work correctly with some team sets.
  • When banning a player with ban enforcer enabled the kick could sometimes fail.
  • Modifying special player lists could cause excessive refreshing of the user list.
  • Optimized plugin shutdown, some processes failing to finish could slow it down before.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

7.0.0.0 (15-OCT-2017)

Enhancements
  • When a player is kicked for VIP, the plugin is sometimes able to tell admins who was kicked. DICE's event for this is unreliable, but when it works properly, the plugin will tell admins about the VIP kick.
  • Added automatic server restart options. When the server is empty (aside from seeder accounts), and the server uptime is greater than a configured number of hours, the server is automatically rebooted. You also have the option to do an automatic procon shutdown when this happens. If you have procon configured to automatically reboot when a crash/shutdown occurs this will effectively reboot your procon layer and the server at the same time.
  • Increased performance of the anti-cheat scripts. AdKats now stores player’s battlelog persona IDs in the database, so fetching their info from battlelog is faster and requires fewer requests.
  • Decreased startup time of the loadout enforcer when paired with AdKats. Battlelog information needs to be fetched for every player before anti-cheat requests begin now.
  • Commands that are classified as admin commands (commands that when enabled will make a role be considered admin), show up in the list with [ADMIN] next to them. Commands that are causing a role to be considered admin will have a '<---' next to the command, so it's easy to find those commands in the list.
  • In addition to the "IRO Overrides Low Population" setting i've added a setting for minimum infractions before it overrides. With this setting a player will need at least that many infractions against them before IRO will override low population.
  • Added a setting to disable the display of all ping enforcer messages in the procon chat tab. Messages for players kicked for ping are still displayed.
  • The "Top Player Monitor" has been completely gutted and rebuilt. This section is now called the "Team Power Monitor" and shows the estimated power of each team in your server. You have options to use join reassignment based on team power and seeder balancing. The other sections of this system are either nonfunctional or experimental, and I would advise caution when using them. The scrambler might be good for your server, but it locks players to their assigned teams which means it's not good for volatile maps like metro.
  • Added discord integration with the same options as the existing teamspeak integration. The only unfortunate side being that I can only update discord information (online players) every 5 minutes. This is because Procon is still on .NET 3.5 and doesn't have access to websockets.
  • Admins can now bypass the spambot whitelist for certain messages by adding [whitelistbypass] to the start of the message. Useful for important/time-sensitive announcements.
  • Added an all-caps chat limiter, with a bunch of settings for how a message is considered all-caps. Also added a new group so you can have only specific players targeted by this script.
  • Completely redesigned the assist command for use with the team power monitor.
  • Players that use the /assist command are now automatically queued for 5 minutes if their assist request fails. This is so players wanting to assist don't need to keep executing the command to see if they are allowed. After 5 minutes their assist request is automatically cancelled.
  • A setting for the minimum number of minutes into a round before the /assist command becomes available has been added.
  • Updated the assist messages to include a player's current calculated power.
  • Added an option to disable the enforcement of single instances of AdKats on a server. This is for people who have issues with the /AdKatsInstanceCheck messages being stored in external systems. These messages are used by AdKats to make sure that one and only one instance is running on a server at a time, since it can cause undesirable results to have multiple instances running at the same time.
  • Added a ban filter option for posting to metabans, so you can choose which bans are sent to the service.
  • Add integration for PushBullet in the same manner that AdKats uses email integration.
  • The nuke command can now accept team IDs in addition to team keys. This is mainly for people who run servers with the same faction as both teams and were previously unable to nuke team “2”.
  • The server shutdown command now provides a 5 second countdown before rebooting the server.
  • Moved the auto-nuke settings into its own setting section so it’s easier to configure.
  • Added minimum and maximum ticket counts for the auto-surrender/auto-nuke so you can limit when it can activate during a round.
  • The auto-nuke script is now able to issue timed nukes on players. This means a nuke is able to hold the target team's player dead for a specified amount of time, making the nuke more effective. I've also added options to increase the nuke duration as the number of times a team is nuked increases.
  • Added options to reset the auto-nuke trigger counts when a nuke is fired, this way the script has time to reset after a nuked team loses a lot of flags.
  • Added option for minimum duration between nukes to the auto-nuke script so you can configure how often it can fire.
  • Added option to make nukes fire based on ticket difference instead of flags, so you can configure teams which have had the map for a long time to be pushed back regardless.
  • Added option to configure how many nukes can fire during a round.
  • Added option to switch back to auto-surrender after a certain number of nukes are fired and the team is still having trouble.
  • Added an optional countdown before an auto-nuke is actually fired, giving players a chance to realize what's about to happen.
  • Added option to notify players of perks that are expiring soon. Included the new /perks command so they can see what perks they have. Included a setting for how long before their perks expire to notify them.
  • Added the "Battlecry" system. This section lets you allow players have a message sent to the server when they first spawn in, an announcement of their arrival. Options are available to change how "loud" the messages are and who is able to access their usage. You can also configure a list of banned words in the battlecry, and a max length on the battlecry.
  • Added a BF4 faction randomizer so you can have random faction assignments in your server. There are many options for how the randomness should be handled.
  • Split the 'Inform reputable players and admins of admin joins' into two separate settings, one for reputable players, and one for admins.
  • Updated all the procon chat messages AdKats posts to be color coded for different operations. Added tags for some things like the spambot so its messages can be picked out of the tab easily.
  • Messages in your rules and spambot can now be map/mode specific. Simply by adding a prefix to the messages and rules you can make them appear only on those maps or modes. Great for mixed mode servers.
  • AdKats now monitors player clan tag changes, keeps a history of them, and notifies admins of changes. Tag history is also included in the player info command.
  • Added domination to the list of modes where flag estimations are shown in the ticket rate messages.
  • Added estimated winner and win time to the ticket rate messages.
  • In BF4 since the in-game menu does not tell players why they were kicked or banned anymore, so AdKats now spams the kicked or banned player for a few seconds before they are booted to make sure they know why it happened.
  • Improved some of the integrations with the loadout enforcer plugin. Specifically for report actions and manual loadout fetching.
  • Added %map_name% and %mode_name% options to the email handler for reports.
  • Improved the player info command to show actual hour count the player has in the server, in addition to the calculated weeks/days/hours string.
  • Cleaned up quite a few messages which were unnecessarily long.
  • Added more robust monitoring of player listing and server info triggers, making sure AdKats doesn’t oversaturate procon or the server with requests.
  • Fortified exception handling in a lot of areas.
  • Average AdKats startup durations are stored for the last 15 reboots, and displayed in the startup message when it fully completes.
  • Estimated time until the plugin is finished starting up are now displayed to players attempting to issue commands during the startup phase. Once startup has completed they are notified and thanked for their patience.
New Commands
  • server_nuke_winning - Added a winning-nuke command, which is only able to nuke the currently winning and map dominant team. Helps to avoid human error when manually issuing nukes.
  • player_ping - You can now fetch any player’s current ping and average ping with the fetch ping command.
  • player_forceping - Admins can now force AdKats to issue manual pings on specific players using the force ping command. These players will be manually pinged by the layer instead of relying on the server provided info on their ping.
  • player_debugassist - The debug assist command was added mainly for my own purposes, so i can see if a player would be allowed to assist without actually having them do it. But it could be useful to some people.
  • player_perks - Players are now able to fetch their current list of perks with the player perks command. This command can also be targeted at a player to fetch that player’s perks.
  • player_loadout - You can now fetch a player’s current loadout if you’re running the loadout enforcer, using the loadout command.
  • player_loadout_force - Players loadouts can now be manually forced up to trigger level enforcement if you’re running the loadout enforcer, with the force loadout command.
  • self_battlecry - Players can set their own battlecry using the battlecry command.
  • player_battlecry - Admins can use the player battlecry command to set other player’s current battle cries.
  • player_discordlink - Admins can link an active player in the server with a member in the discord server by ID using the discord link command.
  • player_blacklistallcaps - Admins can make specific players fall under enforcement of the all caps chat limiter using the all caps blacklist command.
  • player_blacklistallcaps_remove - Admins can remove players from the all caps blacklist specific enforcement using the remove all caps blacklist command.
Changes
  • Reserved slot feed for *online* admins has been renamed to match what it actually does, add a VIP kick whitelist.
  • Weapon code posting to the centralized weapon code display has been removed since all weapon codes for the supported games are known now.
  • Everything that was previously named "Hacker-Checker" is now named "Anti-Cheat". The command /hcwhitelist is also renamed to /acwhitelist to go along with this change.
  • Players in teamspeak/discord are now automatically whitelisted from spambot messages.
  • Automatic forgives for clean play no longer require positive reputation.
  • Changed a lot of messages around the plugin which used a team’s name/key to also include the team ID in the message in the format ID/Key.
  • The ‘time on server’ section of the player info command no longer says ‘+ current session’. The current session time is simply added to the base and displayed now.
  • The mark command is no longer used to force player loadouts, there is a separate command for that now. The mark command is now only used to mark a player for leave notifications.
  • Removed the concept of 'adjusted' ticket rates from the UI. The rates shown to you for flag based modes are now by default the adjusted rates, normal rates are shown for non-map modes.
  • Added a block against negative values in the minimum surrender/auto-nuke ticket gap setting.
  • Added block against people adding a minimum ticket rate window value greater than the maximum ticket rate window value, and vice-versa. The values will now automatically swap when the user attempts this.
  • Records in the extended round stats table older than 60 days are now automatically purged.
  • First join/first spawn messages are now blocked when the plugin is recently started. This is to make sure that players are not spammed when you reboot the plugin during an active round.
  • Player leave notifications are no longer given based on private say/yell/tell messages through AdKats, all other action commands still result in a notification.
  • Kicks against yourself are no longer announced to the server.
  • Ticket rates in procon chat are now only displayed during an active round where ticket counts have changed, before they would still display during the pre-round phase.
  • Forgiving players into negative infraction point values is now blocked.
  • Replaced all mentions of @command in the plugin with !command.
  • Issuing the kill command on a player will now announce that action to the server like other actions do.
  • Removed messages about global timing fetch errors.
  • Removed the restrictions on player names which were in place for BF3. Now most characters can be used in player names. The unfortunate side of this is those characters still cause issue fetching from battlelog.
  • Changed population success notification to be a tell instead of a say.
  • The players ColColonCleaner and PhirePhrey are automatically added to reserved slots for any server running AdKats.
  • IP-API communication errors are now changed to debug messages instead of error messages, since they are not crucial to the function of AdKats.
Bugs Fixed
  • Fixed an issue where players could end up being infinitely queued for anti-cheat checks if their battlelog info was unavailable.
  • Fixed an issue where players would not get updated battlelog information after the first fetch was complete, specifically on new rounds.
  • Fixed an issue where players could end up being infinitely queued for IP info fetches if the server failed to respond, or if they left the server before it did.
  • Fixed an issue where errors were thrown because some player’s battlelog information exceeded the size of 32 bit integers, increased the size of those variables.
  • Fixed the DPS ban messages to contain the proper code 4 prefix.
  • Fixed the KPM ban messages to contain the proper code 5 prefix.
  • Fixed an issue where modifying a role's authorized commands would shoot you back to the top of the setting list. Basically now it waits a while before modifying the tags on those settings in the procon view.
  • Fixed an issue where allowing commands from muted players would allow them to simply place a command prefix in front of the message and it wouldn’t act on them. Now it confirms that the command is valid and exists.
  • Assist command timeout had incorrect calculations due to the duration of the command. This has been fixed.
  • Fixed an issue where sometimes players could spawn while a nuke is happening and remain alive.
  • Fixed some of the message formatting sent by the active round reports command.
  • Fixed an issue where surrender voting included spectators/commanders in the required player count calculation to surrender.
  • Fixed an issue where the populator monitor would not fetch updated populator players immediately when that section was enabled, it would have to wait for the next user list update (5 minute interval).
  • Fixed chat spam during off hours caused by the spambot, making sure that those messages are only visible in the chat tab when there are at least 5 players in the server.
  • Fixed issue where AFK player monitor would count all players (commanders/spectators) instead of just the active round players.
  • Fixed an issue where AdKats and some auto-balancer plugins could fight over where a player should be if an admin moved them. AdKats would never give up the fight for control of the player and that resulted in an infinite loop of swapping the player between teams. AdKats now gives up the fight if a players has 8 or more moves in 5 seconds.
  • Fixed an issue where a player who was previously assigned a team leaving the server would delete their assigned team, allowing them to join back and switch to their original team. AdKats now remembers their assigned team when the leave and rejoin during a single round.
  • Fixed an issue where using section 4-2 to add command target whitelist to a role would have no effect.
  • Fixed an issue where players were able to use the join command on themselves to get a free admin kill. They were also able to use this on a current squadmate for the same reason. These are now blocked.
  • Blocked usage of the join/pull commands from spectator and commander player types.
  • Fixed an issue where ‘previous’ bans could end up being imported into the plugin. The bans wouldn’t be issued again but it caused unnecessary processor work.
  • Fixed an issue where a player could be added to multiple users at the same time.
  • Fixed player fetch performance in several scenarios. Sometimes a player which was already loaded was still fetched from the database again.
  • Fixed a bug where admin assistants who were considered ‘grandfathered’ would cause fetching issues.
  • Fixed an issue where the spectator slot feed would attempt to add more than 15 players to the list. For some reason DICE added a 15 player limit to the spectator slot list. When you have more than 15 approved spectators now it just manually monitors the list and keeps the official spectator list empty.
  • Fixed a few error possibilities coming from the ping enforcer.
  • Fixed an error where comparing command input with player names could crash.
  • Removed extra message spam caused by the private messaging system.
  • Removed extra message spam caused by player say/yell/tell commands issued by external plugins.
  • Fixed shutdown durations in some cases, making sure threads automatically exit when you shut down the plugin.
  • Fixed an issue where battlelog going offline would cause a lot of errors to be thrown by the plugin. Now the plugin will wait at 30 second intervals and show warnings if battlelog is offline.
  • Fixed an issue where the admin assistant whitelist could be given to admin roles in section 4-2. That whitelist is not supposed to be used for admin roles.
  • Fixed an issue where the !help command would return commands which were supposed to be background commands.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

7.0.1.0 (12-JAN-2018)

Enhancements
  • Added team power monitor unswitcher functionality. The system can now block a player from moving between teams conditionally based on team power metrics, still allowing them to move to the weak team.
  • Added a display for the current server round number under the server settings section.
  • Improved the log message description when you turn on team power monitor reassignment.
  • AdKats can now detect if a player is stuck in a move loop and cancel moving the player. This can happen if an admin moved a player to team A but the server's autobalancer wants them to be on team B. The two plugins could get in an infinite fight over where the player should be and prevent them from spawning. Now AdKats will give up the fight after a few seconds.
  • Added some custom team power adjustments for conquest large metro to better balance things on that map when using the team power monitor.
  • Added the ability for AdKats to buff a very weak team by 1-4 players over the other team depending on population and map state so they have a chance. This only applies to newly joining players and is only active when the team power reassignment setting is enabled.
  • Cleaned up a few chat messages to be more descriptive/more concise as needed.
  • If a non-admin player attempts to use a command they don't have access to in public chat, a chat message is now displayed to the server letting them know the previous player is not actually an admin. Helps with the case where someone types !ban playername reason when they aren't an admin and people get the false impression that they actually are an admin.
New Commands
  • Added the ignore loadout command for use when AdKats is being run in tandem with the loadout enforcer. This command is useful when battlelog is lagging on a player's loadout and it's claiming they have an item when they don't. Issue the loadout ignore command on the player and they will no longer be wrongfully slain by the loadout enforcer due to the battlelog data issue.
Changes
  • Reduced the maximum high population nuke duration from 120 seconds to 60 seconds.
  • Reduced the maximum medium population nuke duration from 120 seconds to 45 seconds.
  • Reduced the maximum low population nuke duration from 120 seconds to 30 seconds.
  • Reduced the maximum auto nuke duration increase from 60 seconds to 30 seconds.
  • Removed the automatic move of players to an assigned team when they die. This caused an issue with the team power monitor reassignment where it would assign a player to the proper team but the server move would fail, causing a confusing move a few minutes later.
  • Kicking/banning yourself on BF4 will no longer have a delay.
  • Assisting to a team that would have 4 more players is now hard blocked, regardless of how badly they are losing.
Bugs Fixed
  • Fixed issue where plugin website link in procon was broken.
  • Fixed an issue where the role setting section would fail to render and throw an error in the console.
  • Fixed an issue where the player join/pull commands could assign the wrong required team to a player.
  • Fixed an issue where admin assistant status could be loaded for admin soldiers. No admin should also have admin assistant status.
  • Fixed an issue where the plugin weapon names and special groups startup files had incorrect primary load URLs, making the plugin rely solely on our backup server for those files.
  • Fixed an issue where race conditions could cause a command fetch by key to fail, causing an admin command to fail processing.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

7.5.0.0 (21-SEP-2018)

Enhancements
  • Added the C32 challenge system. This is probably the biggest feature added to AdKats since the ban enforcer.
  • Added monitoring of players who join the server while AdKats' first player list is still being processed.
  • Added option to only fire ticket difference based nukes while in high population.
  • Added option to auto-kick players who first joined the server after a certain date. This is used as an anti-cheat measure if a large number of hackers are invading your server at once. Allows regular players to stay in the server while brand new players are auto-kicked.
  • Added lenient reassignment option to the team power monitor. Allows players to be reassigned to the weak team even if they currently have a map advantage. A percentage difference setting is available to tweak this, defaulting to 30%.
  • Updated assorted console messages to be more descriptive.
  • Added purge of adkats statistics once they are 90 days old for performance reasons.
  • Added colors to many of the AdKats chat messages so they are more easily distinguished.
  • A player requesting to assist when they are already queued will now refresh the timeout back to 5 minutes on that auto-assist.
  • Added player clan tag history display to the pinfo command.Added SWAP functionality to the assist command. If two players, one on each team, request to assist, it will swap them both regardless of team state.
  • Added SWAP functionality to the assist command. If two players, one on each team, request to assist, it will swap them both regardless of team state.
  • Added AdKats/procon running time to exception messages.
  • Updated multi-threading system to be more easily controlled and efficient.
  • Cleaned up some unused code.
  • Fixed some state management issues around MULTIBalancer's unswitcher.
New Commands
  • All the new challenge commands. Please look at the docs for those.
Changes
  • Disabled and hid all metabans configurations/actions since that service is offline permanently.
  • Added a limit of 1 ticket based nuke per team per round.
  • Added force kill command to the power level restriction list.
  • Changed all references of chat commands in messages to (exclaim)command, e.g. !command. All prefixes are still accepted, this is only a display change.
  • Special player statuses like reserved slot, spectator slots, anti-cheat whitelisting, etc, can now be issued again even if the target player already has a matching status on them. The new status duration will overwrite the existing status duration.
  • Modified the winning team prediction to be unsure if both estimates are less than 1 minute apart.
  • Added a maximum duration of 30 seconds to the countdown command.
  • Increased command timeout for player_kick from 30 to 45 seconds.
  • Players who are command locked are now whitelisted from loadout enforcement for the duration of the lock.
Bugs Fixed
  • Fixed a bug where weapons might be detected as BF3 on other games.
  • Fixed an issue where auto-nukes with a duration still active when a round ends would keep posting messages and issuing kill commands.
  • Added an automatic fix for the command ID mismatch issue caused by old versions of the BFAdminCP.
  • Fixed some cases where startup time could be extended unnecessarily by some old list invalidation logic.
  • Fixed some ban message codes from the LIVE anti-cheat system to have proper syntax.
  • Reduced some unnecessary spam from the assist command.
  • Fixed some issues with player name history display in the pinfo command.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

7.6.0.0 (8-JUL-2019)

Enhancements
  • AdKats will now detect reserved slot players from outside the plugin if you are not feeding reserved slots to the server from inside AdKats.
  • Redesign of the reporting system so reports now last longer than one round. They are now actable for the duration AdKats is online or until you reach 999 active reports.
  • Enhanced the memory usage monitoring system, and the plugin will now warn at 512MB of memory used instead of 256MB.
  • Added section 8-3 for posting player reports to discord.
  • Added a short server name option for usage with discord posted reports.
  • Added options to automatically give !lead, !moveme, or !killme privilages to reserved slot players.
  • Added an option to feed new reserved slots to the VSM plugin instead of using AdKats.
  • Added the ability to put [newline] into spambot messages to write multiple lines at once.
  • Added ping whitelist option for challenge rewards.
Changes
  • Event system is now public. I probably will not get around to documenting it but the feature is massive. Been used internally until now.
  • Completely disabled the team power monitor scrambler.
  • If the ping enforcer is enabled, reports against players for ping are automatically handled.
  • Report wars between players are now blocked.
  • If a player already reported someone and that report is waiting on admin action, they are blocked from reporting the same player again.
  • If a player starts reporting many other players in the server in quick succession (more than 3 in 5 minutes) the additional reports are blocked.
Bugs Fixed
  • Fixed issue where server rules delay could not be zero.
  • Fixed some issues with the team power join reassigner, and in turn fixed some issues with assist and player moves.
  • Fixed an issue where round ID would not be correctly logged or incremented on new installs.
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.

7.6.0.4 (12-JAN-2020)

Enhancements
  • No Enhancements
Changes
  • Increase the time a nuke is allowed to be triggered from 120 seconds (2 minutes) to 300 seconds (5 minutes)
Bugs Fixed
  • No Bug Fixes

7.6.0.6 (14-JAN-2021)

Enhancements
  • No Enhancements
Changes
  • Ignore 1s bans to fix banlist flooding from new BA/BF4DB kick/ban methods.
Bugs Fixed
  • No Bug Fixes

Upgrade SQL from 4.0.0.0 - Current

  • No upgrade SQL required.

7.6.0.10 (06-APR-2021)

Enhancements
  • Add Proxy Support
Changes
  • New Settings for proxy
  • Usage of proxy
Bugs Fixed
  • No Bug Fixes
Upgrade SQL from 4.0.0.0 - Current
  • No upgrade SQL required.