Why?
Pretty much any CS student can create a external key generator.
Then you’ll have to check keys online, then they’re going to patch your online check to always return “true” response… In the end you’ve wasted time and money.
) Create and maintain a license server, using some form of constant online checking or ticketing system (which, as Bruno mentioned, people will probably just replace whatever DLL you lock that functionality in to just always return something valid).
) Purchase something like Denuvo ( https://denuvo.com/ ), which basically buys you a few days/weeks/maybe months till your stuff is cracked.
) Create some hardware dongle like the old school MAYA days (although even those were cracked).
I like the methods you suggested. Despite the fact that it is widely distributed. Sometimes even a schoolboy can break such a defense.
I will study method 2 and 3 in detail. Thanks
I don’t know if UE4 support it, but if you need to publish your game only for Windows 10 and Windows Store, then I can suggest you to look at UWP, most of the game released with UWP are not yet cracked (for example Horizon) or was cracked after more than 500 days, you don’t need to mess with activation key, server, etc, the DRM is integrated, take a look at it.
if you are looking for something else I can assure you than doesn’t exist nothing cheap or lowcost, but you can take a look at VMPROTECT (PS: create it from scratch is a waste of time, don’t do it)
a) Is it like Fortnite?
b) Is it like a paid Steam game?
c) Even if it is still paid, does it depend on an online feature to work?
for:
a) Basically you can play it for free, but for micro transactions you need to be a real user and that is all that matters. Micro transactions will be the only cash you will see, if they ever happen.
b) This type is crack-able, mainly because changing the steam DLLs you can play the game without steam, but you won’t be able to use any Steam exclusive features. In this case the Steam features are interesting for certain audiences, so these specific audiences are potential purchasers.
c) You have to code the game for it to not work unless some info comes from the server (data) which won’t be found anywhere in the client code. See that even commercial games have being cracked when people learnt how to create fake servers to mimic the data flow (Lineage2 from NCSoft is a well known one).
Sometimes a way to ensure games are not being accessed by third parties (someone just hacked your credentials), companies use digital certification to ensure who is accessing the game and that only an authorized one is (Korean companies do this while in their territory).
In the old days of Blizzard with Diablo I and II, which could be completely cracked, they still sold a lot, because people do needed an online feature: ability to play in multiplayer. So, the offline experience might be always a risk of completely crack, but while there are competitive online features, people won’t be able to use cracked versions. As of today, Blizzard titles just need to have the e-mail account (with or without 2-factor authentication) which made the purchase from their store.
If you plan on selling at Epic’s Store where you find out that DRMs are the only thing out of the current offered solution, you might just maybe think on how your product will be played in terms of features and why not let people crack a offline experience just to see that your product is good enough, so they would pay for it to have access to an improved online experience (which must be concrete!).
Focus on bringing to life your game with theses thoughts and criticism, so you will do the right move to have a nice product!
Try to develop your game/application and then people will want to buy it, not hack. The application must be very attractive so that users want to buy it.
Hello, we built LicenseSpring for this purpose, basically let’s you create license keys for specific products (games), and set the number devices that are allowed to use each key. When activating a license, it gets bound to the device, so you can’t just share it.
our C++ SDK makes it easy for you to connect to the License Server we maintain.