Openrct2: Cheats stay enabled over multiple games (even after joining multiplayer)

Created on 10 Jul 2016  Â·  8Comments  Â·  Source: OpenRCT2/OpenRCT2

OS: GNU/Linux (Arch Linux)
Version: 0.0.5-develop
Commit/Build: 59c3656

  • Reproducible in RCT2 (vanilla)? N/A
  • Multiplayer? Yes, it is related to multiplayer.

Hi! It is possible that you accidentally start a scenario with a lot of cheats enabled with you not even realizing it!

Here's an example:

  • Join a random server (with cheats enabled, but the “uneducated” player may not even know this)
  • Leave the server
  • Start to play a scenario

Now, suddenly all cheats which were used on the server are also enabled on your singleplayer scenario! This is very unexpected and it took me a while to notice that cheats were enabled, I noticed it when I accidentally altered the land outside the park boundaries. I first thought this was a general bug but then I noticed it was actually the sandbox cheat which got somehow enabled.

OpenRCT2 seems to “remember” the state of cheats for the whole time the application is running.
That is, if you enable cheats in one park, then start another one, the same cheats apply here, too.

For comparision, in OpenTTD cheats are treated intelligently: Cheats are tied to the savegame and are loaded with the savegame, so they don't interfere with new games.
In generally, OpenRCT2 should be much, much stricter in “isolating” the cheats, it should never happen to a player that those get enabled by accident. After I restarted OpenRCT2 the scenario turned out to be a bit harder than that. ;-)

IMO cheats should generally be something which are off _by default_. It should be an explicit effort of the player to enable them. Currently, I have to do an explicit effort to _disable_ them after I joined a cheaty multiplayer server or I cheated before.

The simplest solution is to make sure cheats are always disabled for starting new games.
For loading games, I don't know. A solution like in OpenTTD seems to be the most reasonable, but I don't know if this is possible with the file format.

Note that cheats seem to be reset after restarting the application.

Related issue: #4008

alteration expired

Most helpful comment

I agree that cheats should be reset when changing game. This is nothing more than an oversight.

All 8 comments

Please stop saying 'should'. It's all opinion from your part.
Saving cheats in saved games is already planned, but not possible with SV6. That will have to wait until we can switch to our own format.

Please stop saying 'should'. It's all opinion from your part.

Question: Are feature requests forbidden on this issue tracker?

And yes, it's my opinion. What's wrong with that? In this case it is really not too far-fetched to expect no cheats to be enabled by surprise (is this not considered to be a bug?). The opposite of that would mean that cheats are _on_ by default, and this would be a really odd thing to do in a game.

About the file format: Okay, since it is not possible with SV6, then it is probably better to always turn off cheats on starting or loading a scenario since the file format does not store this information. Because if this is not done, then still the user can experience the cheats being turned on at the beginning of a scenario without even noticing. I can't think of a reason why this would be desired behaviour.
There's an extra effort for cheaters, of course, but I think this is still better than “cheating by surprise”.

@Wuzzy2 Strictly speaking, while they do generally allow new feature requests, they discourage them currently unless you can yourself add something to the code, as most of the people who actually do contribute code to the project have a pretty good idea of what things need to be added.

Cheats currently work on a game state basis, not on a park basis. Whatever cheats are enabled are persistent through the play session and then it gets reset upon restarting.

At some point once they move to their own save format they plan on implementing cheats being part of the save file, and then I imagine they'll make it so that cheats are enabled on a per park basis when you load the park, but right now with an inability to save cheats and an inability to tell if someone is loading an earlier version of the park currently being played it would be awful to have to reenable all the cheats every time you loaded a save file or started a new park.

I agree that cheats should be reset when changing game. This is nothing more than an oversight.

If this is implemented could it be made an option? I have most cheats enabled basically all the time and reload the game frequently so it'd be awkward to have to keep turning cheats back on.

Until the save format is updated, may I suggest a partial fix?

A partial fix would be that when joining a multiplayer server, the game remembers the “local” cheat settings before overwriting those and after leaving the server, the “local” settings are restored.
For example, if you have no cheats enabled, then join a server with cheats, you get the server cheats (obviously). But when you leave, the cheats are disabled again because that's the way it was before.
Likewise, if you had the “no vandalism” cheat enabled, then join a server with no cheats, there are no cheats while in the server, but when you leave, the “no vandalism” cheat is restored.

This would at least fix the ugly surprises that OpenRCT2 just sneakingly enables cheats without telling you (which I still think is totally a bug).

Why is this "expired"?

For one or doesn't happen anymore and two we are closing issues that haven't been recently discussed. This particular one is sort of tied to the new save format and is addressed in the new save format pr. There is a separate issue for having cheats tied to the save game.

Was this page helpful?
0 / 5 - 0 ratings