Jump to content

Thoughts on Anti-Cheating


Guest Tekgen

Recommended Posts

I dunno , I was looking around and after a quick look couldn't find anything similiar so.....

I started playing MTA:VC and I have noticed some ways that maybe could be used to stop cheating, keep in mind that theses are just THOUGHTS...

- Create 5 - 10 (or More ) official , managed by MTA servers . Either with moderators on 24/7 OR Heavy server side cheating detecting... then have these servers cheat free and have the rest fend for yourself ....

- The Mta client isn't even 100k ( I think) and it's a small download , I think that if every time you logged on to a server it uploads a new MTA client every time( or it just checks to make sure that the file is exact letter for letter) . It would stop hacks for trainer detecting...

--

either this or a third party program that does heavy trainer detecting , not only for the word but mainly offset checking , having this third party program be calculating what should be going on and what is with the clients, but again this third party program would have to be protected somehow..

----------

Frequently I think the networking in MTA is more like a ring in between the clients rather than a web with the server , and though it might cause a little more lag (or less maybe) the servers should take a heavier upload to increase security .....

Thoughts only.......

Link to comment

Well, the server only acts as a relay, all the work is done by the client...the server says "oh look, some data...here clients take some data YAY" It is almost blind to whats going on. By making it a hub it ensures that all users get the same data (usually) from each other player. Using a ring might cause who knows what chaos on pings.

...and i think they were looking into including some type of protection in the new core, up til then, grab a heli and make it do that dance o' death, woo.

And i'm sure 2 official servers are strain enough, some people have admin rights other than devs, but even at that it's tough to keep em admin'ed.

I'm not a dev tho, i'm sure one will be along to clarify with exact details lol.

Link to comment
I dunno , I was looking around and after a quick look couldn't find anything similiar so.....

I started playing MTA:VC and I have noticed some ways that maybe could be used to stop cheating, keep in mind that theses are just THOUGHTS...

- Create 5 - 10 (or More ) official , managed by MTA servers . Either with moderators on 24/7 OR Heavy server side cheating detecting... then have these servers cheat free and have the rest fend for yourself ....

We've got a couple already. We can't exactly pay people to admin servers "24/7", and finding reliable admins is hard.
- The Mta client isn't even 100k ( I think) and it's a small download , I think that if every time you logged on to a server it uploads a new MTA client every time( or it just checks to make sure that the file is exact letter for letter) . It would stop hacks for trainer detecting...
This is already done (in effect), using CRC checks... Problem is people have got around these checks.
either this or a third party program that does heavy trainer detecting , not only for the word but mainly offset checking , having this third party program be calculating what should be going on and what is with the clients, but again this third party program would have to be protected somehow..
I started writing such a program, but to be honest, the ammount of work that would have to go into such a project so that the result is useable (and stops cheating effectively) is huge.
Frequently I think the networking in MTA is more like a ring in between the clients rather than a web with the server , and though it might cause a little more lag (or less maybe) the servers should take a heavier upload to increase security .....
Well you'd be wrong. MTA works on a traditional Server->Client model. (like almost every other online game). Lag is a combination of poor client side implementation (this will get better) and the general restrictions we have to put up with (we don't have any GTA source code)...

eAi

Link to comment

BTW the MTA client-server model topology is a star network, neither ring (which would mean some clients connecting directly to eachother), nor a "web with the server" (like what would that be? full connectivity or something?). On a higher level yeah, the server is oblivious to the content of the data it relays and that's where a few performance/integrity enhancement measures could be implemented.

Link to comment

I started writing such a program, but to be honest, the ammount of work that would have to go into such a project so that the result is useable (and stops cheating effectively) is huge.

Then why are you on the MTA Team if you are going to whine about how much work you have to do? Effective Anti-Cheat is a very necessary thing, and if you can do it, then please do. This is much better than putting all of your faith into the miracle 0.4 core.

Link to comment

The core has little - if any - to do with anti-cheating/hacking protection measures; that's the business of each client that comes out. Either way, you can bet .4 is gonna be cracked and overriden in a matter of weeks; I'm already taking that as a given and that's why I don't see program based AC methods as an effective solution to the problem.

You want my thoughts on anti-cheating? Here they are: proper admining of the game servers.

Link to comment

I started writing such a program, but to be honest, the ammount of work that would have to go into such a project so that the result is useable (and stops cheating effectively) is huge.

Then why are you on the MTA Team if you are going to whine about how much work you have to do? Effective Anti-Cheat is a very necessary thing, and if you can do it, then please do. This is much better than putting all of your faith into the miracle 0.4 core.

I think he meant that the workload would be huge in addition to what he does for MTA. Wouldn't it be easier to perhaps reach some sort of agreement with PunkBuster?

Link to comment

Prokopis seems to be getting core and client confused. Core 0.4 will in fact give us many more options when it comes to anti cheat measures.

eAi is referring to a project of his he started before he was brought into the team. More of an addon than something integrated. So obviously his workload is increased now it is NOT a case of being 'lazy'.

As for punkbuster support thats something we may consider in future depending on the direction our own anticheat takes over the course of development

Link to comment

Thanks for the defence Bump ;) Yeah everyone (um... right) on the team is working very hard on MTA, we've got lots of things going on at the moment (some we're saying very little about), so even if 0.4 is slow, it may be partly because we're trying to get other things going as well so you don't have to wait too long for that. Of course, we've also got real-life issues to deal with as well. Don't call us (or anyone) lazy until you've got conclusive proof!

eAi

Link to comment

The protection eAI was developing is useless especially since you were programming it in VB and it uses unicode strings to hold your memory locations which stuck out like a sore thumb and keeps you from doing tricky things with your code to obscure what it is doing.

Link to comment

Um... Sorry? You tested my program? My program didn't use unicode (I'm pretty sure vb doesn't anyway). I don't think you know what you're talking about really. "The protection" that I was developing was superior to MTA's internal protection in that the definitions for cheats was downloaded when the client was run. This was CRC'd, and the crc was checked with the server's CRC of the same file. This makes it pretty hard to edit the data. Have you ever tried working out what the hell a VB program is doing (In assembly)? As its semi-interpretted, its not easy.

Trust me, there were no unicode strings involved at any point, it'd be particularily stupid to store dwords in strings for a start, let along unicode strings.

Even if I had somehow stored lots of vital data in unicode strings, I don't see why this would stop me doing tricky things? What about encryption and/or encoding? You can't do that with unicode strings???

I don't think you really have any idea what you're talking about.

eAi

Link to comment

Actually, VB does use Unicode. That's why the Unicode ChrW$ is faster than Chr$.

Anyway, every anti-cheat protection method has its own circumvention method. eAi's might not be up to the standards of stuff like PunkBuster, but it's a darn sight better than the protection built into MTA (which accused me of using a trainer when I pressed F1 by mistake and it played the replay, I indignantly add :evil:)

Link to comment

Thats because the replay system doesnt show a precorded movie as such it actually takes control of the game engine and recreates the action. So to MTA it sees you spawning cars, changing coords of yourself and others and suddenly gaining weapons etc. It doesnt like that :)

Remember its beta. Replays are just one of the things that are still a bit flakey ;)

Link to comment

CRC for every packet would probly create even more of an overhead to the serv, esp one trying to accomodate more than 12-14 ppl. Besides, it's still a beta Aeron; vulnerabilities such as those should be expected.

And BTW Bump I dunno if I have the core and client confused or not, but given that I'm not making the thing myself, my estimations of where one's responsibilities end and the other's begin surely wouldn't be 100% accurate. Either way, if you're insinuating a more server-side data handling shift as "more options AC-wise", then no I wasn't talking about that. If CRC checking (among other things) is a core issue, then yes I was wrong.

Two more things:

- I don't get how or from where robrando got a hold of eAi's program. I don't remember it being completed :/.

- This whole SP replay functions issue I think deserves a thread to be discussed in. I know I'd have a few questions/suggestions for it like Jon here.

Link to comment
- This whole SP replay functions issue I think deserves a thread to be discussed in. I know I'd have a few questions/suggestions for it like Jon here.

Yeah, I can imagine it being pretty cool, especially in stunt mode. But I asked if it could be disabled because I can also see it causing a heck of a lot of problems. But actually, now I come to think of it, spectator mode could be adapted for this purpose.

Link to comment

- I don't get how or from where robrando got a hold of eAi's program. I don't remember it being completed :/

He released a program that generated signatures of trainers. It was very easy to figure out how his protection was going to work and how to circumvent it.

Link to comment
  • 4 weeks later...

I was just wandering about banning cheaters. I lot of people use DHCP-IP-addresses and banning by IP-address is not allways functional.

This is just a suggestion and I think that this is an issua to be discussed.

I think that using similar wonID as f.ex. Half-Life uses would greatly decrese cheaters re-emerging with new IP-addresses. No I don't mean pay-per-ID-system. But a free IDcode that one would get by registering with functional e-mail address to a dedicated MTA-registering service. Ok, i realize that a cheater would get a new ID by registerin with a different e-mail address, but it would be quite a work to register allways again and get some free e-mail address to get a new IDcode..

This would not be too much of a work for those who really use MTA without cheating..

What would you think?

Link to comment
Have you ever tried working out what the hell a VB program is doing (In assembly)? As its semi-interpretted, its not easy.

yeah it's semi-interpretted cause it uses the vb runtimes, but the calls to the vb runtime functions somewhat make it easier to discover what it is doing, like i know when it calls the vba__TstGtr (Or whatever the fuck it is)it's checking if a variant data type is greater than a value. Whereas a program made in c for instance uses pure asm (Apart from the dll calls) to deal with data (CMP, TEST etc). Oh yeah and VB loves to break "ASM Rules" by defining it's own calling convention like not putting return values etc in eax register after a function.

PS, i don't know how effective your anti-trainer was, (I hope it was effective) but i hope you didn't search by Window name or CRC on running programs, way to easy for the hackers. They could allocate memory within another process, inject code into the allocated area then create a thread on that which will write the hack code into the process they want to change, they don't even need their trainer to be running while your anti-trainer is running!

Besides the cheating, your project is really good and you should be proud of MTA, good work!

Link to comment

Easy solution to cheating:

Make MTA very difficult to play. I have learned after a lot of observation that the more complicated a game is, the less cheaters there are. And I have noticed that the majority of cheaters in MTA cannot type anything that is in anyway comprehensible, so making MTA a harder game to play may very well eliminate the problem. Right now there is no definite structure to an MTA game, and even though it is a nice feeling to have the ability to do anything you want to, this no-rules structure serves as a breeding ground for cheaters. I have noticed that a lot of people think nothing of cheating, and it is this way of thinking that makes more people start to cheat. After all, there are no rules, right? Who can say what is right and wrong? Who cares if you get banned off of a server? There are, afterall, many others.

I am not asking for Counter-Strike style play, where it is just mindlessly pointing and shooting. There needs to be a real challenge in playing, and getting a single kill needs to be a major accomplishment, something that is earned by knowledge rather than luck.

What I am trying to say is that to the players, how you do something should be more important than what you do. It should be boring to cheat.

Well hopefully you get what I'm talking about, and I hope that the MTA Team makes the right decision.

Link to comment
Make MTA very difficult to play. I have learned after a lot of observation that the more complicated a game is, the less cheaters there are. And I have noticed that the majority of cheaters in MTA cannot type anything that is in anyway comprehensible

1. What about the non-cheaters who can't string a sentence together?

2. If the game is harder, surely there is more incentive to cheat?

3. The reason that these games don't have many cheaters is because they're niche games (i.e. non-mainstream appeal) and don't have many players.

Link to comment
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...