MTA Anti-Cheat Team Dutchman101 Posted August 7, 2014 MTA Anti-Cheat Team Share Posted August 7, 2014 Releasing this script, that can detect nearly all server advertisements and kick the advertisers once detected. Based on lists of absolute words used in only server advertisement chat text, the efficiency of detection is good, and it can detect everywhere in the sentence: If you would type, for example: mtasa://x.x.x, then the last part doesn't make sense because the detection was already triggered at the first part, where mtasa:// is added as detection If an server advertisement is detected by the script, it will automaticly kick them: "Don't server advertise!" and output this to the chat in his own nick colour: Advertiser [hisname] was detected! Ontop of the example detection, some generic ones are default: 2200x (usual server port) added as detection ':220' to catch everything in the port rangek, with the prefix : to improve detection efficiency. Besides that, a few ranges of server IPs holding a good part of MTA servers (dedicated hoster) are added, as if it was to be said then it's obviously an advertisement. This is done to improve efficiency even more (it can't detect IP only like x.x.x.x.x, and this is only used if an server has dedicated IP/no port, so it's just some kind of addition to even improve the script and take some more advertising with it) As for that example (improving efficiency) you can edit the script with new detections of words/slangs, but depending on what you add, it could change the quality of 100% detection. For now, with the current and default list coming with the script, it's reliable so that if 1 of those triggers, it IS an advertisement, so then you could, if you want to be rude with server advertisers (I always said, they know it's not allowed) edit the script, to ban instead of kicking them, your choice. Get it: https://community.multitheftauto.com/index.php?p=resources&s=details&id=9846 Link to comment
myonlake Posted August 7, 2014 Share Posted August 7, 2014 (edited) %d\.%d\.%d\.%d (or precise \b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b). And before that strip everything else except digits and dots. IPv6 might be a long shot but do the same thing except look for anything in between 7 colons. Problem is if they are abbrevated to use double colons instead of full 16 bit hexadecimal sections for zeros. But if that is not the case then that should do it. And I personally disable any IP addresses in chat, as no one is supposed to be sharing them in the first place. And if they really want to, then they can just take it somewhere else. I also use some words which I block, so if all were found it would call it an advertisement. Neither of these systems are waterproof, so someone could use letters representing numbers, but you could always make a map for that and look for them as well. It's hardcore and might be over what you need. Most advertisers use valid IPv4s, so should be quite easy. The only thing you have is if someone posts with a domain instead of an address - hard to block, but you can always use word check on that.\b Edited August 11, 2014 by Guest Link to comment
MTA Anti-Cheat Team Dutchman101 Posted August 10, 2014 Author MTA Anti-Cheat Team Share Posted August 10, 2014 myonlake, you can go advanced as that but there's no single script that's 100% waterproof. This here was focussed to be a quick and efficient script in detecting most advertisements, whilst keeping the rule that once it triggers, the detection is an advertisement. (due to the detection list). If you would add IP formats or what you named, you can't rely on that it's an advertisement: people can share IPs for different reasons, it's not absolute advertisement. Then you can say why would they share IPs, they shouldn't anyways so let's just detect and kick them, yes you can, but adding this kind of features would ruin your option to fully rely on it, and change the script to ban instead of kick, as it can then falsely ban if it wasn't an advertisement. So your ideas were good, and could add upon detection capabilities, but would do possible influence to detection reliability, cutting you off in optional measures. Link to comment
myonlake Posted August 10, 2014 Share Posted August 10, 2014 Indeed, but for example on my server I simply just warn the user with a message and cancel the message. This way no one gets harmed and admins are notified. And on my chat no one shares IP addresses no matter what. There is Skype and IRC that you can use if you really want to be that close and personal. And besides it does not have to be applied to all chats, but for example all public chats. Link to comment
MTA Anti-Cheat Team Dutchman101 Posted August 11, 2014 Author MTA Anti-Cheat Team Share Posted August 11, 2014 I don't think your way of doing things is relevant here, thanks for opening discussion on what the best way to stop adverts is, though. This topic is for this resource, not other possibilities. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now