That’s good because it means I can load up the same template and experiment with different ways to work on detection through the vehicles.
I think I had said that before but at least you know now. And yeah it is a good thing. Just so your aware the client can modify the boost time and recharge time (car model.Engine and look at the attributes) but I have created a server script on the remote event to the server to help prevent this.
I thought you could use that info for debugging purposes. Good luck and thanks.
This looks promising! I might use it in my projects.
Service update today.
If you are using the auto-update code version, then your servers are already protected. Instructions for setting up your game to auto-update with each version release is located at the first post on top.
If you prefer the manual update method, I’ve updated the download model at the top as well.
12/28/2024
- Scans increased to 5 times per second.
- Added New Teleport Scan exception for developer chosen models.
- Service load uses print instead of warn statement to avoid spamming the error analytics.
Explanation of recent changes:
- The change finally happened. Scans have been increased from 4 times per second to 5 times per second. This increases the resolution of scans, helps to decrease the number of false positives, and does NOT create a performance hit on the server either. To make sure this doesn’t break any game play, a lot of testing and code tweaking was done to make sure this is flexible during high server loads. Basically, 5 scans per second is the target, but if Roblox service issues or game play is slowing down the server speed, it will adapt to work with 4, 3, 2, or 1 scans per second and still be stable against false positives. The lower number of scans, the less accurate it is, but this helps to prevent it from punishing innocent players.
- The new teleport model exception was a great idea suggested here. Basically, a developer can set a boolean attribute on a model “KM_TELEPORT_IGNORE_MODEL” to true. This will make it “invisible” to teleport cheat scanning. Any descendants under this model will also be ignored for scanning. It only works on the first Model detected as to avoid any unknown ways to exploit this against multiple models at once. This has to be enabled in the configuration file, so it is not auto-update friendly , but as are all new features when they are included in a new release. It would mean you need to download the latest version of the anti-cheat service model and copy some old configuration settings to the new configuration setting file. Otherwise, the new feature is ignored to avoid breaking anything in-game for developers using the old model configuration file.
- Finally, just some tweaks to avoid spamming your error anaylytics. The old service statement used a warn to alert the Dev that the service had started (mainly for debug reasons) and since Roblox added error analytics, it just spams your logs as many times as a game starts. For the top Roblox games using this anti-cheat service, that would be millions or billions of spam entries in their log files.
I will update the documentation to include how to use the new features, etc. in the near future.
[edit] Documentation Updated with a vehicle example and some other technical info.
Another feature request is temporary allows you to ignore specific objects/instances from being looked at by the anti cheat.
This can prove handy when working with your teleport as any rapid movements on the server (doesn’t matter how, even using humanoid:Sit() triggers it) by a server script can trigger the ac.
I recommend using tags anyway because collectionservice, performance blah blah blah.
Also change the warn print for start up messages as they cause analytic errors too (not actual errors just show in the display section).
I did consider that, but I figured the developer would want to implement their own system since it would be simply enough to have an exclude attribute be removed on a timer function by their own design rather than rely on one I create.
It should only use the warn for failures now, when it can’t load properly. What message still produces a warn message? I can easily change that as I might have missed one somewhere.
just the “starting blah blah blah” message when you start it.
Starting Knightmare Anti-Cheat Service v1.53 - Server - KnightmareAntiCheatService:1432
There’s the line
Why not just make a callback system, define your own one as an example and then allow the developers to replace the callback with their own if wanted.
Oh, I see. The newer version already change that. As of 1.6x anyway. Should all be just print statements now and only the warn if something fails to start. 1.6x added the ability to exempt models so those using it in race games didn’t have issues with vehicles causing false detection among other useful things a dev might use it for, such as decorations and trouble models, etc.
I think maybe I mis-understood. I was thinking of a time delay based system, are you asking for a simple one-time exception like what you can do on the player, but just on the model instead?
either idrc how. you add it as long as it works tbh. wrote in bed.
Hi there! I recommend using helper modules for detections to avoid packing everything into a single script. This would significantly improve the structure and maintainability of the code. Additionally, consider strictly typing the code to enhance readability and give the code a more polished, professional appearance. Once these improvements are implemented, I’d be more than happy to use this. Please take my suggestions into account!
Constructive suggestions are always appreciated.
I am doubtful they’ll do this. Almost no one (including a developer my self) will modify somethings backend when they literally don’t need too and the product is being updated frequently too.
It seems that spawning a car and then teleporting a player is an issue still in an actual game.
I do sit the player in the car on the server and then edit the CFrame which could be the issue however even after adding the teleport tag to not only the newly cloned car but also the player and then teleporting them to the car the same issue happens again.
I have my game open to the public which can be helpful for testing any of my issues out. I do publish to the platform frequently when testing things out on my console.
Testing place (please ignore if your not knight):
I also DID in fact replace all my server scripts from the old version with the new one straight from the toolbox to help prevent compatibility issues.
My configuration (6 month pastebin)
Hope this helps.
I think I kind of got it to work? But I think its a little random per say. Can’t exactly elaborate further because I have not a clue my self.
You can always send me a direct message here to avoid putting in private or in-progress development work for public display. That’s how all the other developers usually contact me when they need help with issues or have suggestions for features, etc.
I did drive around for a little bit, not sure what I needed to watch for?
Despite not being the best, I see this as much better than other jokes people call an anticheat, like Visionary or Typx.
Very nice work.
The main focus is on the 4 most used cheat types instead of trying to be all things anti-cheat. I am curious though, I don’t keep up with what the other anti-cheat systems do, which one would you consider the best?
OpenAC, Citadel and Faithful though some of them are WIP they still have alot of detections
It was already on display anyway so I don’t care. But for future bug reports I may open pms.
I disabled the anti cheat since I was messing with it (baseplate) for testing. I will re-enable it though.
I couldn’t find much about OpenAC here on the forum, I did find their website, but nothing was available to look at code wise on the github repository, so I don’t know what it actually does or did if it is still active? I couldn’t find anything about Citadel other than people claiming how easy it was to bypass, but still could not find the original code author or a site/link associated with it. I found a lot of links for Faithful, but those links just lead to other links for claiming to be the same anti-cheat, still ended up with no code at the end. I can see why this can be so frustrating for developers when searching for a community based anti-cheat system.
I did find some other anti-cheat systems that claimed to work, but they used Obfuscated code so I don’t have time to manually pick them apart to check for exploits, so again, that would probably be a non-starter for most professional developers.