WordPress Serials

Allows you to pre-generate any number of serials you want and then link a serial to an account ID. Serials can only be linked to 1 account and 1 account can only have 1 serial. The only way to pirate the game is by the person who paid for it to give others complete access to his entire account.

Introduction

In contrast with the other WordPress assets in my store, WordPress Serials require virtually no work for you to do in Unity at all and does most of what it does in the WordPress dashboard

To get started with the kit just install it into your project and if you haven’t already done so upload and activate the wuss_serials plugin on your WordPress website. You only need to do this once and you are good to go with all other games you install on your website in future.

ABOUT WordPress Serials

So what is WordPress Serials exactly? Simply put, it allows you to pre-generate any number of serials you want and then it let’s players take ownership of them by linking their user accounts to a serial.

Every user, once they register on your website, gets a unique ID. When they register with a valid serial that ID is linked to that serial. This means 4 very important things:

Nobody else can use that serial any more because It is already allocated to someone

That serial is linked to that game for that person regardless of the device he is playing on. This means that he can register the game once on one device and then the game is registered on all his devices automatically. This includes any future device replacements or even when borrowing someone else’s device for a while. The serial is linked to THEM, not to one of the player’s devices.

As inferred from the aforementioned point, this means the serial is only ever needed once to register one copy of the game on one device. After that the serial never needs to be entered by the owner ever again. Not even when they contact customer support since you already get to see all the serials for all their games just by calling up their account in the dashboard. This means you don’t have to display the serial in the game unless you want to and for all sense and purposes the owner can completely forget about the serial after he used it.

This also means that sharing the game or selling it on second hand makes absolutely no sense. The game cannot be played with a serial and the serial is linked to a user’s account. If they ever decide to “share” the game then they would have to give the person access to their entire account including the ability to change their username, email address and password. And if they want to sell the game second hand they first have to contact you and ask you to remove the serial from their account. Now the other party still needs a license (which you can allocate to them with one click) but if the original owner ever wants to play again he will have to buy another serial for himself again. Piracy of your game(s) no longer make any sense…

MUCH ADO ABOUT NOTHING

From within Unity WordPress Serials only exposes 3 functions for you to call:

RegisterSerial
If a customer owns a serial and has not yet registered the game use this function to send the serial to the server to register the serial to the user.

ValidateRegistration
If at any time you wish to check if a game is registered to the logged in player, call this. It takes no parameters and will either return a bool named “valid” with a value of true or it will trigger your error response function. This is useful at the start of the game or if you just want to inject random checks to minimize any kind of game hacks

FetchSerialNumber
Again, this takes no parameters. Just be sure the user is logged in when you call it and when it’s done you can use the results as you see fit. NOTE: The serial is NOT needed for anything after registration so the results of this function are purely for you to use in some cosmetic way

Dashboard Control panel

WordPress Serials comes with a complete dashboard interface for generating and removing serials. You can reserve serials for games being distributed in retail stores and (if you have the WordPress Money kit installed) you can also sell your games directly via your website which results in non-reserved serials being allocated and registered to the buyer automatically meaning they never have to enter the serial even once. They don’t ever even need to see the serial as everything will just work from the moment your WooCommerce transaction completed.

Also on the dashboard are displays listing all available and all allocated serials, per game as well as a means of viewing all serials belonging to a single user. When viewing a user’s account you can simply select a game from a drop down box and with one click register a serial to him for that game. Alternatively, next to every serial he owns is a button to remove that person’s registration for that particular game.

Absolute control over all things registration related in no more than 2 clicks for any action…Welcome to WordPress Serials !

SEAMLESS WordPress Login INTEGRATION

I have modified the default WordPress login prefab to automatically detect if you have WordPress Serials installed or not. If you do it will expose a couple of field for you to set:

Bool Check_for_serial
If true WordPress Login will automatically test for the user’s registration during login and set the static value WULogin.HasSerial accordingly

Bool Fetch_serial
If true the registered serial will be returned for you to display in game should you wish to do so

Bool Require_serial_for_login
When true is changes the behavior of the WordPress Login prefab. Instead of closing the prefab so players can start to play, it now redirects to the screen where they have to either register with a serial they have in their possession or they can click on the button to buy a serial if they do not already have one. Additionally, the PostLoginMenu screen’s “Continue playing” button now also validates that a legit serial exists for the user.

If Fetch_serial was set to true then these fields should be handled for you automatically. If you turned them off then you will have to make a manual call to the server using the ValidateRegistration function mentioned above.

String Product_url
If this field is not set then clicking on the button to buy a serial will take you to your website’s home screen. If you want to link directly to the game’s description or product page simply enter the full URL here.

NEW STATIC PROPERTIES AT YOUR DISPOSAL

WordPress Login now contains the following new static properties:

Bool RequireSerialForLogin
The private variable you set in the inspector was meant for the login function to know whether or not to check for the serials. For the rest of the game this variable I what you will access to determine if a serial is required to play the game or not

Bool HasSerial
As the name implies this checks to see if a valid serial has been found for the user. WordPress Login sets this value on login if you elected to have it check for serials but if you call ValidateRegistration then you will need to manually update this value based on the results you receive

String SerialNumber
This property is not guaranteed to hold any value and in most cases is not needed. WordPress login sets this value if you had Fetch_serial set to true during boot. If you call FetchSerialNumber manually you need to populate this property based on the results. This exists purely for cosmetic reasons only

WooCommerce INTEGRATION

All WooCommerce integration for all my products is enabled by installing the WordPress Money plugin on your website. If you have that plugin installed and enabled then all you need to do to integrate WordPress Serials into WooCommerce and Unity is to create a normal WooCommerce, digital product and give it an SKU of the format WUSKU_GID_GAME (where GID is the actual Game ID of the game you are selling). That is all. It’s done!

By doing this anyone who buys the game from your website will automatically be allocated a serial and have that serial registered to his account. this means the customer need never even see his serial if you don’t want him to. Just click on buy and as soon as the transaction state indicates the transaction is completed, they can just start playing on whatever device they want without any fuss.

NOTES

Some thoughts on what you can do with this. If you enable the Require_serial_for_login option then you are effectively forcing people to pay before they can play. This means you can make your game available for free download and not have to worry about it.

As an alternative, you can have the login function check for a serial during login but NOT have it require the serial for login. By doing this you can allow people to play the first few levels of your game and at some point you can add a test to see if WULogin.HasSerial is true and if not you can pop up the login prefab again and show them the screen where they need to enter their serial. Alternatively, instead of loading scene 6, just load a scene that says “Thank you for playing. If you want to continue, please purchase a serial number now to exit demo mode”…and with that you have turned this kit into a means for making demo games from any game and you can very easily do the validation test again at any point in the game (on game start, on an enemy dying, on saving the game, on using a health pack… check “Does this player have a serial? Trust the local bool or fetch the results from the server. Your choice)

As an aside, why not supplement my piracy prevention with some cheating prevention also by looking at the Anti-Cheat Toolkit.
Cheat proof and pirate proof games… Doesn’t that just sound the best? 😀

WARNING

As you will see in the modified demo, adding this kit to your project requires a slight change in the way you approach logins. Before, when a login was successful yo could just start to play the game. Now you also have to take into account whether or not the serial is required before players can do so. The onLoggedIn event still fires after the login completed so if your code just waits for that event and then loads the new scene you will have to modify that code to exit if WULogin.HasSerial is false. Instead, you will now have to register to the onResumeGame event to check if you can continue running your old code. It’s a minor change but an important one. See the updated demo for more

1 review for WordPress Serials

Rated 5 out of 5

whizbang101 on 2018-09-12 09:31:28

Essential Tool for anyone wanting to make money from games. - This tool is a essential in my opinion for anyone who seriously values their software, this tool gives you the ability to protect it by using serial keys to licence it and monetarize it safely in the way of selling the keys from your website hence selling your game, it is easy to use and links into WAMP and LAMP configurations stacks without fuss, but I'm using it with WIMP stack and using url rewrites and over SSL oh yes works with no fuss just to make things complicated (friendly urls) with very minimal configuration of rules, and it works great! Now remember this kit requires the authors over kit or kits to work, not that you couldn't recode it to work on other frameworks I would not bother as his system is very good, with all the source included as always with this authors assets NO DLL's, so your can recode it as you please. As mentioned this kit requires for a out the box just work approach his WULogin and to monetarize it WUMoney too and of course a WordPress website with Woo Commerce would be a good idea (not included! he dont apparently provide the internet so you need to get yourself a hosting company that supports Wordpress on a WAMP or LAMP stack for absolute no grief up and running and this problem of how to protect and sell your game is fixed move on, but other serial systems are more than 3times the price anyway and this even supports the serials across multiple devices c'mon, at this price how can you beat that, and I haven’t even got to the best bit yet. The Support! This authors support is second to none he takes pride and is passionate about making his customers happy I should now as I contacted him a couple of times now and sent around 100 emails back and forth yes you read that right but I had multiple issues as I have a little bit more complicated setup than most and urrrh yeah I caused him REAL GREIF, but he handled it very well made light hearted comments to ease the/my frustration and even though a lot of my issues were self-inflicted shall we say (RTFM shall we say! :( ) well I am a little hands on and always leave that to last so you can imagine most would of run for the hills, but he was great can't say enough to how excellent and honorable this author is, like I said I was a real problem customer for him my ignorance well laziness to RTFM main reason, the man is only interested in making his customer happy and I commend him highly, but I dont figure how he can provide this much support and not go bust, well his loss are gain best get in quick in my opinion. Great, Excellent and professional support and defo a five star asset and developer.

Rated 5 out of 5

wizbang101 on 2018-09-12 09:31:28

Essential Tool for anyone wanting to make money from games - This tool is a essential in my opinion for anyone who seriously values their software, this tool gives you the ability to protect it by using serial keys to licence it and monetarize it safely in the way of selling the keys from your website hence selling your game, it is easy to use and links into WAMP and LAMP configurations stacks without fuss, but I'm using it with WIMP stack and using url rewrites and over SSL oh yes works with no fuss just to make things complicated (friendly urls) with very minimal configuration of rules, and it works great!
Now remember this kit requires the authors other kit or kits to work, not that you couldn't recode it to work on other frameworks I would not bother as his system is very good, with all the source included as always with this authors assets NO DLL's, so your can recode it as you please. As mentioned this kit requires for a out the box just work approach his WULogin and to monetarize it WUMoney too and of course a WordPress website with Woo Commerce would be a good idea (not included! he don't apparently provide the internet so you need to get yourself a hosting company that supports Wordpress on a WAMP or LAMP stack for absolute no grief up and running and this problem of how to protect and sell your game is fixed move on, but other serial systems are more than 3 times the price anyway and this even supports the serials across multiple devices c'mon, at this price how can you beat that, and I haven't even got to the best bit yet. The Support! This authors support is second to none he takes pride and is passionate about making his customers happy I should now as I contacted him a couple of times now and sent around 100 emails back and forth yes you read that right but I had multiple issues as I have a little bit more complicated setup than most and urrrh. yeah I caused him REAL GRIEF, but he handled it very well made light hearted comments to ease the/my frustration and even though a lot of my issues were self-inflicted shall we say (RTFM shall we say! :( ) well I am a little hands on and always leave that to last so you can imagine most would of run for the hills, but he was great. Can't say enough to how excellent and honorable this author is. Like I said I was a real problem customer for him my ignorance well laziness to RTFM main reason, the man is only interested in making his customer happy and I commend him highly, but I don't figure how he can provide this much support and not go bust, well his loss are our gain. Best get in quick in my opinion.
Great, Excellent and professional support and defo a five star asset and developer.