Version 1.5.4
The executables for Mac, Windows and Linux and FAQs can be found at the license server page of our site.
Please, don’t forget to check for updates and download new versions from time to time.
Introduction
The KeenTools License Server is a command line program, so you need some basic knowledge of how to work with command line interfaces. It’s not that difficult though, so don’t be scared.
In the most basic scenario you open a terminal in the directory where the License Server executable is placed and use three commands: info
, install
(with aliases i
and if
) and run
.
The first one you use to get information (Hardware ID
, etc). The second one is used when you need to install licenses. The third one is used when you want to actually start the serving process.
One important thing to remember is that installed licenses are being loaded during startup, so after installing new licenses you need to restart the server to make licenses available for users.
The default path for storing licenses is the current directory of the terminal session followed with /licenses/
. You can change it by passing -l
or -location
parameter followed with the desired path string, for example:
./KeenToolsLicenseServer run -l /home/user/licenses/
the longer variant:
./KeenToolsLicenseServer install --location /media/licenses/keentools/
the same in Windows:
.\KeenToolsLicenseServer install --location C:\licenses\keentools\
Installing Licenses
You can install (i.e. activate) a license using the license server and its install
command or using the manual activation page at our site. Obviously, the first way requires an Internet connection (services.keentools.io
, port 443
) for the license server.
There are three ways you can install licenses using License Server: passing license Keys as arguments after install
command, specifying a file with license Keys separated with spaces or new lines, and entering license Keys in an interactive mode (the old way that was the only option before version 1.4.6).
So, installing a license with License Server and license Keys as arguments would look like this:
./KeenToolsLicenseServer install license-key-1 license-key-2 …
or if we want to specify the licenses folder, it may look like this:
./KeenToolsLicenseServer install -l /path/to/licenses/ license-key-1 license-key-2 …
or you can use the shorthand i
:
./KeenToolsLicenseServer i license-key-1 …
Note that in some terminals you’d need to place license Keys inside quotes.
If you have a file with a number of License Keys in it, you can specify a path to it using -f
(--file
) flag, so the command would look like this:
./KeenToolsLicenseServer install --file ./license-keys.txt
If we use shorthand and a short flag, it’d look like this:
./KeenToolsLicenseServer i -f ./license-keys.txt
Also, we can use a specialised if
shorthand:
./KeenToolsLicenseServer if ./license-keys.txt
Finally, we can use the old interactive mode, it’s activated if you don’t pass any licenses or -f
flag to install command:
./KeenToolsLicenseServer install
or a short variant with a custom path:
./KeenToolsLicenseServer i -l /path/to/licenses
Once you launch it in the interactive mode, you can pass License Keys one by one or separated by new lines and press Enter after it, they’ll be installed one by one.
When the Internet connection is not available, you can install licenses using manual semi-offline mode.
First, you need to launch the license server with the info
command to get the Hardware ID
. Copy it somewhere and then come to the offline license activation page at the KeenTools site from the machine where you can access the Internet. On this page enter the Hardware ID
and license codes you want to activate into the corresponding fields to get the activated license files. Transfer the activated license files to the machine where the license server is going to work and place them in the licenses directory (that one you point to with the--location
parameter).
If you need to remove an old license just remove the file in the licenses folder and restart the License Server.
Network Settings
By default, the License Server is using port 7096
. Make sure there are no firewalls restricting connection to the License Server from users’ computers. You can customize the port using -p
or --port
parameters:
./KeenToolsLicenseServer run -p 9999
or
./KeenToolsLicenseServe run --port 9999
Status Page & API
When the License Server is launched it starts a web server with a simple status page that can be accessed on port 8080
using any modern browser (http://localhost:8080/status
or http://127.0.0.1:8080/status
). The status information can also be found in JSON format on the same port if you send a JSON-type request using curl for example. You can change the status server port with parameters -a
and --api-port
followed with the port number, for example:
./KeenToolsLicenseServer run -a 8888
or
./KeenToolsLicenseServer run --api-port 8888
This is how getting JSON status might look:
curl -H “Accept: application/json” “http://127.0.0.1:8080/status"
You’ll get something like this as a result:
{
"validLicenses":
[
{
"licenseKey": "4736-****-****-****-****-****-****-850B",
"plugin": "GeoTracker",
"expirationTimestamp": "1569436295",
"expirationTime": "2019-Sep-25 18:31:35 UTC",
"file": "4736-****-****-****-****-****-****-850B"
}
],
"licenseLocks": [],
"invalidatedLicenses": []
}
Logging
By default, the License Server writes all its output to the log file placed right near the executable file. You can specify where to write logs with --log-file
parameter followed by a path. You can also disable logging to a file if you pass the --disable-file-logging
parameter.
User Settings
When you work with floating licenses, you need to set up plugins accordingly. On the License tab of a node, in the Floating section specify the hostname (or IP address) and the port (default is 7096
), then press Connect
button. If there are no network issues and there is a license available on the server, you’ll see an appropriate message, otherwise, you’ll see the error message with hints on what could go wrong.
There’s another more advanced way of setting up user nodes — using environment variables. When our plugins are loaded they check KEENTOOLS_LICENSE_SERVER
variable, and if it contains a string with a host address and/or a port number they try to connect using it and get a license. Here are some examples of what this variable could contain: localhost
(the default port will be used), 192.168.1.42
, server.local:4242
, 10.0.0.66:7766
.
Creating A Windows Service
Instead of wasting time with built-in Windows tools for creating services, we highly recommend you to use the ‘Non-Sucking Service Manager’. It’s free and easy to use. You can get it here: nssm.cc
Supported Options
-h
, --help
: print usage-l
, --location
: license files directory, default is <current_directory>/licenses
-f
, --file
: file with license Keys or activated license-p
, --port
: server port number, default is 7096
-a
,--api-port
: API server port number, default is 8080
--log-file
: log file path--disable-file-logging
: disable writing logs to file
Links
Download KeenTools License Server
Follow us: Facebook, Twitter, Instagram, YouTube