Koolsource presents: Grief & Cheat Detector Version 0.2 BukkitDev page: http://dev.bukkit.org/server-mods/grief-cheat-detector/ Koolsource Grief and Cheat Detector is a plugin that aims to make server management easier by automatically detecting suspicious activity that might indicate cheating or griefing activity and generating a report. The plugin includes a 'report' feature that allows users to issue a 'grief report' when they have been griefed. Players with permissions can then teleport to the location of these automatically and manually generated reports. Description continues (long version): Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler This plugin was built out of the experience of admins on our minecraft server who were looking to automate their activities that lead to the catching of cheaters and griefers where possible. One such activity was following the mining behaviour of players to see if players are mining a suspicious amount of valuable ores quickly (particularly if they are doing so in the dark.) Another more obvious 'activity' is monitoring the chat for suspicious behaviour. The plugin is capable of scanning chat messages for key phrases that might indicate players are 'conspiring' to grief, or bragging about their hacks. We have found this to be particularly useful on our server for detecting people talking about griefing, or even having been griefed. The most obvious source of detecting griefing is from our players themselves. As such, we have included a /report command that allows players to report griefing. All grief and cheat report locations, automated or otherwise, can be teleported to using the appropriate command. Features: This is our first publicly released version of the plugin, and we are looking for suggestions for other ways to detect griefing or cheating. Alert admins and store logs of chat messages containing key phrases such as 'i can see through walls' (we have provided a 'default' list of phrases, this keyword/key phrase list can be modified at will) Detects suspicious mining of valuable ores (especially in the dark), stores a log and alerts staff with permissions. Ability to teleport to grief and cheat sites. Players can create reports when they have been griefed. (Stores their location for teleporting to) [Dependencies] Permissions 3 (if not installed, plugin will default to allowing Ops use of the /show(grief/cheat), /tp(grief/cheat) and /del(cheat/grief) commands. All users will be able to use the /report command. [DOWNLOAD] Please read through the configuration and usage information below this section before installing our plugin. [ Download link ] [CONFIGURATION FILE] Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler The initial run of the plugin will generate a 'GriefDetector' folder in the 'plugins' folder (if it does not exist.) If you prefer SQL Settings: The plugin will use a database to store grief and cheat reports. The plugin will default to using SQLite on the first run: this SQLite database will be stored in the plugins/GriefDetector folder as database.db. If you wish to use MySQL instead, set the 'Use-SQLite' to 'no' then Input the appropriate SQL values for the SQL username, password, database name and hostname. Mining Detection Settings: Please read: The default settings (examples) can produce a high amount of false-positives on busy servers (eg. sometimes a high amount of valuble ore can be found in a cave in a very short time period), you should tinker with these settings as you see fit, and add as many extra detection rules as you like (for instance, a rule for diamond per 5 minutes [short burst], and another for diamond over an hour). Also, there's nothing stopping you from using a value other than an ore. The 'mine detection exempt' section allows you to specify world names that the plugin should ignore how much players mine on (such as on creative worlds.) The default configuration file has examples of how to specify which ores the plugin should report suspicious activity for in the 'MINE_LIMITS' and 'MINE_IN_DARK_LIMITS' sections. These may be removed, or altered. 'MINE_LIMITS' concerns mining in any light level, 'MINE_IN_DARK_LIMITS' concerns only those ores mined in absolute darkness (a light level of 0). 'item_id' specifies an ID of an ore to watch for players mining suspicious amounts on. The appopriate value can be found in the 'Dec' column on this webpage: http://www.minecraftwiki.net/wiki/Data_values#Block_IDs_.28Minecraft_Beta.29. 'amount' specifies how many ores the player should be allowed to mine in the time-frame specified in 'time' before a report is issued, viewable via the /showcheats command. 'time' specifies the time-frame for the amount of ore to be mined. More specifically, after how many minutes the count of the amount of ores of this type should be reset for the player. This value must be greater than 0. Report Time Limit: * Throttles the amount of /report commands can be issued by players to the amount of seconds specified. Default is 1 /report command every 30 seconds. [CURRENT DEFAULT CONFIGURATION FILE] Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler # KoolSource Grief & Cheat Detector # Please visit http://www.koolsource.com for more plugin releases, and gaming and web design related services. # NOTE: CONFIG MUST USE 4 SPACES FOR INDENTATION, NOT TABS. CONFIG IS IN YML FORMAT [http://en.wikipedia.org/wiki/YAML] MINE_DETECTION_EXEMPT_WORLDS: - worldGoesHere - otherWorldGoesHere SQL_SETTINGS: Use-SQLite: 'yes' sql-username: 'your sql username (only if Use-SQLite: ''no'')' sql-db-name: 'your sql database (only if Use-SQLite: ''no'')' sql-hostname: 'your sql host name (only if Use-SQLite: ''no'')' sql-password: 'your sql password (only if Use-SQLite: ''no'')' MINE_LIMITS: - item_id: 56 amount: 12 time_frame: 30 - item_id: 14 amount: 12 time_frame: 30 MINE_IN_DARK_LIMITS: - item_id: 56 amount: 4 time_frame: 1 - item_id: 14 amount: 10 time_frame: 5 - item_id: 15 amount: 6 time_frame: 1 report-time-limit: 30 [USAGE] /report [message] - This will create a grief report providing the message entered, along with the player's coordinates at the time of using command (which can be teleported to via the /tpg(rief) command /showgriefs [page no.] (alias: /sg) - Will show a list of automatically generated grief reports, and manually generated reports (using /report) ordered by newest first. A page number can be provided optionally, eg. "/sg 3" would show page 3 of the grief reports. /showcheats [page no.] (alias: /sc) - Will show a list of automatically generated Cheat reports. A page number can be provided optionally, eg. "/sc 4" would show page 4 of the cheat reports. From the results of /showcheats and /showgriefs, each report begins with an ID number which can be used in the following commands: /delgrief [id number] (alias: /delg) - Removes the report specified in "id number" permanently /delcheat [id number] (alias: /delc) - Removes the report specified in "id number" permanently /tpgrief [id number] (alias: /tpg) - Teleports to the world and coordinates of the grief report specified in "id number" /tpcheat [id number] (alias: /tpc) - Teleports to the world and coordinates of the cheat report specified in "id number" [KEYWORD FILES] The initial run of the plugin generates cheats.txt and griefs.txt in the plugins/GriefDetector folder. These may be modified, so long as each phrase is entered on a new line. Note: These files should not be opened in notepad, which messes up the formatting of the file. For windows users, we recommend wordpad. [PERMISSIONS CONFIGURATION] Note: This plugin uses Permissions 3. If this plugin is not installed, it will default to operator only. Spoiler (Move your mouse to the spoiler area to reveal the content) Show Spoiler Hide Spoiler Nodes: griefdetector.viewgriefs griefdetector.tpgrief griefdetector.delgrief griefdetector.viewcheats griefdetector.tpcheat griefdetector.delcheat [FUTURE WORK] Detecting a player that, for example, breaks considerably more glass than they have placed Flood detection and automatic banning on flood Detection of speed hacks Separate command for showing grief/cheat related chat messages that were caught [CONTACT US] IRC: server: ircd.jcink.com channel: #koolsource Website : http://www.koolsource.com E-mail: [email protected] BukkitDev site: http://dev.bukkit.org/server-mods/grief-cheat-detector/ Created by Koolsource Developers: Happy0 ( http://koolsource.com/user/54-happy0/ ) Brad ( http://koolsource.com/user/6-brad/ ) with some help from: paperbackdragon ( http://koolsource.com/user/122-paperbd/ ) Design input: jchamb2010 ( http://koolsource.com/user/2-john/ ) Deano ( http://koolsource.com/user/1-deano/ ) Change Log: Version 0.2: Added support for SQLite (previously only MySQL was supported.) The plugin defaults to using SQLite. Current users are encouraged to add the 'Use-SQLite' option to their config file. However, if they do not, the plugin will default to using the MySQL settings. Please refer to the 'Current Default Configuration' section to see how the 'Use-SQLite' option is formatted.