November 28 2010.
MM2 Anti-Cheat v1.0

Midtown Madness 2 has received this revolutionary upgrade after more than a decade of problems, arguments, cheating & deception in this buggy game due to poor game design and lack of support from the game developers themselves (Thank you Microsoft?).

This thread is created to write out all the details, miscellaneous notes & up-to-date official bug reports to make it better for its next iteration.




Anti-Cheat Problems
What were the problems presented to Voobly developers?
There were 2 major problems that were presented to Voobly developers.


First Problem:
Over the years, MM2 fans have been able to create custom-made files through software applications that have been able to properly utilize the 4 core ".ar" files in MM2's folder. This is great if we want to be able to play in different cities, drive numerous & great looking cars etc. The bug that existed in this process was -> through a deeper inspection of the files, fans were able to tweak the existing vehicles/environment in such a way that it created an easy way out for people who didn't want to play through MM2's existing game-physics - all in the intention of fully gaining advantage over their peers who didn't know how to work around those software bugs. Not only was this threat used, but it was spread widely & downloaded by many.

*Tweaking of core MM2 files - Addition of misc. files in the folder - aka placing "mods", specifically .ar files to tweak the vehicle's in-game physics to gain advantage over others.*



Second Problem:
Frame Per Second (FPS) Conundrum.
This is a problem that started happening ever since our computers were able to support awesome graphics card. The game was designed to optimally drive at 60 FPS (V-sync ON, Refresh Rate: 60hz). Many people were able to find out other ways of gaining advantage over their peers through this method. Once vsync ("Vertical Synchronization" - in a graphics card control panel for Direct3D Graphics) is turned OFF, the game's FPS are generated based on graphics card, RAM, processor speed & total PC performance - which means if a person running Vsync-ON is locked in at 60hz = 60 FPS, a person playing Vsync-OFF also at 60hz = BUT* will be able to generate MORE FPS in that game (i.e: in most cases they generate like crazy from 50+ to 500+ FPS) compared to their competitors - gaining an obvious speedy advantage, as their GAME speed will be synchronous with their FPS - not being fair to others.

*Changing Vsync options to OFF - to gain EXTRA FPS while losing proper sync of the entire game.*




Anti-Cheat Solutions
What were the solutions given to these problems?
Voobly developed Anti-Cheat Mode.


Solution - First Problem:
- In anti-cheat mode:
MM2 folder is NOT allowed to have any other ".ar" files except:
Anti-Cheat RESPONSE:
If someone is found using a file/mod, that person will be KICKED out of the room & the game won't launch until the file is removed/renamed.

Quote:
BUGS/PROBLEMS/CONFIRMATIONS:
- All golden files are checked by the server to make sure they have not been manipulated or tweaked by performing CRC checks [properly scanning the golden files]
- Some people might think people can launch & can add files after they have launched? It won't work :). MM2 was designed in a way that requires itself to restart if any additional files are to be added in the folder!
- In non-anti-cheat mode - people can download & add any additional file they would like in multiplayer mode.



Solution - Second Problem:
- In anti-cheat mode:
    1) Players CANNOT go beyond 80FPS.
    2) This means players can play in 2 refresh rates: 65 & 75 (60hz & 75hz).
Anti-Cheat RESPONSE:
If anyone goes beyond 80FPS lock, after a few seconds the game will detect this problem and will automatically kick the user out of the game.

Quote:
BUGS/PROBLEMS/CONFIRMATIONS:
- People might think that they can launch in game & can change their VSYNC settings to cheat? Well, after thorough research by the community members (thanks to _AsT_Musty, Marky,_MID_Fudgie's bug testing) we found out that Vsync settings are not applied until a restart is done of the game itself.
- This is still dependent upon which Operating System the user is running the game on, further investigation is being done on this matter. So far from what we've researched, we found out that Vsync settings cannot be changed in-game (even after playing around with it while waiting in Mm2 lobby) until a restart is done.




Anti-Cheat Notes:

- Voobly has developed anti-cheat dll files to implement this new phase of updates.
Anti-Cheat RESPONSE:
If anyone is found or 'detected' to be playing around with these files, they will be instantly banned

- Anti-Cheat will also make sure that anyone trying to bypass the anti-cheat doesn't enter the game. Example: Game is in session. Somehow 'someone' finds out an IP address and tries to join the game while everybody is in lobby. In normal circumstances, that 'someone' would have made their way through into the game, but because of Anti-Cheat, they will not be allowed.




Anti-Cheat Support Topics:

- Bug Reporting: http://www.voobly.com/forum/thread/30256

- Feedback & Suggestions: http://www.voobly.com/forum/thread/30257




On a side note, I'd like to deeply thank Elusive & NSG @ Voobly for giving their exclusive time to develop this anti-cheat mode for the members of the MM2 community.

I am sure I can speak for the rest of the members as well, that we are very thankful & glad that someone took the initiative & gave us the opportunity to live this life-long dream in reality.

For any questions or concerns, there are other PINNED topics in regards to Anti-Cheat, you can post over there to get a better feedback. This post will be properly updated once required.

- HoMeR.