Home   Help Search Login Register  

Author Topic: Avoid editing of missions (SP)  (Read 2297 times)

0 Members and 2 Guests are viewing this topic.

Offline myke13021

  • Contributing Member
  • **
  • Myke
Avoid editing of missions (SP)
« on: 22 Apr 2008, 16:30:37 »
Hi

i'm looking for a way to avoid that a script in a mission can be edited. Might be some kind of encryption or hinting something like a checksum or whatever let me see if script has changed.

What i'm tryin to do:
I will make an Air Race Competition Map which should run as SP Mission. To make sure no one de-pbo'ed the mission and altered the flight route, i need a way to 1)avoid this or 2) at least get a way to see if this was done.

As this competition will run on a forum, each competitor has to provide a screenshot from the arrival. It will/should show a hintc with all relevant infos in it (race time, penalties, waypoints missed and so on, also a checksum or anything like this could be showed).

If this would be for MP, i would put the scripts into an addon and sign it. But i'm almost sure that this wont work for SP Missions. So if anyone knows a way to avoid script editing or at least a way to detect if script has changed, please let me know.


Myke out

Offline Wolfrug

  • Addons Depot
  • Former Staff
  • ****
  • Official OFPEC Old Timer
Re: Avoid editing of missions (SP)
« Reply #1 on: 22 Apr 2008, 16:41:09 »
Umm.

1) There's no way to prevent cheating. Check out olympic medal-winning athletes caught for consuming certain hormones if you don't believe me. In a world where you can't resort to piss-testing and Photoshop exists, cheating is not possible, it's easy as hell. :) I suggest making this part a trust issue.

2) If you want to, you could make the hintC display (using getWPpos) the position of each waypoint, and if they don't match up then, well, then they've obviously been moved. But that's really pointless, since anyone with any editing skill can just unPBO the mission, grab the hintC code, place a chopper in the appropriate location, change the hintC code to reflect a perfect or near-perfect score, and grab a picture. Which is probably easier in the long run than for some weird reason moving the waypoints around.

So no, there's no native way for you to ever find out if a script has been edited or not, sorry! The best you can do is write some really convoluted code that explodes everything if edited in even the slightest way that creates amazing marker-patterns on the map or something, and demand that people take a screenshot of that at the end. And make the actual cheat-noticing thing something really small and natural...or something. O.o But that's just postponing it.

I suggest just making the race fun, and trusting people not to unpbo the mission and wrecking things!  :good:

Wolfrug out.
"When 900 years YOU reach, look as good you will not!"

Offline Mandoble

  • Former Staff
  • ****
    • Grunt ONE and MandoMissile suite
Re: Avoid editing of missions (SP)
« Reply #2 on: 22 Apr 2008, 17:16:08 »
You can always calculate the minimum ammount of fuel used required to complete the race as well as minimum time considering distances and maximum speed of valid planes. At the end you hint the time and the fuel comsumend and you may use this as a criteria to catch cheaters.

Offline Wolfrug

  • Addons Depot
  • Former Staff
  • ****
  • Official OFPEC Old Timer
Re: Avoid editing of missions (SP)
« Reply #3 on: 22 Apr 2008, 20:07:35 »
...and fuel can be edited as easily as anything else. Although I suppose it's a deterrant. :)

Wolfrug out.
"When 900 years YOU reach, look as good you will not!"

Offline Cheetah

  • Former Staff
  • ****
Re: Avoid editing of missions (SP)
« Reply #4 on: 22 Apr 2008, 20:34:41 »
You could display the time of each waypoint. If you have six checkpoints, it makes it harder to fake all waypoints.

Maybe develop an encryption which returns a code that's really hard to understand, like: ff3y$Hdgkl33ngdG#

and make it so that only you can decode it ;)
-- hard: yep
-- funny: yep
-- effective: not really

as you can't hide the way you encrypt the times etc.
Like missions? Help with Beta Testing! or take a look at the OFPEC Missions Depot for reviewed missions!

Offline Rommel92

  • Members
  • *
Re: Avoid editing of missions (SP)
« Reply #5 on: 22 Apr 2008, 21:31:46 »
Make an encrypter script thatr returns that returns a number at the end that relates to the XYZ (ie the addition of all the XYZ positions) positions of your checkpoints, if its wrong, you know they jumped que.  :)

Offline myke13021

  • Contributing Member
  • **
  • Myke
Re: Avoid editing of missions (SP)
« Reply #6 on: 23 Apr 2008, 13:47:07 »
Thanks for your replies, mates.

@Wolfrug
I know it's impossible to completely prevent cheating, i'm not dreaming about this ;-)
However, my intention was to make it harder than it is usually (de-pbo'in and editing scripts) so most would think it's not worth the effort to change anything in the scripts.

I had in mind that an Evolution map was some kind of encrypted, at least one of the earlier versions was (i guess) as de-pbo'in the mission didn't work for some reason.

So i guess i will make some kind of script (is still editable, i know) which is so horribly complicated written (ugly coding) that most will probably not see what is done and haow to change it. Of course for experienced scripters it will be doable but, as i said, maybe not worth the effort.

Offline Spooner

  • Members
  • *
  • Mostly useless
    • Community Base Addons
Re: Avoid editing of missions (SP)
« Reply #7 on: 28 Apr 2008, 15:16:27 »
Evolution wasn't encrypted, but it used a pbo format which not all unpbo tools could understand. I suspect that it used a newer, i.e. ArmA-specific, format so that the older tools developed for OFP couldn't work it out, but I don't know for sure.

Just write the script in SQS and it will be so ugly, unreadable and wrapped up in an incomprehensible net of gotos that I'd never try to edit it :P
[Arma 2] CBA: Community Base Addons
[Arma 1] SPON Core (including links to my other scripts)

Offline Synide

  • Members
  • *
Re: Avoid editing of missions (SP)
« Reply #8 on: 29 Apr 2008, 04:28:08 »
@Spooner... Correct, not encrypted... he just 'munted' the header record in the pbo to prevent some of the pbo extraction tools from opening it... it was and still is a incrediably simplistic & trivial matter to alter the pbo header back into a useable format.
Also, within his un-pbo'd version he had/has taken the text based .sqm mission file and binarized it (or rapified - whichever term you prefer), again a trivial matter to reverse.

Both very 'old' techniques for 'playing' with pbo's.

@myke13021... So, that is probably the best you can do - Rapifying the .sqm and 'munting' the pbo header. This, will stop the unknowing majority.

@Rommel92... Making an 'encrypter script' with vanilla ArmA is not doable.

All you can do is as you say, put a few 'obstacles' in the way of oppotunistic modifications... The people that can edit these sorts of things easily are generally too 'weathered' to bother with doing what you fear just to recieve an unjustly gained small amount of adulation from a group of people who have spent the time to download your race mission.

Offline Baddo

  • Former Staff
  • ****
  • Reservist Jaeger
Re: Avoid editing of missions (SP)
« Reply #9 on: 03 Jun 2008, 14:55:19 »
Obfuscation could be used to frustrate anyone trying to take a look at how the mission was done.

- After you have finished making the mission, create a new version of it which includes a lot of totally unnecessary stuff (but which doesn't disturb how the mission runs).

- Change variable names into something as unreadable as possible. Not only in script files but in mission.sqm too.

- Change all script file names into something totally meaningless garbage.

- Make sure there are like hundreds of script files :) DON'T categorize files into sub-folders.

Et cetera.

Then go and "rapify" the files.

The goal is to make all your scripts and also mission.sqm file so ugly and confusing that no-one will bother to try and understand the content. I think this wouldn't even be hard to do, you can use a text editor to quickly replace variable names for example.
« Last Edit: 03 Jun 2008, 15:04:43 by Baddo »