Spartan is not just a combat or a movement anti-cheat. It targets combat, movement, world, player-actions, and even exploits client modules. In simpler words, it is a full solution with no extra needs.
Multi Threaded Checks
A Minecraft server uses just one CPU core. Spartan utilises all your CPU cores to ensure the main thread is kept at low usage, keeping your server at high performance and eliminating the chance of lag or spikes.
Spartan progressively keeps learning and comparing gameplay information to find legitimate players. Once a player is safely found to be legitimate, they are no longer checked by the anti-cheat, hence saving you potential performance and eliminating the chance for false positives.
False Positive Detection
All violations are temporarily saved in the memory and are compared with previous and future ones. Once a comparison meets certain criteria, the anti-cheat adapts and prevents it from negatively affecting a player's gameplay.
Spartan offers TPS and Latency protections, which will force checks and their detections to adapt to certain circumstances, preventing performance overload, but also a huge number of false positives.
This anti-cheat extends its features to help customers in need of moderation. It offers a magnificent kick & ban system with specific information stored for future identification, chat & command control for blocking actions and setting cooldowns, staff chat for private in-game discussions, and a wave system in case you want to look cool when punishing illegitimate players.
Spartan is made to be simple, and so is its configuration. Except the plethora of simple files you have access, you can edit the configuration via an inventory menu, get the plugin to diagnose and fix faulty options, and even get in-game recommendations deeply studied by the developer.
Spartan has a variety of inventory menus, a magnificent live notification system with all the information you need to get your head around a situation, it offers conditional commands in case you want to set your own conditions when punishing someone, it allows reports to reach the developer directly just by executing a command, and comes with a debug system to help you better understand a player's gameplay.
ProtocolLib is a plugin that allows developers to access deeper information of your server. Unlike other anti-cheats, Spartan doesn't need it to function, but using it will be a definite improvement if used concurrently.
Technical Analysis Checks
Spartan uses trained and logged data to run innovative checks such as "Combat Analysis" and "X-Ray Detection". These checks are able to adapt to the server gameplay and improve over time.
Spartan Cloud is a server network available to all customers, where verified false positives are stored and shared to help optimise the plugin's performance and ultimately improve the stability of all checks. In addition, customers are automatically notified of potentially malfunctioning checks.
Spartan offers an advanced reporting system executable via a simple command, that analyses stored logs, finds potential faulty performances caused by the plugin, and directly sends them to the official developer for study.
Change the punishments, messages, detections, basic settings, block words, remove commands, set cooldowns, and keep logs. You can execute up to 10 commands per violation. Always reload the plugin after any changes.
Spoiler: Configuration Files
config.yml (Example) https://pastebin.com/raw/Qag1LG8P
config.yml (Mathematics) https://pastebin.com/raw/MSacz1qX
chat_protection.yml (Example) https://pastebin.com/raw/bthbTcQF
mysql.yml (Example) https://pastebin.com/raw/kqdPp4GM
Spoiler: Available Syntax
/spartan menu opens the main gui menu.
/spartan reload/rl reloads spartan's configuration.
/spartan notifications <verbose/mining> toggles the selected notification system.
/spartan notifications toggles the verbose notification system.
/spartan verbose <player> <check> <info> sends a custom verbose notification.
/spartan info [player] opens a GUI menu with a player's violations info.
/spartan ping [player] sends a message with a player's ping.
/spartan kick <player> <reason> kicks a player and broadcasts a message.
/spartan toggle <check> toggles a certain check.
/spartan warn <player> <reason> warns a player by sending them a message.
/spartan bypass <player> <check> <seconds> allows a player to bypass a check for a certain amount of time.
/spartan ban <player> <reason> bans a player.
/spartan tempban <player> <time> <reason> temporarily bans a player.
/spartan unban <player> unbans a player.
/spartan ban-info <player> sends ban information about a player.
/spartan ban-list sends a message with all the Spartan banned players.
/spartan wave allows you to interact with the wave punishment system.
/spartan report <player> <reason> reports a player using your name and reason.
/spartan <player> if <condition> equals <result> do <command> executes a conditional command.
/spartan <player> if <condition> contains <result> do <command> executes a conditional command.
/spartan <player> if <number> is-less-than <result> do <command> executes a conditional command.
/spartan <player> if <number> is-greater-than <result> do <command> executes a conditional command.
/spartan debug [player] opens an inventory menu that allows the action debugging of a player.
/spartan developer-report [check] [player] creates a log report send automatically sends it to the developer.
spartan.admin, spartan.* gives you all permissions except the bypass ones.
spartan.reload allows you to use /spartan reload.
spartan.kick allows you to use /spartan kick.
spartan.verbose allows you to use /spartan notifications verbose.
spartan.mining allows you to use /spartan notifications mining.
spartan.bypass allows you to bypass all checks.
spartan.bypass.(check) allows you to bypass a certain check.
spartan.manage allows you to use /spartan menu.
spartan.info allows you to use /spartan info.
spartan.ping allows you to use /spartan ping.
spartan.toggle allows you to use /spartan toggle.
spartan.warn allows you to use /spartan warn.
spartan.kick_message sends you a message when someone gets kicked and the broadcast message is disabled.
spartan.chat_protection allows you to bypass blocked words/commands and chat/command cooldown.
spartan.use_bypass allows you to use /spartan bypass.
spartan.ban allows you to use /spartan ban & /spartan tempban.
spartan.unban allows you to use /spartan unban.
spartan.ban_info allows you to use /spartan ban-info and /spartan ban-list.
spartan.ban_message Sends you a message when someone gets banned and the broadcast message is disabled.
spartan.reconnect allows you to bypass the existing reconnect cooldown.
spartan.staff_chat allows you to use the staff chat.
spartan.use_report allows you to use /spartan report.
spartan.report Notifies you when someone fills a player report.
spartan.condition allows you to use the conditional commands.
spartan.debug allows you to use /spartan debug.
Developer API [https://vagdedes.com/spartan/api/SpartanAPI.jar]
The API jar purely exists for dependency/library purposes and is not supposed to be run concurrently with Spartan. To enable the functionality of custom events, set "developer_api_events" to "true" via the "settings.yml" configuration.