HandyCafe Docs
owner it-admin

Software Licenses

The Software Licenses page helps you track and manage concurrent software licenses across your cafe. Many games and applications are licensed per-seat, meaning only a limited number of PCs can run them simultaneously. HandyCafe monitors these limits in real time and prevents overuse.

License Fields

Each license record contains the following information:

Field Description
Name Descriptive name for the license (e.g., "CS2 Server License")
Provider The vendor or publisher that issued the license
License Key The license key or serial number for reference
Type Category of the software: game, app, etc.
Process Name The executable process name the system monitors (e.g., cs2.exe)
Executable Path Full path to the application executable on client PCs
Quantity Total number of license seats purchased
Simultaneous Users Maximum number of users allowed to run the application at the same time
Check Interval (seconds) How long to wait for a status check before reclaiming the license
Expiration Date When the license expires, if applicable

How License Tracking Works

HandyCafe uses a checkout/heartbeat/checkin model to track license usage in real time.

Checkout

When a client PC launches a monitored application, the system records a checkout event. This allocates one seat from the available pool. If all seats for simultaneous users are already in use, the system logs a "limit reached" event and can optionally prevent the application from starting.

Heartbeat

While the application is running, the client periodically sends a heartbeat signal to confirm the license is still actively in use. The interval is determined by the license configuration.

Checkin

When the application closes normally, a checkin event is recorded and the license seat is returned to the available pool.

Automatic Recovery

If a client fails to send a heartbeat within the configured check interval (for example, due to a crash or network interruption), the license is automatically recovered. This prevents "stuck" checkouts from permanently reducing the available pool.

Manual Recovery

Administrators can manually recover a license from a specific client if needed, freeing the seat immediately without waiting for an automatic recovery.

Tracked Events

The following events are recorded for each license:

Event Description
checkout A client started using the licensed application
heartbeat The client confirmed the application is still running
checkin The application was closed normally
automatic_recovery The license was automatically recovered after a missed heartbeat
manual_recovery An administrator manually freed the license
limit_reached A client attempted to use the application but all seats were occupied

Expiration Tracking

Licenses with expiration dates are monitored and alerts are generated as the expiration date approaches. This gives administrators advance notice to renew or replace licenses before they expire and disrupt operations.

Managing Licenses

Creating a License

Add a new license by providing the required fields (name, process name, quantity, simultaneous users). The system immediately begins monitoring for the specified process on all connected clients.

Editing a License

Update any license field as needed. Changes to the simultaneous users limit take effect immediately for new checkouts.

Deleting a License

Remove a license record when it is no longer needed. Active checkouts for the deleted license are released.

Use Case

A common scenario is managing limited game server licenses. For example, if your cafe owns 10 concurrent licenses for a multiplayer game but has 30 PCs, HandyCafe ensures that no more than 10 PCs run the game at the same time. The 11th PC that attempts to launch the game will see a "limit reached" notification and the operator can manage the queue accordingly.