MineAfee

MineAfee

262 Downloads

mineafee

Overview

Existing anti-cheat plugins like NoCheatPlus may stop exploiters from speedmining or flying, but it does not stop players from obtaining items with excessively high enchantments or potions with extreme potency through exploitation of bugs. This plugin provides a structured log system to monitor players that use exploits to modify items and potions, as well as a simple set of commands to use against cheaters.

Functionality

This plugin has a scanning system intended to evaluate the items in a player's inventory for potential exploits. At its full functionality, the plugin can

  • detect players in possession of exploited items
  • place these players in a log which can be viewed anytime ingame by people with the correct permissions
  • announce to the entire server that a specific player is in possession of exploited items or potion effects
  • be triggered by various events (e.g. block place, block break, drop item) to scan players who perform the events
  • kick players who fail too many scans
  • randomize scanning
  • remove all exploited items from a player in one command

NOTE: All of these options are configurable!

Intended Use

This plugin is designed for servers which have a problem with cheaters that use clients to exploit bugs in the game to modify item enchantments and power.

Commands

/ma - shows the intention of this plugin

/ma help - shows the help dialog which lists all commands

/ma help [command] - shows information on a specific command

/ma scan <player> - manually scans a player for exploited items

/ma clear <player> - removes only malicious items from the specified player

/ma clearpots <player> - removes malicious potion effects only from the specified player

/ma clearall <player> - removes any article identified to be malicious from the specified player

/ma logs <page> - opens the log viewer where a player can view all logged players

/ma addplayer <player> [reason] - manually add a player to the log with a supplied reason

/ma delplayer <player> - manually delete a player from the log

/ma clearlogs - clears the log

/ma searchlogs <query> - searches the log for the specified string

/ma config - view configuration settings

Permissions

MA.check - grants a player permission to scan other players using /ma scan

MA.admin - exempts a player from scans (both from players and the plugin)

MA.modify.clear - allows a player to modify another player's items using /ma clear

MA.modify.clearpots - allows a player to modify another player's items using /ma clearpots

MA.modify.clearall - allows a player to modify another player's items using /ma clearall

MA.logs - grants a player permission to view the logs using /ma logs

MA.logs.search - grants a player permission to search the logs with /ma searchlogs

MA.logs.add - allows a player to use /ma addplayer

MA.logs.delete - allows a player to use /ma delplayer

MA.logs.clear - allows a player to clear the logs with /ma clearlogs

MA.config - allows a player to view the config with /ma config

Default Configuration

kick-times: 5 >how many times a player can fail virus scans before it is kicked (A negative number here makes it unlimited)

announce: true >announce to the server that a player has modded items each time they fail a virus scan

reset-log-on-restart: false >whether to reset the log every time the plugin is loaded

check-message: true >notify players when they are being scanned by staff members

random: false >whether to enable random scanning

scan-chance: 5 >if random scanning is enabled, the chance of being scanned (1 out of whatever number you put here)

triggers:

blockplace: true >player will be scanned upon placing a block

blockbreak: true

bookwrite: true

entityhit: true

playerjoin: true

itemdrop: true

itempickup: true

bucketfill: true

eatfood: true

pvpevent: true

writebook: true

eggthrow: true

fishing: true

itembreak: true

portal: true

shear: true

shootbow: true

teleport: true

players: >this is the log. It is not recommended, but you can modify it through config, but it will not function if you do not use proper YAML

Future Plans

  • working on a system that removes items from a player automatically (configurable)
  • better GUI
  • sync with other plugins
  • edit config ingame (already implemented, but very buggy)

NOTE:

I don't appreciate comments about my code. Please comment only about bugs you encounter on your server, suggestions, etc. I will not reply to comments regarding my code. Thanks in advance.