I have a question. Are there any plugins that will allow me to encrypt my game files for the HTML version ? In my game I have some of my arithmetic functions that affect the outcome of the game and I would like to make it as difficult as possible to debug them.
Have a look at this manual on application security:
It covers topics such as Lua obfuscation and resource archive encryption.
I have a question about the resource coding process.
1 I followed all the steps described here https://github.com/defold/extension-resource-encryption
a) I changed the key
b) I did a compilation to get the pluginCustomResourceEncryption.jar file
c) I packaged the entire “extension-resource-encryption” project, put it on the local server and added it to game.project.
d) I ran the standard “Project - > Fetch Libraries” but the module did not add to my project. Is this correct ?
e) How can I verify that my files have been encrypted with an extension and not with standard encryption ?
d) I ran the standard “Project - > Fetch Libraries” but the module did not add to my project. Is this correct ?
If it doesn’t show up, under a resourceencryption
folder in your project, then it seems your dependency link is wrong somehow.
e) How can I verify that my files have been encrypted with an extension and not with standard encryption ?
You can change the source key in the resourceencryption/src/plugin.cpp
to something else, and then it shouldn’t load properly, since the Lua source will be garbled. And if you change it back, it will load again.
The game.project file didn’t have the correct library folder defined. I’ve fixed it now. Please update your copy of the project.
Just when I booted my test, it worked
I’ve been playing with it for more than 2h and noticed the following thing:
(a) if I change ONLY the key in “CustomResourceEncryption.java”, compile, add the module to the project - the project (HTML5) starts correctly
b) if I change ONLY the key in “plugin.cpp”, compile, add module to project - project (HTML5) does not start correctly
c) if I change the key in both “CustomResourceEncryption.java” and “plugin.cpp”, the project does not start, in the console I have such errors as in the screenshot.
Are you able to help me something with this ?
Sounds strange. Could it be that you have cached files between your tests and bundle with the wrong archive?
Hmmmm you may be right. I’ll check
I am currently using extensions : “extension-prometheus” and “extension-resource-encryption”.
I am looking for solutions as to how else the game can be better secured.
In the security article you wrote:
…"Defold does not provide any anti-cheat solutions in the engine or tools and instead defer any such work to one of the many companies specialize in providing anti-cheat solutions for games. "…
Can you write more about these companies and their solutions ?
You will get quite a few hits if you search for “anti-cheat framework” or “anti-cheat solution”. I know that Epic Online Services has an anti-cheat tool. There is also Anybrain which we actually met with at Develop in Brighton last year. Their system looks pretty good and the SDK seems to be relatively straight-forward to implement as a native extension.
Thank you. Yes, I found various solutions this way, but not a single one had a plug for Defold. That is why I took the liberty of asking