HandyCafe Docs
owner it-admin

Game Account Pool

The Game Account Pool manages a shared set of game launcher accounts that customers borrow for the length of a session. When a customer launches a pooled game, HandyCafe hands them a free account from the matching provider, marks it busy, and returns it to the pool when they finish. This lets a limited number of paid accounts serve many PCs without any account being used on two machines at once.

This page reaches the server interface through Licenses, on the Game Accounts tab. The other tab on the same page, App Licenses, is a separate feature. See the distinction below.

Game Accounts vs App Licenses

These two features look similar but solve different problems.

  • Game Accounts (this page) manages real login accounts (a username and password for Steam, Epic, Battle.net, and similar launchers). HandyCafe lends one of these accounts to a customer for the session, then takes it back.
  • App Licenses (Software Licenses) tracks concurrent license keys or seat counts. It counts how many PCs may run a title at the same time and blocks overuse. It does not hand out login credentials.

Use the Game Account Pool when you share a pool of paid launcher accounts. Use Software Licenses when you own a fixed number of seats for a title and only need to cap concurrent use.

Provider Rail

The left rail lists every configured provider, such as Steam, Epic, Ubisoft Connect, Battle.net, and others. Each provider shows a capacity chip in the form free over total accounts. A disabled provider is marked with the Disabled label and dimmed. Select a provider in the rail to load its accounts and settings into the work area on the right.

The header above the work area shows the selected provider name, a master Enabled switch, and live counters: total, Free, Busy, and Held.

The work area has four tabs: General, Accounts, Reservations, and Events.

General Tab

The General tab configures how the selected provider behaves. Changes here are saved through the page level Save button, not a separate button on this tab.

Launcher

  • Launch Arguments: The argument template passed to the launcher. It supports the placeholders {USERNAME}, {PASSWORD}, {EXECUTABLE}, {APP_ID}, and {LAUNCH_URI}. The {APP_ID} and {LAUNCH_URI} values come from the catalog metadata of the launched app.
  • Advanced watcher settings: An expandable area that reveals the Watcher process field. This is an advanced liveness check. Built in providers such as Steam, Epic, Battle.net, and GOG have defaults. If left blank, the client falls back to the executable name from the game shortcut.

The executable path itself lives on each game shortcut in the catalog, not in the pool. The pool owns the credentials, the argument template, and the optional watcher name.

Pricing

  • Charge Method: How the borrowed account is billed. Options are No charge, Per session, Per minute, and Per account switch.
  • Per-session Amount: The amount charged. This field is disabled when the charge method is No charge.

Session Behavior

  • Suspension Window: When a game exits while the customer session is still active, the account stays reserved for this many seconds before it returns to the pool. Set with a slider from 0 to 1800 seconds.
  • Heartbeat Timeout: How many seconds the client may go silent before the account is treated as inactive. Set with a slider from 15 to 600 seconds.
  • Allow during timed sessions: Lets the account be used inside a timed session.
  • Transfer account when session transfers between PCs: Moves the borrowed account along with the session when a session is transferred to another PC.

Customer Access

  • Allow customers to open the launcher directly: Lets customers start the launcher themselves.
  • Capture launcher when it starts manually: Captures the launcher when a customer starts it outside the normal flow.
  • Charge a fee on every account switch: Applies a charge each time the customer switches accounts.
  • Mark for password rotation after release: Flags the account so an administrator can manually rotate its password once it is released.
  • Out-of-licenses Message: The text shown to a customer when every account is busy. Leave it empty to use the default.

Accounts Tab

The Accounts tab lists every account in the selected provider pool. Use the search box to filter by username or label.

Each row shows the row number, Username, Label, Custom Charge, a client visibility marker, Status, Added At, and an Actions column. Status can be Free, Busy, Held, or Disabled. When an account is in use, the assigned client name appears under its status.

Adding and Editing an Account

Use Add License to create an account or the edit action on a row to change one. The editor has these fields:

  • Username: The account login name. Required.
  • Password: The account password. Required when adding. When editing, leave it blank to keep the current password.
  • Label: A free text note, for example a game title.
  • Custom Charge Amount: A per account charge that overrides the provider charge.
  • Visible to customers on client devices: Controls whether the account is offered to customers on the client devices.
  • Notes: Free text notes.

Save is on the left and Cancel is on the right.

CSV Import

Use Import CSV to add many accounts at once. Paste one account per line in the format username,password,label. After import, HandyCafe reports how many accounts were imported, how many duplicates were skipped, and how many rows failed.

Releasing an Account

When an account is Busy or Held, a Force release action appears on its row. Use it to return the account to the pool immediately. The row also has edit and delete actions.

Reservations Tab

The Reservations tab covers accounts promised to specific members. It has two lists.

Active Reservations

Active Reservations lists accounts reserved for a member. Each row shows the Provider, Member, License, Expires, Notes, and an action to remove the reservation. A reservation with no expiry shows Unlimited.

Queued Reservations

Queued Reservations lists requests that are waiting because every account in the pool was busy at the time. Each row shows the Provider, Member, Queued At, Expires, and a cancel action. When an account frees up, the next queued reservation is assigned to it automatically.

Creating a Reservation

Use New Reservation to open the reservation editor.

  • Provider: The provider pool to reserve from.
  • Member: Search for the member by name or username, then select one from the results.
  • Auto-select the first available license: When on, HandyCafe picks the first free account in the pool. When off, you choose a specific License from the list.
  • Queue the reservation if all licenses are busy: Shown when auto select is on. When on, a request that cannot be filled now is queued instead of rejected.
  • Set an expiry: When on, reveals Expires in (hours) so the reservation expires after the chosen number of hours.
  • Notes: Free text notes.

If every account is busy and queuing is off, HandyCafe reports that all licenses are busy.

Events Tab

The Events tab is the audit log for the selected provider. It records account activity over time.

Filter the log with the event type list and the row limit list (50, 200, 500, or 1000 rows), then use Refresh to reload. Each row shows When, Provider, License, Event, the PC, and Member.

Recorded event types include Assigned, Resumed, Release, Held, Suspension expired, Password rotated, Reserved, Reservation released, Denied no capacity, Process died, Manual release, Config changed, Imported, and Created. The Assigned and Resumed events are grouped together in the filter because a resume is recorded as a checkout that continues an earlier assignment.

Where Members See Reservations

A member's reserved accounts appear on their member record under the Game License Reservations section. See Members for member management. The Game Accounts page itself lives within the server settings interface, covered in Settings.