Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Licence Key & Expansion Packs


matthewpull
 Share

Recommended Posts

Hi,

I'm making a game for a charity fundraiser, and have 2 questions:

1) Is it possible (and can someone explain how) to make the user enter a license key when they register, which I will give to them when the purchase the game?

2) Is it also possible (and can someone again explain how) to make expansion packs that require purchasing to activate more content, either with in game currency or credit card / PayPal?

If you can answer either of these questions, please help me!!!
Link to comment
Share on other sites

How to dress is every girl every day headache things. Especially in the summer, how to dress up both fashion and cool may be one of each girl's question, now give women recommend Women Leggings, as long as your clothes match in the leggings everything is so simple, because Tight Leggings can and match with different clothes.

http://www.ms-leggings.com
Link to comment
Share on other sites

> How to dress is every girl every day headache things. Especially in the summer, how to dress up both fashion and cool may be one of each girl's question, now give women recommend Women Leggings, as long as your clothes match in the leggings everything is so simple, because Tight Leggings can and match with different clothes.
>
> [http://www.ms-leggings.com](http://www.ms-leggings.com)

How is this relevant to my post?
Link to comment
Share on other sites

I'm sure there's more than one technique associated with registering products, but the process that I would use would take a significant amount of time.

Step 1: Generate 100 unique registration codes.

Step 2: Create a constant in each client that matches 1 of those generated registration codes, compile it, and burn the installer package to a cd.

Step 3: Package the matching client and registration code together.

Step 4: Upon first installation, ask for the valid and matching registration number before any other operation is done.

Step 5: If the registration number and client matches, set a registry entry that tells the client whether or not the product has been registered on each concurrent run.

Few issues associated with this type of handling:

1\. If the customer loses their registration number, you'll need to have a fail-safe else you are both screwed.

2\. Re-selling and redistribution could lead to potential losses in revenue.
Link to comment
Share on other sites

I would attempt it like this:

1\. Make a .ini file server-side with all the valid registration-codes in it.

1.2 The server should read that ini-file and store it into an array/vector/list on server-start

2\. Make the client ask for such a code in the registration form (just a textbox more)

3\. Make the client send the entered key with all the other registration data (just look for the method used when the registration-button is clicked)

4\. Let the server check for the entered key's validity before creating the account data, so if the key is wrong the account isn't created (and maybe an error-message for the client, saying that the entered key was wrong)

5\. IF the key was right, just let the server create the account as usual and then delete the key from the array/vector/whatever, so it isn't re-usable. On shutdown, the server should write all the usable keys back to the .ini so it still knows what keys are valid on the next start.

This may sound like a lot of work, but it actually isn't magic.

Good luck with your fund-raising,

-seal
Link to comment
Share on other sites

Yeah, I missed the part where it was an Eclipse game where networking, file streams, and credentials were already being used. Sealbreaker has a good idea. I'll improve on it to further "lock it down":

1\. Add a property to the structure and file used to store client information; name it reg_code.

2\. When the client registers, remove the used code from the stored list of all valid registration codes and store it in the clients file in case re-installation is required by the end-user; simply place an option to "Retrieve Registration Code" on the title screen of the game, check the credentials of the account and send the registration code back.
Link to comment
Share on other sites

> The key will be used on account level with his method, not installation level.

It can be used at registration as well. Every credential is stored at registration anyway, so why not add the registration code to the list of credentials stored?
Link to comment
Share on other sites

> Yeah, I missed the part where it was an Eclipse game where networking, file streams, and credentials were already being used. Sealbreaker has a good idea. I'll improve on it to further "lock it down":
>
> 1\. Add a property to the structure and file used to store client information; name it reg_code.
>
> 2\. When the client registers, remove the used code from the stored list of all valid registration codes and store it in the clients file in case re-installation is required by the end-user; simply place an option to "Retrieve Registration Code" on the title screen of the game, check the credentials of the account and send the registration code back.

I only want one account created for most licenses.

However, this could be useful for the family license (4 accounts).
Link to comment
Share on other sites

> I only want one account created for most licenses.
>
> However, this could be useful for the family license (4 accounts).

The concept explained above was for single accounts. Each additional account would need to purchase a registration code. This allows for your client to be freely distributed, but to play the game they would need to purchase a registration code to use to activate their unique account.
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...