I’m doing a LibLoad system in Blender Game Engine, but the blend files to be loaded into the game can be edited by anyone, that’s a problem. Does anyone know is it possible to block a .blend file for anyone to open and edit or use another file type to open in the game engine and that can not be editable?
I’m just loading the meshes.
I’m using this script:
from bge import logic as g
c = g.getCurrentController()
scene = g.getCurrentScene()
obj = c.owner
if not “int” in obj:
First you should not worry, it is very unlikely that anyone is going to stole anything from you, and if they did you can sue them and earn $.
Second, when not using libload, models can easlily be extracted from your executable file anyway, and actually, if they are inside an executable file, that means that they are automatically covered under GPL, wich in turn means that you can’t sue anyone for using them. You’re giving the rights to use them.
And finally your best bet is to use BPPlayer, wich is not infalible but it will make things harder for the thief.
It is far easier to check if it has been edited than to stop people editing them. This can be done through the use of an MD5 or SHA1 ‘hash’
This can be compared to the ‘correct’ MD5 hidden somewhere in the game data (essentially making it hide and seek), or compared to a version on a server.
Seriously, worry about this when you have enough people playing your game for it to be a worry. In Descent, a community of ~50 players, it is a very very easily hacked game, and yet there is no issue with hacking. Hacking/cheating is only an issue if you have:
Something to be gained by hacking (ie a prize of some sort)
Enough people that the hackers think they can hide
I wrote the simple program to encoding blend file (it is just changing some bytes). Then you can decode it and load as data (“data” parameter in libload). I can give You my “program” if you wish (it has easy interface). It is really simple, but easy to hack by advanced python users. Sorry for my english.