Jump to content

[Blog] Anti-cheat


Blokker_1999

Recommended Posts

  • MTA Team

Long time since last blog post, so I was thinking I could add some news. What I've been working most on lately is anti-cheat. As you know, even the perfect multiplayer game is ruined if the anti-cheat mechanism is poor or non existing, which is why we're doing this before R1. This is the only major thing left to do before release I think.

For MTA:SA we're developing an anti-cheat mechanism more complex that it has ever been in older versions of MTA. As most of our anti-cheat code has been moved serverside, this allows for a more flexible and more secure anti-cheat than we've ever had. We've also developed a serverside definition file that most likely at the point of release will contain algorithms used to detect clients cheating. Most of the serverside code handling that file is already developed but there's still some left. The server will feature auto-updating of the definition file letting us update it at any time to protect the server against new threats. We still can't guarantee cheatless gameplay, but it will be significantly harder to cheat in MTA:SA than previous MTA's.

Enough about that. I'm going to explain how MTA:SA works for the newcomers. MTA: Codename Blue (aka MTA:SA for first release) is a platform with hundreds of "functions" for accessing GTA. We got 4 main modules. The core, responsible for starting up MTA and manage every other module we've got. The game interface, an interface to GTA's code containing hundreds of functions to do everything you want with GTA. The network interface, the module containing an UDP networking API for reliable and non-reliable packets used to do the multiplayer part of our mod. Lastly, we've got the "multiplayer" module containing various things that doesn't really fit into an other modules.

That's the main part of MTA, and most of the work we do goes into the game layer (researching how GTA works and wrapping up their internal classes) and our open-source SDK classes wrapping up the game layer to get around any limitations GTA has. We could avoid the vehicle limit for instance by coding an algorithm into the SDK layer to stream them in/out as they approach/leave and prevent them from falling through the earth when they're so far away that the ground got no collision data.

The last part of our first release is the "mods". These are DLL's controlling GTA taking use of all the modules' functionality. The first release of MTA:SA will come with two mods. Race and Map Editor. Race contains all the code needed for racing built on the code in the game layer and the open-source SDK layer. The race code itself is not really much code compared to the rest. It's the part where we just code whatever we want based on functionalities like vehicle/object/checkpoint creation, raycasting, physics, XML etc... in the main modules. The map editor works at the same level as race as a seperate mod and operates pretty much the same way. We created our map editor without editing the main modules much at all, explaining it's flexibility. When we come to deathmatch, it's not really that much work as it's all based on the framework and the functionality developed to get near the release of this racing release.

That's a brief explaination how it all works . Enjoy! :wink:

Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

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