How to Manage Software Licenses
HandyCafe Server tracks software licenses across your client PCs. You define how many concurrent users are allowed for each licensed application. The system monitors which PCs have checked out a license, enforces limits, and reclaims licenses from machines that stop responding. This guide covers adding licenses, monitoring usage, handling limits, configuring heartbeat monitoring, tracking expiration, and a practical example.
How to Add a Software License
Adding a license tells the system about a piece of software, how many concurrent copies are allowed, and how to detect when it is running.
What you will need
- HandyCafe Server running with admin access.
- The exact process name of the application as it appears in Windows Task Manager (for example:
photoshop.exe,steam.exe,chrome.exe). - The license key or serial number (for your records).
- The number of concurrent seats your license agreement permits.
Steps
- Click Licenses in the left sidebar of the HandyCafe Server application.
- Click the Add button to create a new license entry.
- Enter the License Name. Use a clear, recognizable name such as "Adobe Photoshop" or "Steam Game Library." This name is for your reference in the management interface.
- Enter the Provider name. For example: "Adobe", "Valve", "Microsoft." This helps you group and identify licenses by vendor.
- Enter the License Key or serial number. This field stores the key for your records. It is not transmitted to clients or used for activation.
- Set the Type to "app" for standard applications.
- Enter the Process Name exactly as it appears in Windows Task Manager. For example:
photoshop.exe. This is how the system detects whether the application is running on a client PC. The match is case-insensitive. - Set the Quantity to the total number of license seats you own. Set Simultaneous Users to the number of PCs that may run the application at the same time. In most cases these two numbers are the same. For example, if you purchased 5 concurrent licenses, set both to 5.
- Set the Check Interval in seconds. This value determines how long the system waits for a response from a client before recovering its license. The default of 300 seconds (5 minutes) works for most situations. See the heartbeat section below for details.
- Optionally set an Expiration Date if your license has a renewal deadline. Click Save.
Expected result
The license appears in the Licenses list with its concurrent limit displayed. The system begins tracking the process on all connected client PCs. When a client launches the application, a license is checked out automatically.
Common mistakes
- Entering the wrong process name. If the process name does not match what actually runs on the client, the system cannot detect the application. Open Task Manager on a client PC, launch the application, and note the exact process name shown in the Details tab.
- Confusing the application display name with the process name. "Adobe Photoshop 2026" is the display name. The process name is
photoshop.exe. Always use the process name. - Setting the simultaneous users limit higher than the actual license agreement allows. The system will permit more users than your license allows, which may violate the software vendor's terms.
How to Monitor Active License Usage
See which PCs currently have a license checked out and how many seats remain available.
What you will need
- At least one license configured in the system.
- Client PCs running the licensed application.
Steps
- Navigate to the Licenses page.
- Select a license from the list. The detail panel shows the current usage status.
- Review the Active Checkouts section. Each entry shows the PC name that has the application running, the time the license was checked out, and the last heartbeat timestamp.
- The Available count shows how many seats are still open. For example, if you allow 5 simultaneous users and 3 PCs are running the application, 2 seats are available.
Expected result
A real-time view of which PCs are using each licensed application and how many seats remain. This view updates as applications are launched and closed on client PCs.
How to Handle License Limit Reached
When all seats for simultaneous users are in use, the system prevents additional PCs from launching the application.
What happens automatically
When a client PC attempts to launch an application and all concurrent seats are already checked out, the system blocks the launch. The customer sees a notification indicating that the maximum number of users has been reached.
How to recover a license manually
If a license is stuck (for example, a PC crashed without properly closing the application), you can recover it manually.
- Navigate to the Licenses page and select the license.
- In the Active Checkouts list, find the checkout that appears stuck. It will typically show a stale heartbeat timestamp.
- Click the Recover button next to that checkout.
- The license seat is freed immediately and becomes available for another PC.
When to use manual recovery
- A PC crashed or lost network connectivity. The check interval will eventually recover the license automatically. Use manual recovery if you need the seat freed sooner.
- A client PC was shut down without closing the application gracefully.
Common mistakes
- Recovering a license that is actually in use. The customer on that PC may lose access to the application. Always verify the PC's status before recovering.
How to Set Up Heartbeat Monitoring
The heartbeat system ensures that licenses are not permanently locked by PCs that stop responding. Here is how the lifecycle works and how to configure it.
The license lifecycle
- Checkout: A client PC launches a monitored application. The system automatically checks out a license seat for that PC.
- Heartbeat: While the application is running, the client sends periodic heartbeat signals to the server confirming that the application is still active.
- Checkin: When the application closes normally, the client sends a checkin signal and the license seat is released.
- Automatic Recovery: If the server stops receiving heartbeats for longer than the configured check interval, it assumes the application is no longer running (the PC may have crashed, lost connectivity, or been shut down). The server recovers the license seat automatically.
Configuring the timeout
- Navigate to the Licenses page and select the license you want to configure.
- Edit the Check Interval field. The value is in seconds.
- Set a value appropriate for your environment:
- 120-180 seconds for environments where you need licenses freed quickly after a problem.
- 300 seconds (5 minutes) is the default and works well for most setups.
- 600 seconds (10 minutes) for environments with occasional network instability where you want to avoid false reclaims.
- Save the changes.
Expected result
Licenses are automatically recovered from unresponsive PCs after the check interval expires. This prevents "ghost checkouts" from permanently consuming license seats.
Common mistakes
- Setting the check interval too short (under 60 seconds). Brief network interruptions or high server load may cause heartbeats to arrive slightly late. A very short interval can recover licenses from PCs that are actually still running the application.
- Setting the check interval too long (over 15 minutes). A crashed PC will hold its license for the entire interval, preventing other customers from using it.
How to Track License Expiration
Set expiration dates to receive alerts before a license lapses.
What you will need
- The renewal date for each of your software licenses.
Steps
- Navigate to the Licenses page and select the license.
- Set the Expiration Date to the date your license agreement expires or must be renewed.
- Save the changes.
- The system displays a warning as the expiration date approaches. Licenses that have expired are flagged in the list.
- When a license expires, decide whether to renew it with the vendor and update the expiration date, or remove the license entry if you are not renewing.
Expected result
Upcoming expirations are visible in the Licenses page, giving you advance notice to renew. Expired licenses are clearly marked so you do not inadvertently allow customers to use software you are no longer licensed for.
Common mistakes
- Not setting an expiration date at all. Without it, there is no warning. The license may lapse without anyone noticing.
- Renewing the license with the vendor but forgetting to update the date in HandyCafe. The system will continue to flag it as expired.
Example: Managing 10 Concurrent Steam Game Licenses Across 30 PCs
This example illustrates a typical setup for a gaming cafe.
Scenario
You have 30 client PCs in your cafe. You purchased a commercial Steam site license that allows 10 concurrent users.
Setup
- Navigate to Licenses and click Add.
- Enter the name: "Steam Game Library."
- Enter the provider: "Valve."
- Enter your Steam site license key.
- Set type to "app."
- Set process name to
steam.exe. - Set quantity to 10 and simultaneous users to 10.
- Set check interval to 300 seconds.
- Set the expiration date to your license renewal date.
- Save.
How it works in practice
- The first 10 customers who launch Steam on their PCs each check out one license seat.
- Customer number 11 attempts to launch Steam. The system blocks the launch and notifies the customer that all Steam seats are currently in use.
- Customer 3 finishes their session and closes Steam. The system checks in the license, freeing one seat.
- Customer 11 tries again and now successfully checks out the newly freed seat.
- If PC-07 crashes while running Steam, the heartbeat stops. After 300 seconds, the server reclaims that seat. It is now available for another customer.
Monitoring
Check the Licenses page periodically to see usage patterns. If all 10 seats are consistently full during peak hours, consider purchasing additional concurrent licenses. If seats are rarely all used, you may be over-licensed.