I'm thinking about how I'm going to make Guns into a commercial game (apart from finishing and making it cool)

The question has popped into my head about how I prevent people from stealing the game.. or sharing the unlock key.

I'm thinking some sort of email address encryped with a cypher.. so that if I find a key on the internet being posted about, I can decypher the email address and find out who it is doing the sharing...
Alternatively finding some way of tying it to a PC.

I came across this company called ASPACK http://www.aspack.com/ but I don't know if they're any good.

Has anyone got any ideas?

I don't really want the user to have to be on-line to verify their copy.


So it seems that I have a few options to think about.

1. Have a single unlock code and put it in an automated email when people buy the game?
This seems to be the least secure, but the easiest to do and gives the user the most freedom.

2. Have an unlock code tied to their email address or account name?
This means that The code is unique, the user can install the game on as many machines as they want as long as they use the same email address and key in the Unlock Process.

3. Have an online authentication process?
The user would have to unlock their game. This would tie it to a PC.. probably by storing the MAC address. If the user wants to install on another machine, they have to re-activate. This does mean that the first time the user wants to play, they have to be on-line. It also means that I have to keep authentication servers running for a very long time.. otherwise, the user won't be able to install the game in the future.

I have a deep dislike for authentication servers.. and all security is circumventable if a hacker is determined enough.

Any ideas?