SA-MP Forums

Go Back   SA-MP Forums > SA-MP Scripting and Plugins > Filterscripts

Reply
 
Thread Tools Display Modes
Old 26/08/2016, 02:20 AM   #1
Zuthara
Little Clucker
 
Join Date: Nov 2015
Posts: 22
Reputation: 15
Default Sprunkbuster SA - Anticheat System and Global Cheater Blacklist


Current Version: 1.1.2 | Last Updated: August 26th, 2016
NO LONGER UPDATED


What is Sprunkbuster?
Sprunkbuster is a system designed to keep cheaters out of your server. It is a robust system designed on top of a reliable anti-cheat system to ban players for cheating and keep them out, while also reducing the risks of false bans. In 2010, the original Sprunk Buster project was launched by Woet - the project failed due to DNS range banning and a poor structure. This project has taken into account many of the problems with the old Sprunk Buster and fixed them.
  • Built-in Anticheat System (Nex-AC) monitors known cheats on the server-side, and reports back to the master server.
  • Cheaters which are identified are instantly banned from your server... and from every other server which has Sprunkbuster installed properly.
  • Fast and robust system with most of the work done in the cloud.
  • Accurate system of identifying individual players, avoiding false bans for innocent players.

How does Sprunkbuster work?
When a cheater is detected by the system, a ban request is sent to the master server (Sprunkbuster's server) to globally ban that player. If the master server acknowledges the request and bans the player, the player is then disconnected from your server.

By default, bans last 24 hours. Our staff reviews evidence for each ban and determines if it is enough to justify a permanent global ban. Even if a player gets unbanned after the 24 hours, we retain records and logs. Sometimes, we won't be able to review all requests within 24 hours - but rest assured, we will eventually get to it and that cheater will be banned.

If you wish, you can enforce local bans through other tools, in order to keep cheaters off of your server who you identify yourself. Sprunkbuster works hard to ensure that no player is global-banned without a good reason - we want to reduce the number of false global bans to effectively zero.

What if I ban myself or an admin gets banned by the system?
The anticheat system is a solid one - it does not have many false positives. However, if you get banned due to using commands (i.e. admin-fly, admin-teleport, etc.), make sure to take a screenshot or save a Shadowplay clip so we can investigate. We review all bans that come into the system to verify the evidence logged by our system.

If you believe you have been wrongly banned, you can appeal on our website: abstractiondev.net - requests usually take between 24 and 48 hours to review, and are typically reviewed during regular business hours, except in emergencies.

If you want to keep your admins from getting banned, use the following function in your script:
Code:
SB_ExemptPlayer(playerid,exemption_state);
* Playerid is the ID of the player you want to exempt or unexempt.
* exemption_state is a 1 or 0: (1) if you want to prevent the player from getting banned, (0) for everyone else.
Supported Operating Systems:
Windows
Linux (CentOS)

How do I use Sprunkbuster? - UPDATED 8/26/2016
Sprunkbuster is fairly simple to use. Simply follow the instructions below and you'll be ready to get started with Sprunkbuster. Please follow these instructions carefully, so you can use this tool properly...
  1. Download the latest files for Sprunkbuster - DOWNLOAD
  2. Unzip the files into your server folder (where samp_server.exe is).
  3. Add the following line at the top of your Gamemode Script:
    Code:
    #include <sprunkbuster>
  4. Add the following line at the top of your Filterscripts:
    Code:
    #include <nex-ac>
  5. Add the following lines to your server.cfg:
    Code:
    filterscripts sprunk
    plugins SAMPSON

Where do I download Sprunkbuster?
Read the instructions above, then go here:

Want to be a Sprunkbuster Moderator or Developer?
Send me a private message if you want to be a Sprunkbuster Moderator or Developer. I'm looking for reliable developers and moderators to help out with maintaining the project as it goes on. Moderators review evidence and unban innocent players, developers work on making the project even better.

Changelog
1.1.2
+ Default bans have been changed to 24 hours until confirmation. Sprunkbuster Staff will now need to confirm the evidence before the ban becomes permanent. (24 hours is a verification period)
+ Servers which issue excessive false bans (no evidence to back up the ban) will now be blacklisted.
+ Restructured some code and added some remote calls for better efficiency of filterscript.
+ Released everything as open source.
1.1.1
+ Made logging more efficient.
+ Restructured HTTP requests (breaks older versions)
1.1.0
+ Restructured callback hooking and made system easier to install. Users no longer need to edit their Gamemode other than adding the include (add the include and you're done).
+ Added security checks and enhanced tracking on the server side.
+ Fixed 2 bugs causing false bans (hill bug and admin fly bug)
+ Added Exemptions (server owners can now exempt their admins from getting banned by Sprunkbuster)
+ Restructured Violation Level tracking.
+ Released beginning of panel with basic features.
1.0.1
+ Initial Release

Development Team
Zuthara
MSX

Credits
Nex Anticheat - Developed by Nexius
SAMPSON Plugin - Developed by KingHual
__________________

Developer / Project Manager - Sprunkbuster

Last edited by Zuthara; 12/09/2016 at 09:41 PM.
Zuthara is offline   Reply With Quote
Old 26/08/2016, 02:36 AM   #2
Flaw
Little Clucker
 
Flaw's Avatar
 
Join Date: Sep 2014
Location: NY
Posts: 28
Reputation: 3
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Nice job !!! - Rep Lv Up
__________________
HostName: NY Cops And Robbers San Fierro 0.3.7
Address: 37.187.171.204:7782
Ping: 31
Mode: Cops and Robbers
Language: English/All

Last edited by Flaw; 26/08/2016 at 02:37 AM. Reason: Rep
Flaw is offline   Reply With Quote
Old 26/08/2016, 08:56 PM   #3
Zuthara
Little Clucker
 
Join Date: Nov 2015
Posts: 22
Reputation: 15
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Update 1.0.1.1
  • Security updates to backend.

You do not have to download a new include file to receive this update, it is entirely server-sided.
__________________

Developer / Project Manager - Sprunkbuster
Zuthara is offline   Reply With Quote
Old 26/08/2016, 09:16 PM   #4
TreePuncher
Huge Clucker
 
TreePuncher's Avatar
 
Join Date: Jun 2012
Posts: 250
Reputation: 35
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

From what I read, I'll assume all reports are sent straight to the master server, no exceptions.
With that assumption in mind, I think it'd be nice to have a callback where you decide whether that report is sent to the master server or just dropped.
As you said, it's possible to have your admin banned accidentally by using admin commands, and the reason I am giving this idea is because, if that were to happen, the server could just go through whatever logical operation it was programmed to go through and drop the report if the admin was really using his commands, that way, the admin wouldn't have to go off duty for 24/48 hours, and you wouldn't have to review that appeal.

Now that suggestion was just in case the plugin doesn't work like that, I did not have time to look at it. Sad, really.
__________________
Currently studying Computer Engineering, and sitting on my ass during free time.
Zelda fan, King Dedede main on Super Smash Bros. for Wii U and 3DS, Resident Evl fan, LVL 3 Pokemon trainer on Pokemon GO (I don't usually go out to see the world).
TreePuncher is offline   Reply With Quote
Old 26/08/2016, 11:38 PM   #5
Max_Andolini
Huge Clucker
 
Max_Andolini's Avatar
 
Join Date: Oct 2013
Posts: 315
Reputation: 37
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Add nex-ac_en.lang
Max_Andolini is offline   Reply With Quote
Old 26/08/2016, 11:52 PM   #6
Zuthara
Little Clucker
 
Join Date: Nov 2015
Posts: 22
Reputation: 15
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Quote:
Originally Posted by TreePuncher View Post
From what I read, I'll assume all reports are sent straight to the master server, no exceptions.
With that assumption in mind, I think it'd be nice to have a callback where you decide whether that report is sent to the master server or just dropped.
As you said, it's possible to have your admin banned accidentally by using admin commands, and the reason I am giving this idea is because, if that were to happen, the server could just go through whatever logical operation it was programmed to go through and drop the report if the admin was really using his commands, that way, the admin wouldn't have to go off duty for 24/48 hours, and you wouldn't have to review that appeal.

Now that suggestion was just in case the plugin doesn't work like that, I did not have time to look at it. Sad, really.
That is already developed on the 1.2 development branch. Hoping to push out an update either tonight or tomorrow morning with some added features for handling ban exceptions (applying exceptions to certain players). There are also a few bugs identified which i'm going to fix in the development branch - only one of them could possibly result in false bans (going at high speed at a speed incline could trigger a fly-hacking flag).

The 1.2 branch will have a number of features gearing the system toward a panel, so that admins can reverse bans issued by their own server. So, if an admin identifies a false ban issued on their server, they can go and reverse this on the panel. I expect the panel to be finished by around 1.3 - 1.4, along with the web API.

Also new in the 1.2 branch on the master-server side will be the beginnings of a web API so that servers can check players for sprunkbuster bans on their own websites and UCP applications. This will likely be released around the 1.3 - 1.4 point.

Also, i'm going to fix the nex-ac lang files to the include shortly. Apologies for the errors, guys.
__________________

Developer / Project Manager - Sprunkbuster
Zuthara is offline   Reply With Quote
Old 27/08/2016, 12:08 AM   #7
Spmn
Gangsta
 
Join Date: Jun 2015
Location: Romania
Posts: 490
Reputation: 131
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Quote:
Originally Posted by TreePuncher View Post
From what I read, I'll assume all reports are sent straight to the master server, no exceptions.
With that assumption in mind, I think it'd be nice to have a callback where you decide whether that report is sent to the master server or just dropped.
As you said, it's possible to have your admin banned accidentally by using admin commands, and the reason I am giving this idea is because, if that were to happen, the server could just go through whatever logical operation it was programmed to go through and drop the report if the admin was really using his commands, that way, the admin wouldn't have to go off duty for 24/48 hours, and you wouldn't have to review that appeal.

Now that suggestion was just in case the plugin doesn't work like that, I did not have time to look at it. Sad, really.
I took a quick look at source code and it seems that only bans issued by NexAC are sent to master server.


Here's a couple of suggestions:
- call a callback when a global banned player connects instead of auto kicking it (maybe some server owners want to whitelist certain cheaters?)
- hook callbacks used by your library, especially OnCheatDetected because scripters might want to use that callback in their scripts too

I see you allow servers to issue global bans since they are registered on your master server. What if some malicious SA-MP servers send fake global bans? You should reject all bans unless issuer is trustable.
Spmn is offline   Reply With Quote
Old 27/08/2016, 01:30 AM   #8
Zuthara
Little Clucker
 
Join Date: Nov 2015
Posts: 22
Reputation: 15
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Quote:
I took a quick look at source code and it seems that only bans issued by NexAC are sent to master server.
At the present moment, I don't have the ability to write an entire anticheat system from scratch.

Quote:
call a callback when a global banned player connects instead of auto kicking it
The whole idea behind Sprunkbuster is to create a blacklist of who the cheaters are in the SA-MP community. I have a plan to implement local whitelisting, but it may take a little while before it's ready because i'm trying to move all of that sort of stuff to a control panel.

Quote:
I see you allow servers to issue global bans since they are registered on your master server. What if some malicious SA-MP servers send fake global bans? You should reject all bans unless issuer is trustable.
I was hoping to keep this ambiguous, but I guess i'll elaborate a little bit on how this works.

Basically, all bans are sent into a review queue before they are permanently enforced. All bans can be traced back to individual servers by an API key unique to the server. Servers which send false bans (by triggering one of many tracking systems) get their API Key automagically suspended by the system. As of the present moment, any ban that is issued and added to the review queue is a 12 month ban (which will change once the review system is activated).

Future updates will issue a 48 hour ban to any player suspected of cheating and submit the global ban request to a review queue. The requests in the queue will be reviewed by a human, and either approved (made permanent) or rejected (reversed). The next big task is to make the proper panel.

Quote:
I took a quick look at source code and it seems that only bans issued by NexAC are sent to master server.
Once multiple cheating attempts are logged, the player is globally banned. The idea is to automate the system while also preventing as many false bans as possible. At the current moment, I can guarantee that most bans issued by the system are correct based on information gathered during testing. As of now, admin fly commands result in a ban, and driving too fast uphill can result in a ban - these will be fixed tonight.


---

So, based on above suggestions, i've compiled the following list of things i'm going to be doing tonight for the 1.2 development branch:
TO DO List:
- Add nex-ac language files into the downloadable package.
- Add a callback for handling bans
- Add local whitelisting
- Add a hook for OnCheatDetected
- Security updates to prevent flooding.
- Fix two bugs resulting in false bans.
- Start on Sprunkbuster cloud panel.
__________________

Developer / Project Manager - Sprunkbuster
Zuthara is offline   Reply With Quote
Old 27/08/2016, 05:09 AM   #9
Zuthara
Little Clucker
 
Join Date: Nov 2015
Posts: 22
Reputation: 15
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Just pushed the update. 1.1 is now released, please update your files if you have not done so already. If you do not update, your server key will not be able to send ban requests to the master server.
__________________

Developer / Project Manager - Sprunkbuster
Zuthara is offline   Reply With Quote
Old 27/08/2016, 08:31 AM   #10
TheMallard
Big Clucker
 
Join Date: Aug 2015
Location: Russia
Posts: 99
Reputation: 18
Default Re: Sprunkbuster SA - Anticheat System and Global Cheater Blacklist

Sprunkbuster sucks!
__________________
U2MP Wiki: https://github.com/themallard/gtau2mp/wiki
TheMallard is offline   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Where can i Find a FP / Faction Blacklist system ? hyperixtheodor Scripting Help 1 28/08/2014 10:53 AM
Area 69 - The NEW Global Blacklist! Block cheaters and stuff... ev0lution General 80 23/06/2012 04:49 PM
Sprunk Buster - The SA-MP cheater blacklist [UPDATE: 13th of August] Woet General 496 15/11/2011 10:44 PM
SprunkBuster Help!? cozza123456 Help Archive 3 07/03/2010 07:40 PM


All times are GMT. The time now is 05:11 AM.


Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.