MAC adress for crack protection.

Is it possible to check users MAC Adress (for example a network card MAC Adress) for use as protection.

We want to make it this way.

  1. on our server we have a list of sold key’s
  2. person downloads/buys a game and types his key
  3. game checks if a key has been sold:
    3a. if it wasn’t sold it says that, “key is wrong”
    3b. If the key is right it binds a MAC Adress of a user to this key and to be able to use the same key on other computer you have to “unbind” the key first.

That way there cannot be 2 users of the same key.
Sounds like a decent protection to me.

Question, is it possible in Unity?

if you are able to write a plugin for it, sure.

Question 1 is though why you waste time on developing the game if you plan on active flopping it.

Question 2 is if you really want to risk to pay more in the end than you earn as there are likely more than just a few users that will request refunds and if that doesn’t work out get their refund through the CC company.

Already spore had serious problems and spore is lockdown to 3 or even 5 systems and a advertising budget that was potentially larger than your dev budget.

Rule number 1 on protection always should be: don’t annoy your paying and loyal customers to prevent a minority from playing it illegally, because you force legal loyal users to become illegal ones to use the game as they are entitled to.

what potentially would make sense is single system at a time, but that requires that you create an online game, otherwise thats no option.

The MAC address is simply the hardware address of the network card. So your plan will invalidate a person if they change NICs. They do blow out sometimes. And it will prevent someone from playing your game if they get a new computer. That is just asking for trouble. MAC addresses are notoriously easy to spoof, so this sort of protection will not keep out anyone who tries hard enough to hack it, but it will piss off your paying customers who have a computer crash.

That said, if you insist upon this folly, you can find the MAC Address in any number of ways, some of where are listed here:

http://www.codeguru.com/cpp/i-n/network/networkinformation/article.php/c5451

Probably better to have an account system, where you can only have one connection with a certain account at any time.

This is of course your game/app is a multiplayer/network centric kind of thing. If it’s a non-networked app, this will not be harder/easier than the Mac adress solution to crack.