Author Topic: DRM for online functions  (Read 45963 times)

Offline zespri

  • Hero Member Mark III
  • *****
  • Posts: 1,109
Re: DRM for online functions
« Reply #75 on: June 28, 2012, 07:50:22 pm »
So eRe4s3r, let's just rephrase what you are saying about 20 checks so instead of "mysterious" checks we talk about something concrete. Let's assume that the key you generate is actually consists of 20 individual keys. Say, you give it to a customer in form of a file, you can encode them, so they don't look like 20 keys but as one big key.

In your release you check only first of the 20 keys. And then a patch checks another one and the game after patch is checking yet another one. Am I following you so far?

In the case of this example, for each key you can actually use different generation algorythm if you have all the time in the world for designing these algos. The have to look sufficiently different so for a cracker activating each new one is a completely new endeavour, and not just changing a constant here or there. And you make it difficult to the point that there is too much trouble of doing a keygen, it's simpler to do a crack.

Heck, you don't even need complexity, to make your program "unkeygenable". This kind of protection has been invented many years ago. It's not really complicated and it works like this (you have to know what asymmetric cryptography is all about) :

- Sign something you know (Customer's name or email) with your private key that no one knows and it's not integrated in your game so there is no way to find it out
- Give the signature to the customer as his key
- Let the game check the signature with the public key embedded into the game

Currently there is simply no way to keygen this type of keys. None.

So the cracker does the next best - he disables the checks in the game so it does not need the key. Fair enough.
And this leads us to where this discussion has started. You have to do an online check, and you have to keep the keys in the database on your server to do the check. It's the best you can do.

So you can say goodbye to the idea of protecting the game offline functionality. You can never make it efficient enough regardless of the schema you are using (to the point that it becomes more expensive you than you are gaining). But what you can do and what is not that difficult to pull off is to do proper checks for the online functionality. Like downloading patches.

And this all has nothing to do with Dominion 3, which was doomed to be cracked the day it was released. It does not do online checks. It was bound to be cracked once and for all.
« Last Edit: June 28, 2012, 07:54:58 pm by zespri »

Offline eRe4s3r

  • Core Member Mark II
  • *****
  • Posts: 2,825
Re: DRM for online functions
« Reply #76 on: June 28, 2012, 08:21:57 pm »
You are of course right with your whole post ;)

But to prevent that -1- keygen breaks your entire valid key arsenal with simple serials you simply need to add basic (and I do mean, most basic!) rules to your key list for which you planned ahead (and thus, your valid serials all follow these extended rules in addition to the algo). But you understood me correctly, the game does not check for these rules at first. And it never tells you if one of these checks failed. It also never checks for ALL of them at the same time. That would make it too easy ,p

And if you ask me, if someone has to crack your game with each patch because keygens become incredible annoying to keep up, you have succeeded in adding enough hassle for pirates. Most importantly, a keygen will never keygen valid keys (for steam etc.) if you do not release too much of your rule set as checks. You should keep 3 or 4 in backhand so that you seriously are the only person ever that can generate a fully 100% always valid serial. Yes, random luck will allow keygens to get that serial too, but the chance is very very small ,p

I mentioned Dominions 3 mainly because Dom3 patches do in fact check for serial and the keygens repeatable failed to actually work. As an example it serves well imo

The point of this exercise is not uncrackable or unkeygennable things. It is to delay, add hassle, and annoy pirates. The serial trickery I described is incredibly simply and already would be enough to literally protect all truly valid serials against keygens.

Yes cracks would still work, but each patch, needs it's own crack and at first the pirate wouldn't know about your planned obsoleteness of serials made by keygens ;) The point is to delay and add extreme hassle if pirates want to keep "in the loop" of support and service a game gets.

Personally, I think a proper online system is better. But a good "salted" serial algo is already enough to annoy pirates ;p

There are plenty of games whose patches are not cracked in a timely manner, and that adds time a pirate might want a feature of that patch, and decides to buy your game to skip all this hassle.
Proud member of the Initiative for Bigger Weapons EV. - Bringer of Additive Blended Doom - Vote for Lore, get free cookie

Offline tigersfan

  • Arcen Games Contractor
  • Arcen Staff
  • Master Member Mark II
  • *****
  • Posts: 1,599
Re: DRM for online functions
« Reply #77 on: June 29, 2012, 11:30:53 am »
You said you liked the idea of a "Proper online system." For the most part, I don't buy games that require me to be online for install/boot up. Steam (especially Steam sales) tend to be an exception, but outside of that, forget it. In fact, there is a publisher who has a game I really want, but, since their game requires you to be online and access their server on install, I won't buy it. I've talked to them about it, they won't budge on their system, and they've yet to receive a single cent from me. I'm far from the only person who feels this way about such systems.

As for the salted serial system, to me personally, I'm not convinced that it would be worth the extra work/planning involved. My biggest fear with such a system would be that what if when you added in one of your additional checks into a patch, and there was a bug either in your original algo or in your patch? Now the game is either unplayable or unpatchable. Either of these scenarios is bad bad bad bad bad, and, in my mind, is more than enough reason to avoid it as a developer, and would absolutely infuriate me as a paying customer. Also, this is really something you could get away with only once, since on your second game (or first expansion), the crackers would just go around the serial check anyway (knowing that you played these games in the past), then you're back pretty close to square one.


(Please note, I'm the low guy on the totem pole here. All views expressed in this post are mine and mine alone, and should in no way be construed as anything like an official position from Arcen :) )

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: DRM for online functions
« Reply #78 on: June 29, 2012, 12:19:30 pm »
A heavily multipart asymmetric (non-keygen'able) serial that is checked many different places (in different ways) in the game code and causes delayed failure (though I don't think not-making-it-clear-it's-because-they-pirated-it is a good idea, because then there are tons of reports circulating that your game is unstable for unknown reasons, etc) could be a good start on making it really frustrating for pirates to crack.  In fact, I think I could probably whip up something that would require them to actually decompile and spend days/weeks analyzing the program to fully crack, albeit it would take a lot of testing on my part before release to make sure I didn't have any false negatives in there.

But all that goes out the window on a single leaked serial.  Then you can blacklist them from future updates, sure, but that means:
- you're having to stay vigilant on finding out about what serials have leaked; I could find the initial algorithmic and code tomfoolery to be entertaining from a "hobby" perspective but I loathe the idea of having to repeatedly update some blacklist
- the legitimate owner of that key (who may not have intentionally allowed it to leak) is blocked out
- the blacklist itself is probably a lot easier to "crack" out of the game than the original protection, unless every time you do a new patch you spend more time coming up with some very different way to obfuscate/check it (meaning more time for testing and/or potential false-negative bugs)

And so on.

In short: it does at least avoid the need for any kind of online-requirement at any stage, but the negatives still significantly outweigh the positives.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline eRe4s3r

  • Core Member Mark II
  • *****
  • Posts: 2,825
Re: DRM for online functions
« Reply #79 on: June 29, 2012, 12:41:18 pm »
Quote
- you're having to stay vigilant on finding out about what serials have leaked; I could find the initial algorithmic and code tomfoolery to be entertaining from a "hobby" perspective but I loathe the idea of having to repeatedly update some blacklist

You could crowd-source, but that is the only barely negative I can understand. It takes effort (who would have thought ;P)

Quote
- the legitimate owner of that key (who may not have intentionally allowed it to leak) is blocked out

there are no legitimate owners of keygenned keys and I never heard of a serial "accidentally" leaking.... if that really happens, you can *easily* check for proof of purchase, new serial, if it leaks again, life-time ban. Sorry, but if a customer is stupid enough to leak his serial twice he is too stupid to be allowed on the internet.

Quote
- the blacklist itself is probably a lot easier to "crack" out of the game than the original protection, unless every time you do a new patch you spend more time coming up with some very different way to obfuscate/check it

That is kind of the whole point of a serial system. You want to force pirates to crack the game. You do not want them to make a keygen that runs on javascript that completely pwns your entire protection for all eternity because you forgot basic security measures ;)

Quote
negatives still significantly outweigh the positives.

I don't see what is positive about the current situation of the protection. Unless you mean "it is not working at all to protect your game" is a positive ;)

If that is not the intention of the protection one wonders what is. If you only do it as gateway to unlock the demo you might be interested to know that this system is why I am so adamant opposing your stance of "it is good how it is"

Pirates can
1) Download the demo and patch it to latest version then
2) Download the keygen and unlock the game and all expansions with that (AI War)

You just paid the bandwidth a pirate used
Pirate paid nothing

Maybe I am bad at economics, but that doesn't seem smart to me ;)
« Last Edit: June 29, 2012, 12:48:15 pm by eRe4s3r »
Proud member of the Initiative for Bigger Weapons EV. - Bringer of Additive Blended Doom - Vote for Lore, get free cookie

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: DRM for online functions
« Reply #80 on: June 29, 2012, 01:16:28 pm »
I don't see what is positive about the current situation of the protection. Unless you mean "it is not working at all to protect your game" is a positive ;)

If that is not the intention of the protection one wonders what is. If you only do it as gateway to unlock the demo you might be interested to know that this system is why I am so adamant opposing your stance of "it is good how it is"

Pirates can
1) Download the demo and patch it to latest version then
2) Download the keygen and unlock the game and all expansions with that (AI War)

You just paid the bandwidth a pirate used
Pirate paid nothing

Maybe I am bad at economics, but that doesn't seem smart to me ;)
Piracy costs us money, yes.  But the cost of any of the other approaches I've seen would be higher, both in terms of money (due to staff time and whatnot) and in goodwill.  That would probably somewhat reduce the cost in bandwidth and lost sales, but not enough by far.

The only purposes the current serial system serves is:
- Increase customer convenience (not having separate downloads/installs for the demo, the full-game, and the expansions).
- Improve potential-customer experience (demo always up to date with no additional ongoing time cost for us).
- Does those while still making it so that pirating the game requires a deliberate decision.  It's not even protection, really, but it's better than "here's the full game with no protection at all, please remember to pay us if you like it" (most people would forget to, probably).

So protection is not the reason we have the serial check, because it is fundamentally impossible.  Once someone has made the decision to pirate the game, there's nothing we can do to stop them.  We could inconvenience them by also inconveniencing ourselves and our legitimate customers (to at least some extent), but honestly, that's not why I work here.  If succeeding in this industry requires that degree of defending-yourself-from-selfish-people, I'd rather go back to my old job.  There were some selfish people there too, but at least I got to deal with them personally, and there was accountability.

Thankfully, such self-defense is unnecessary :)
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline eRe4s3r

  • Core Member Mark II
  • *****
  • Posts: 2,825
Re: DRM for online functions
« Reply #81 on: June 29, 2012, 01:30:12 pm »
Well, the more interesting statistics would be your demo downloads to purchase conversion rate ;) Because if you know that you could calculate how much potential piracy is in your bandwidth expenses (honestly, I am thinking about 50% to 75% is piracy traffic given that pirates also get beta updates and such for AI War) the price to do a better serial system would likely quickly become irrelevant. Especially because it is a 1-time only investment. Unlike your BW bill...

but ok ;) I won't continue this topic if the idea is to offer 0 protection against piracy. Because then we will never understand each other. To me not doing anything at all is promoting piracy, not just "not defending against it". The only reason that is not a massive issue right now is that popularity is not mainstream.. it would not hurt to plan ahead.

Quote
customer convenience

by the way, having to enter 4 separate serials I got in my email in different places and thus have to find separately is not convenient ;) Already there an account based (or steam workshop based) verification system would be superior for convenience...
Proud member of the Initiative for Bigger Weapons EV. - Bringer of Additive Blended Doom - Vote for Lore, get free cookie

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: DRM for online functions
« Reply #82 on: June 29, 2012, 01:40:21 pm »
by the way, having to enter 4 separate serials I got in my email in different places and thus have to find separately is not convenient ;)
That is a fair point ;)  It would be nice to have "bundle serials" that just let you do it all at once, or otherwise make that process easier, we just haven't thought of a good way to do that. 

But even as-is it's better than having to rely on an external server to authenticate an account/pw pair.  Granted, many including myself rely on their email server to keep serials, but that's a customer choice, not a developer mandate.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline Hearteater

  • Core Member
  • *****
  • Posts: 2,334
Re: DRM for online functions
« Reply #83 on: June 29, 2012, 02:23:50 pm »
To me, if a pirate would never pay for a given game then DRM doesn't matter.  If the DRM was unbreakable, they just wouldn't play.  But I don't get a sale out of it.  Meanwhile, a paying customer can be lost if DRM annoys them.  Even Arcen's serial key annoyed one of my friends due to the copy-pasta.  He felt since he bought it on Steam, the keys should have been loaded automatically.  So I don't want to annoy paying customers, and spending time to inconvenience never-paying pirates is a waste of money.

That leaves pirates who would actually buy the game.  So either I pick the stick or the carrot.  The stick is DRM that prevents them from playing enough they find they either need to buy the game or not play it.  The carrot is a good game they want to support because of good quality, developer-customer activity, and potential future titles and expansions.  The carrot is certainly the harder of the two, but it benefits even paying customers.  So I can use a stick, which might get me some small percent of pirates, or I can use a carrot which again, might get me some small percent of pirates, but will also make my paying customers more loyal.

Obviously there is the combined approach, such as what Arcen uses: very small stick and a huge carrot.  Personally, that seems the best use of resources and smartest way to grow a company.  Interesting, think about this: who uses the stick?  Big estabilished companies.  Who picks the carrot?  Small indies.  A successful small indie can become a big company.  In fact, has any indie that went for the stick approach ever grown into a large company?  All the success stories I know of used the carrot approach until they became so big the suits stepped in and started beating everyone in the head with a stick hoping money would magically appear.

Offline doctorfrog

  • Hero Member
  • *****
  • Posts: 591
Re: DRM for online functions
« Reply #84 on: June 29, 2012, 02:56:31 pm »
but ok ;) I won't continue this topic if the idea is to offer 0 protection against piracy. Because then we will never understand each other. To me not doing anything at all is promoting piracy, not just "not defending against it". The only reason that is not a massive issue right now is that popularity is not mainstream.. it would not hurt to plan ahead.

If I read Keith right, it's not that he wants "0 protection" against piracy, it's that he realizes that there is very little Arcen can do against piracy. Whereas what you are suggesting is a way to frustrate pirates, not stop them completely.

So, Arcen can go ahead spend time trying to frustrate people who overwhelmingly are unlikely to buy the game in the first place, or they can spend time making their video games more fun.

For my part, I'm fine with how Arcen manages their serial system. I find it extremely convenient for me, and the fact that they trust me to police my own behavior as a conscientious person establishes a rapport that other publishers don't bother with.

And so not implementing a clever DRM system not only saves Arcen resources, but it also effortlessly cultivates a sense of loyalty in a certain kind of customer.

I'd argue that's worth more than the silly anti-piracy games you're suggesting.

Offline eRe4s3r

  • Core Member Mark II
  • *****
  • Posts: 2,825
Re: DRM for online functions
« Reply #85 on: June 29, 2012, 03:36:05 pm »
Eh..... :'(

I will just reply to your entire post with a link.

http://forums.steampowered.com/forums/showthread.php?t=1543880

So yes, "silly" anti piracy games indeed ::)

For the record, I had it with this topic. If there is no intention to fix this issue, even though "we" just explained simple systems that the customer would not even notice to prevent it where the serial itself becomes a more secure system then there is no point to continue a repeating-argument-loop.
« Last Edit: June 29, 2012, 03:40:50 pm by eRe4s3r »
Proud member of the Initiative for Bigger Weapons EV. - Bringer of Additive Blended Doom - Vote for Lore, get free cookie

Offline KingIsaacLinksr

  • Master Member
  • *****
  • Posts: 1,332
  • A Paladin Without A Crusade...
Re: DRM for online functions
« Reply #86 on: June 29, 2012, 03:39:28 pm »
The question now is, who would this DRM system frustrate more? The developers or the pirates? I'm just going to guess the devs.

I am most definitely of the opposite opinion that no-DRM encourages piracy. For me, it encourages me to buy legitimately. Whereas DRM has always encouraged me to pirate the game. It doesn't matter if it's Diablo's DRM, that Anno game, or even the one you suggested in this thread. Just having that DRM there will encourage me to pirate the game. Fortunately, I have a good amount of self control and respect for Devs not to.

I'd also like to point out the Humble Indie Bundles that we just had. All games had no DRM, and you can't tell me that at least one pirate didn't grab one for a $1 or $10 and put it up on the internets somewhere for everyone to take as they pleased. Yet the Latest Humble Bundle raised over 5 million dollars. That is an insane amount of money for a pay-as-you-want. Could DRM have created more sales? Not likely.

So I simply don't see how not having DRM encourages piracy. Yes, there are people who will pirate, and I'm unhappy that they do. But I think the focus needs to be less on the pirates and more on giving the most value to the people who will pay good money for games. For me, if I could, I would throw many dollar bills at Arce. But Ubisoft? Hah, they'll be lucky to see another cent from me due to their DRM schemes.

This is probably coming down to a discussion where we will have to agree to disagree. Heh.

King
Casual reviewer with a sense of justice.
Visit the Arcen Mantis to help: https://www.arcengames.com/mantisbt/
A Paladin's Blog. Long form videogame reviews focusing on mechanics and narrative analyzing. Plus other stuff. www.kingisaaclinksr.com

Offline KingIsaacLinksr

  • Master Member
  • *****
  • Posts: 1,332
  • A Paladin Without A Crusade...
Re: DRM for online functions
« Reply #87 on: June 29, 2012, 03:41:58 pm »
Eh..... :'(

I will just reply to your entire post with a link.

http://forums.steampowered.com/forums/showthread.php?t=1543880

So yes, "silly" anti piracy games indeed ::)

It happens. But the guy can still play his games correct? Sure, not through steam, but he still can.

King
Casual reviewer with a sense of justice.
Visit the Arcen Mantis to help: https://www.arcengames.com/mantisbt/
A Paladin's Blog. Long form videogame reviews focusing on mechanics and narrative analyzing. Plus other stuff. www.kingisaaclinksr.com

Offline keith.lamothe

  • Arcen Games Staff
  • Arcen Staff
  • Zenith Council Member Mark III
  • *****
  • Posts: 19,505
Re: DRM for online functions
« Reply #88 on: June 29, 2012, 04:15:33 pm »
http://forums.steampowered.com/forums/showthread.php?t=1543880

So yes, "silly" anti piracy games indeed ::)
There's a very, very simple solution to that problem for future games: not offer the option of registering a non-steam key in steam.  It's never been a guaranteed part of the product and the perception that it is has caused problems.
Have ideas or bug reports for one of our games? Mantis for Suggestions and Bug Reports. Thanks for helping to make our games better!

Offline eRe4s3r

  • Core Member Mark II
  • *****
  • Posts: 2,825
Re: DRM for online functions
« Reply #89 on: June 29, 2012, 04:48:56 pm »
I thought we are pro rewarding paying customers? ;P That would be punishing them for something pirates did.
Proud member of the Initiative for Bigger Weapons EV. - Bringer of Additive Blended Doom - Vote for Lore, get free cookie