License Manager for Combu

License Manager is an add-on for Combu that allows you to easily manage your awesome game/app with subscription plans. You can set the licenses of your players directly in the interface of the administration console and set a default type of license for new registrations (usually X-days or X-launches trial).

In Unity you can check if the license of the local user is still valid or expired, there’s also a check for off-line mode but this system is mainly implemented for online games/apps so it is not meant to replace or work as a full featured DRM manager but it adds a similar functionality to your Combu applications.

This product does not handle online payments at this moment, but it’s very easy to change licenses through a web script: just include lib/api.php from Combu in your PHP file and call LicenseManager::SaveLicense($idAccount, $licenseType, $licenseValue, $licenseNumber), where:

  • $idAccount is the account Id
  • $licenseType can be: LICENSE_TYPE_TIME (1), LICENSE_TYPE_LAUNCH (2), LICENSE_TYPE_MONTHLY (3), LICENSE_TYPE_YEARLY (4), LICENSE_TYPE_PERPETUAL (5)
  • $licenseValue can be:
    • if $licenseType is LICENSE_TYPE_TIME: expiration date as YYYY-MM-DD (e.g.: 2015-09-23)
    • if $licenseType is LICENSE_TYPE_LAUNCH: remaining launches count (e.g.: 5)
    • if $licenseType is LICENSE_TYPE_MONTHLY: expire period as MM-YYYY (e.g.: 09-2015)
    • if $licenseType is LICENSE_TYPE_YEARLY: expiration year (e.g.: 2015)
    • if $licenseType is LICENSE_TYPE_PERPETUAL: NULL or empty string
  • $licenseNumber is the license serial number (you can set it to what ever you want, if you don’t want to change then pass NULL)

 

Purchase

€10,00 – Buy now Excluding 22% tax

* Advantages: more frequent updates released in faster times (no wait for Unity review process)

Or purchase from alternative stores:

Unity3D Asset Store

 

Install the add-on

To install this add-on, just uncompress the file license-manager_web.zip in the folder /addons of your Combu server installation (you will have a new folder called license-manager).

In the expanded folder license-manager you will find the file config.php that you should edit to assign the following values to the constants:

  • LICENSE_KEY: a 32-length string that will be used in the encryption/decryption of data
  • LICENSE_IV: a 32-length string that will be used in the encryption/decryption of data
  • LICENSE_AUTOGENERATE: if TRUE then it will auto-generate license numbers on user creation (and it’ll be denied to update the number from clients)
  • LICENSE_DEFAULT_TYPE: the default license that is granted to any new account registered, it can be one of the constants defined in addon.php (LICENSE_TYPE_* after the comment “Valid License types“)
  • LICENSE_DEFAULT_TIME: if LICENSE_DEFAULT_TYPE is set as LICENSE_TYPE_TIME then this constant is the number of days available to try your software
  • LICENSE_DEFAULT_LAUNCHES: if LICENSE_DEFAULT_TYPE is set as LICENSE_TYPE_LAUNCH then this constant is the number of launches to try your software

If LICENSE_DEFAULT_TYPE is set as LICENSE_TYPE_MONTHLY then the default expiration for new accounts is next month from account registration.
If LICENSE_DEFAULT_TYPE is set as LICENSE_TYPE_YEARLY then the default expiration for new accounts is next year from account registration.

Once you’ve done, in your Combu Administration you will find a new section License Manager (see screenshots at the bottom of this page).

 

How to use

To add the functionality in your game/app on Unity, just create a new empty object and attach the script LicenseManager (or use the prefab that is in the folder Prefabs).

You can set the following properties in the inspector:

  • License Key: it must be equal to the above constant LICENSE_KEY
  • License Iv: it must be equal to the above constant LICENSE_IV
  • Addon Relative Url: it should be fine addons/license-manager for everyone, it’s the relative path to the add-on folder and you have to change this only if you renamed it (in the next releases this will be turned into a const)

 

Screenshots