The article covers a guide about using the GameConqueror cheat engine in Linux. Many users who play games on Windows often use the “Cheat Engine” application to modify game parameters and player attributes to enhance the gameplay experience, get over unnecessary grinding, complete speedruns and so on. The Cheat Engine application is not available for Linux, however, another application called “GameConqueror” based on the same concept and features is available for Linux distributions. While GameConqueror is not as advanced as Cheat Engine, it gets the job done and it is the only Cheat Engine for Linux with an easy to use interface.

How Cheat Engine Applications Work?

Cheat engine applications (also called “memory scanner” or “memory debugger” apps) can be used to find values assigned to game variables by scanning memory occupied by a running game process. These apps attach themselves to a running game process and continuously scan memory in real time.

You can use these cheat engine apps to locate game variables and their addresses and then change their values to get modified in-game attributes. Since everything is done when the game is running, you will immediately see changed values within the game itself (sometimes a change of frame/scene is required). There can be hundreds of thousands of variables in memory and it can be tricky to find what you are looking for. But with some practice and trial and error methods, you can reduce lookup time. For instance, if you are playing a game with in-game currency and currently holding 1000 gold pieces, you can use cheat engines to find the variable that stores the gold amount and change it to get increased in-game money. Note that in-game save mechanisms can save modified values to save-game files. So if you are modifying some risky variables in a cheat engine that can break save games, it is a good idea to backup save files beforehand.

Should You Use Cheats in a Game?

Some gamers frown upon people who use cheat engines to modify gameplay attributes while others have no problem with it. In my personal opinion, you can use a cheat engine if the game is 100% offline or if cheats don’t ruin the multiplayer experience of other players in any way (more on it below). Using cheats in co-op, PVP and other forms of multiplayer gameplay should be avoided not only because it is wrong but also because you can be banned forever from playing the game you have purchased.

Player Ban Considerations

Using cheat engine or memory scanning applications can lead to temporary or permanent ban in games that extensively require online data connection. Almost all multiplayer PC games come with anti-cheat mechanisms nowadays and any attempt to modify game memory can lead to irrevocable bans. As a rule of thumb, avoid using cheat engines on multiplayer games that regularly connect to game servers (unless you know what you are doing).

About GameConqueror

GameConqueror is a graphical frontend to command line cheat engine / memory scanning app called “scanmem”. It can perform quick memory scans as well as full thorough scans to identity program variables and their values. You can isolate program variables using its “Value” input box and then changing parameters as needed. GameConqueror supports exporting and importing of cheats, though the memory addresses can change each time you launch a program or game.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image8-24.png" data-lazy- height="742" src="data:image/svg xml,” width=”1165″>

I have tested GameConqueror extensively. It works with native Linux games, WINE games, SteamPlay (Proton) games and even with game emulators.

Installing GameConqueror

You can install GameConqueror in Ubuntu by executing the command mentioned below:

$ sudo apt install gameconqueror

GameConqueror is available in the repositories of all major Linux distributions. More installation instructions are available on its wiki page. GameConqueror usage can be best explained through an example.

Example: Modify In-game Currency Using GameConqueror

You can’t define one best method to use the GameConqueror cheat engine in every game. Each game is different and occupies a different memory range. Even new instances of a game can have different memory addresses. The example below illustrates how you should proceed to increase in-game currency called “Coins” to 500 from 103 in a native Linux game called SuperTux2. But this exact approach may not work in every game. The example only gives you some idea about the process of finding variables.

The game starts with a fixed amount of coins, as shown on the top right corner (100).

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image10-19.png" data-lazy- height="848" src="data:image/svg xml,” width=”1295″>

Next, launch the GameConqueror app and select the “supertux2” process by clicking on the little computer icon located at the top row. This is the very first and mandatory step to enable cheats in a game using GameConqueror. You should be careful when selecting the game process as a wrong selection will give you incorrect results. Exe file processes running on SteamPlay (Proton) compatibility layer are usually prefixed with “Z:” drive.

Once the process is selected, put 100 in the “Value” input box as that was the initial number of coins. In the “Data Type” field, select “number” but you can also choose “int” or “float” types explicitly. “Number” data type includes both int and float values. Click on the search icon and wait for the process to finish. On the left pane, you should see matched results. There are 69175 game variables having a value of 100. Yes, you have to find a needle in a haystack. GameConqueror won’t show all 60000 variables in the left pane. When you have narrowed down the results following the steps below, results will start appearing in the left pane.

Note that “Search Scope” is set to “Normal” which should be sufficient for most games. In case you are struggling to find desired variables, you should move the scope slider to the right to perform a deep scan. Deep scan is only useful if it is performed in the very first step.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image9-22.png" data-lazy- height="716" src="data:image/svg xml,” width=”1143″>

Next, play the game and collect another coin to increase the tally to 101 coins.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image12-16.png" data-lazy- height="855" src="data:image/svg xml,” width=”1297″>

Now you need to check which of the variables that had a value of 100 previously now have a value of 101. Enter 101 in the “Value” input box and click on the search icon. GameConqueror will now scan 69175 variables found in the previous step to look for variables having a value of 101. When the process is finished, you should now get a reduced number of results. DO NOT click on the “refresh” or “reset” button next to the search button. It will completely remove the results and you will have to start all over again.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image11-19.png" data-lazy- height="718" src="data:image/svg xml,” width=”1146″>

Collect another coin to increase the total to 102.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image2-44.png" data-lazy- height="852" src="data:image/svg xml,” width=”1297″>

Repeat the previous step but now put 102 in the “Value” input box. You must now have even less results than the total results you got from the first search query. As for this case, there are two remaining results but the result count may vary depending on your game and what you are searching for.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image1-46.png" data-lazy- height="717" src="data:image/svg xml,” width=”1143″>

Collect another coin to get the total to 103.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image4-36.png" data-lazy- height="851" src="data:image/svg xml,” width=”1292″>

Now even without entering 103 in the “Value” input box, you can see that there are two variables whose value changed to 103 when you collected the third coin in the game. At this point, you can stop or repeat the above step. If only one variable represents coins in the game, you can narrow it down to a single result. However as there are only two results left, you can try each one of them to see impact on the game.

Right click on the first result and click on the “Add to cheat list” option to add a new cheat.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image3-41.png" data-lazy- height="736" src="data:image/svg xml,” width=”1181″>

Change the value of the newly added cheat entry to 500 in the bottom pane.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image7-23.png" data-lazy- height="735" src="data:image/svg xml,” width=”1179″>

Check the game if coins have increased to 500. If yes, this is the correct variable you need to change to modify the coin counter. Otherwise try the second result or keep on performing nested searches until you get a reduced number of results.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image5-31.png" data-lazy- height="850" src="data:image/svg xml,” width=”1298″>

Note that using a cheat engine can crash the running game. For instance, if a game is designed in such a way that your player can only have 255 strength attribute at max, and you set 9999 strength for your player, the game can crash. You have to keep using trial and error methods to find correct variables and their values. This is the only way to use cheats in games through cheat engine applications like GameConqueror.

Note that, on rare occasions, cheat engine cheats can corrupt game save files. You should backup save files before trying any cheats in the cheat engine.

If you hover over the “?” link next to the “Value:” label, you should see a syntax guide. If you are not certain about the current value of an in-game attribute, you can use this syntax guide. For instance, you are not sure about the exact number of coins but suspect that it may be somewhere between 100 and 300 coins, you can enter “100..300” in the “Value” input box. Similarly, if you don’t know the attribute value but are certain that it decreased in the game from its initial value, you can simply enter the “-” (minus) sign in the “Value” input box.

<img alt="" data-lazy- data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/image6-29.png" data-lazy- height="685" src="data:image/svg xml,” width=”1003″>

Conclusion

Cheat engine apps like GameConqueror are not only useful for adding cheats in games, but also for adding quality of life modifications to otherwise frustrating games. It is 100% fine to use cheats in offline games as you own the game, and you are not ruining the experience of other players by using cheats.

About the author

<img alt="Nitesh Kumar" data-lazy-src="https://kirelos.com/wp-content/uploads/2021/02/echo/Cartoon-Man-Avatar-2-150×150.png" height="112" src="data:image/svg xml,” width=”112″>

Nitesh Kumar

I am a freelancer software developer and content writer who loves Linux, open source software and the free software community.