Browse By

Using machine learning to detect cheating in MMOGs

Written by Juwon Park

I recently picked up a brand new first-person shooter massive multiplayer online game (MMOG). While playing, there would be instances where another team could uncannily predict our team’s strategies. Later, I found out that one of the players was using a wall-hack, which would allow another player to modify the property of in-game walls to be transparent or nonsolid. 

Although the game had a reporting system, it relied on players to detect these cheats and report them. However, this game’s reporting system was notorious for its uselessness, as reports would have to be investigated by the game’s employees before penalizing or banning a player. So, when I came across this research article, I was hopeful that it could create a better gaming experience for all users.

Through various cheating mechanisms, players can gain unfair advantages that sabotage the gaming experience, negatively affecting both the game’s company and its users. In MMOGs, data is created during gameplay from your computer (game client) and shared with the centralized server to synchronize the game state between different players. This data can be used to train a machine-learning algorithm to detect cheating. However, there are limitations on gathering data to use a supervised learning mechanism, which needs labeled data indicating whether a cheat is being used. Supervised learning mechanisms are also sensitive to the distribution imbalance between the train and test dataset, making it harder to deal with smaller datasets. Multiple studies proposed using distribution matching techniques to combat this, but its performance depends on user-specified parameters which are not easily derivable.  

Previous studies used this data in addition to game logs to detect cheating, but this study provided a more generic solution that could be used for a wider range of games that don’t need game-specific logs. Similarly, they were able to create a machine-learning technique that could be used on both the client-side or server-side. 

A Gaussian kernel model is used on a small training set with labels “cheats” and “normal” to reduce distribution bias or covariate shift to increase performance. This framework called the Game Cheating Identification (GCI) creates a bias-corrected classifier which will be used to identify game cheaters by analyzing game-traffic generated from gameplay called packet bursts for patterns that indicate cheating. This process would be done in the graphics processing unit of the player’s personal computer to reduce the workload from the game’s main server centralized processing unit.

They tested their solution on a popular MMOG called Counter Strike. First, they created a train dataset with players using three cheats: aim-bot, speed-hack, and wall-hack. Then, features were extracted and normalized to create four classes for normal and the three cheats and compared the GCI framework’s performance with that of three other baseline methods. The GCI framework achieved the highest accuracy for detecting cheats compared to existing methods: 66% accuracy for multi-class and 80% accuracy for binary classification. The GCI framework is a transfer learning approach because it can be used for various other games, which will help companies to easily use this technique with their own data to detect cheating (Islam et al., 2020). 

I don’t know if any of the researchers were MMOG enthusiasts; but for someone like me, this is something I would like to see implemented in some of the MMOGs that I play. 

Happy gaming! 


Works Cited

Islam, M. S., Dong, B., Chandra, S., Khan, L., & Thuraisingham, B. M. (2020). GCI: A GPU Based Transfer Learning Approach for Detecting Cheats of Computer Game. IEEE Annals of the History of Computing, (01), 1-1.

University of Texas at Dallas. (2020, November 16). Computer scientists launch counteroffensive against video game cheaters: Cheat detection system could gracefully kick out cheating players. ScienceDaily. Retrieved December 2, 2020 from

Leave a Reply

Your email address will not be published. Required fields are marked *