Page 1 of 3

Dual processes, watching replay during in game, is it cheat?

PostPosted: 05 Dec 2012, 19:01
by RenYuki
Hi, i'm just a beginner so i'm not sure about this is cheatting or not.

I'm just in a game that my oppoment keeping saving game every few mins, and i don't stop wonder why they doing that when it's already have auto save.
And when the game is end, i realized that they can use that save game to watch the building process of the oppoment clearly without fogwar, an exactly munber of resources and weapons they have, during the game is running. Just like what i do with the map editor when first time exloring a new map. Runing dual processes of KaM.

I tried, and i can't run 2 multi-player game at a same time even it's a save game in replay viewer. But i still easily get throught by using sandboxes or with an other PC and many way else.

So if it's cheating, i think the KaM remake team should do something about it. May be, it's must be can only save game when leave the game. Just like many other real-time strategy game, you can only save game replay at the end of the game.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 05 Dec 2012, 19:18
by dicsoupcan
It is not possible to watch a replay when you are in game. It has already been fixed as far as i know.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 05 Dec 2012, 19:28
by Da Revolution
You could transfer the save to another computer and watch it on that one, but that won't give you an advantage since it costs too much time.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 05 Dec 2012, 20:57
by Nissarin
You can modify the source and build your own version of KaM without such restriction but it's impractical anyway since you have to watch it from the beginning, so it's unlikely.
So.. I think he was just trolling (placing random roads, spam signals/notifications, saving every few seconds), it's annoying and I meet at least one player who does that :P

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 05 Dec 2012, 21:06
by RenYuki
You could transfer the save to another computer and watch it on that one, but that won't give you an advantage since it costs too much time.
i don't think it cost too much time.
Actualy, i just lost under 1 min to do that with a laptop not even have KaM installed, just use file sharing.
And with sandboxes, it's same as using an other PC.

@Nissarin: I was probably think so too, but still have a chance that someone use it in cheating way, don't u think ? :P

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 05:08
by Krom
There is no practical way to block it. You can always load a savegame to see who got what (even without replays). And savegame cant be blocked cos you might need it to re-host the game if e.g. server timedout.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 10:01
by dicsoupcan
But it does not really give you an advantage, you already know where the enemy is, and the more time you spend in watching the replay the less time you spend on building, wich means your city will not run well and you might not even have an army after pt.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 12:53
by sado1
There's not much that can be done to block it. Unless you want to block running KaM at two PCs standing in one room (impossible :D unless you blocked loading savegames from a network drive?), block sandboxes (I didn't even know there's something like that for Windows... impossible to block as well) etc. etc... The easiest method to use - running second instance - was blocked. Those who don't know how to use the methods above, will not do it. Those who do, can't be harmed, and if they can, they will find another way. Let's be happy that it isn't a common practice - and as disco mentioned, it isn't even useful. Maaybe seeing enemy's base just before pt, but you'll lose even more time trying to fast forward the replay.

tl;dr - why bother?

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 14:34
by Chris
I've accused Mulberry multiple times of these crimes !

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 17:45
by Ben
Using x300 speed could make the the replay reach the end rather quickly; not to mention that you could still play the game while waiting for the replay to reach the end. I think that getting good intel on the enemy would be worth the small amount of time dedicated to retrieving it.

I wouldn't do it; though, because I have higher moral standards then those who participate in petty cheating ;)

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 17:47
by dicsoupcan
but still you are not issuing orders to build your town, wich makes you lose valuable time. and if you wait too long you have to restart the replay again since it ended. :mrgreen: really the cons are higher then the pros.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 21:01
by Ben
No, the replay stops when it is over, giving you the option to continue or to start over.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 06 Dec 2012, 21:37
by dicsoupcan
oh right i forgot, my bad.

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 07 Dec 2012, 02:19
by Lewin
Cheating is something I've spent some time thinking about, so I'll write my opinion here.

As far as I know it's generally accepted in gaming circles that completely stopping cheaters is not possible, most big name games have cheats available. The best method to stop cheaters is to have a threat related to being caught, such as permanently disabling their Steam account or revoking their license key to the game. We are at a further disadvantage because we are fully open source. I can't see any way to stop people from creating cheats in an open source project. We have checks to try and prevent modified versions of the game from being used in multiplayer, but they could be bypassed with enough time/knowledge.

But first of all let me make it clear exactly what kind of cheating is possible and not possible by briefly explaining how our network synchronisation works. In the KaM Remake the game is simulated on every players computer. When the player interacts with the game, the command he ordered is scheduled to be simulated in a few moments (depending on ping) and sent to all the other players. There is only a limited set of commands that can be sent, and other players will not accept commands unless they believe the sender is authorised to be sending them (e.g. we can stop you from controlling somebody else's army because other clients will only accept commands for your own army). Because every computer playing the game executes the same commands at exactly the same time they stay in sync. If two players ever become out of sync then the game detects this and displays an error.

This system is already very strong at stopping cheaters. Lets say a cheater modifies the game code (bypassing our checks to prevent this) and makes his game spawn 20 knights for himself. Those knights will only appear in his simulation, because nobody else knows about them. He can't send a command to other players asking them to spawn the 20 knights for himself because there is no command that does that, and if there was the other players wouldn't accept it anyway. So cheats that affect gameplay are not possible because the other player's simulations won't see the changes.

The only kind of cheats that are possible is getting the game to tell you stuff that the game needs to know, but is normally hidden from the player. For example someone could theoretically create a cheat that makes the entire map revealed for himself. But it would take a considerable amount of time, effort and knowledge to do so. Most people don't have the necessary skills to recompile and modified the game code, and if they do they probably have better things to do with their time than create a petty cheat for some 14 year old game that will only give them a small advantage anyway :P

But even a highly skilled programmer prepared to spend weeks working on a cheat would not be able to create a proper cheat that would say spawn 20 knights or allow you to control the enemy's army, UNLESS there is a loophole in our code that he could exploit (and fixing such exploits is not hard, we could quickly issue a patch to fix it and then the time he spent to make his cheat would be wasted).

Then there is the "exploit" that started this topic, where you could view a replay of the current game on another computer or a virtual machine (it won't work on one computer because we don't allow multiple versions of the game in multiplayer mode at once). We could (and might) take some further steps to prevent this in the future such as an option to only let the host save the game (or even only store the save on the host's computer once we have file transfers). But as it stands right now it takes a moderate amount of effort (having two computers side by side where you can quickly copy files between them), it will waste some valuable time to do the copy and start the replay (presumably the cheater would want to do this multiple times to get the most up to date information) and it's really not such a big advantage to see exactly what your enemy is doing.

tl;dnr: I am not concerned about cheating at the moment. Very committed cheaters with the right knowledge can find ways to view your enemy's village/army, but that's really quite a minor advantage for the amount of effort it takes (reprogramming the game or having two computers and wasting time copying replays across every few minutes). If there was a way for cheaters to spawn 20 knights for himself, then I would be concerned. But seeing what your enemy has will definitely not will you the game, in fact in many cases it might not help you at all.

Thanks for reading :) Maybe parts of this post should go in our FAQ or something? Do you think it's interesting?

Re: Dual processes, watching replay during in game, is it ch

PostPosted: 07 Dec 2012, 05:01
by Krom
@Lewin: Well written and I think it could go to kamremake dev blog :)