This guide explains how to view your license status, trigger a manual verification check, respond to license warnings, and manage server and mobile app updates in the admin panel.
Accessing License & Updates
Navigate to Settings > License & Updates in the admin sidebar. The page has up to five tabs, depending on your permissions:
| Tab | Shows | Required permission |
|---|---|---|
| Overview | License status, plan, warnings, and a version summary | settings:view |
| Updates | Update readiness, preflight status, update trace, and runner status | updates:view |
| Policy | Server auto-update policy | updates:view and updates:manage |
| Mobile App | Mobile app update prompts | settings:view (settings:edit to save) |
| History | License verification history | settings:view |
License Status
The License Status panel on the Overview tab shows:
| Field | Description |
|---|---|
| Status | Current license state (see statuses below) |
| Domain | The domain the license is registered to |
| Plan | Current license plan when signed tier data is available |
| Last Verified | Relative time since the last successful verification check |
| Next Scheduled Check | Relative time until the next automatic check |
When the license server returns signed tier entitlements, the Plan field also shows how many platform features are included in the current plan. If some features are not included, an Upgrade Plan link appears below the panel. Legacy licenses without tier data show a neutral Unknown plan and do not restrict feature toggles by tier.
Status Values
| Status | Meaning |
|---|---|
Valid | License is active and current |
Grace Period | Verification failed but the grace period is still active — all features remain operational |
Invalid | License has expired or been revoked; the platform is in restricted mode |
Not Configured | No license key has been set up |
Unchecked | Server started but has not yet run its first verification |
Automatic Verification Schedule
The server verifies the license automatically:
- Normal interval: every 24 hours
- Grace period interval: every 1 hour (more frequent checks while the license is unresolvable)
Checks are triggered on server startup and then on the schedule above. Triggers are recorded in the Verification History.
Manual Verification
Click Verify Now to trigger an immediate license check outside the normal schedule.
- The button is rate-limited to one manual check per minute per admin account.
- After clicking, the status panel updates to reflect the new result.
- The check is also added to the Verification History.
Grace Period
If a scheduled or startup verification fails, the platform enters a 72-hour grace period. During this time:
- All features remain fully operational.
- A Grace Period Active banner shows how much time is remaining, with a Renew License link.
- Verification checks run every hour until the issue is resolved or the grace period expires.
To exit the grace period, resolve the underlying issue (renew the license, fix a domain mismatch, or restore network access to the verification server) and click Verify Now.
Restricted Mode (Expired License)
If the grace period expires without the license being validated, the platform enters restricted mode:
- New games are disabled — players cannot start new hands or join new tables.
- Existing games already in progress can finish.
- Players can still withdraw funds.
- A red License Expired banner is shown on the Overview tab, with a Renew License link and the support address.
To restore full functionality, renew your license or contact support, then click Verify Now.
Update Available
If a newer version of the poker engine is available, a blue banner appears on the Overview tab. Click View Release Notes to see what is included in the update.
Plan Feature Limits
License plans set the maximum features the installation may use. The license server signs the allowed feature list, and the poker engine verifies that signature locally before applying the tier ceiling.
- Admins can disable any feature.
- Admins can enable only features included in the signed plan.
- Database edits to feature toggles do not bypass route enforcement.
- Cached signed tier data is reused during license-server outages and grace periods.
- Verified downgrades automatically disable features that are no longer included in the plan.
Use Settings > Features to see which features are included or locked by the current plan.
Automatic Updates
The Updates tab controls updates on standard Docker installs. Updates come from the license server’s release feed and are executed on your host by the updater (the "host runner"), with backup, preflight, cutover, and rollback tracing.
The tab has these controls:
| Button | Required permission | What it does |
|---|---|---|
| Check Now | updates:manage | Queues a check for a new release |
| Run Preflight | updates:manage | Queues a preflight of the target release without installing it |
| Apply Update | updates:apply | Opens a confirmation showing the current and target versions, last preflight, and backup, then queues the update |
| Refresh | updates:view | Reloads the status |
Run Preflight and Apply Update stay disabled until the host runner is installed and jq is available, and until an update check has produced a verified signed release manifest. Apply Update also needs an available update. Hover over a disabled button to see the reason.
Only one update command can run at a time. While one is queued or running, the page shows Update in progress, disables these buttons, and polls for status.
Update Readiness Warnings
Review this section before running preflight or applying an update:
| Warning | Meaning |
|---|---|
| Host runner missing | Commands can be queued, but no runner is present on the host to process them |
| Cron scheduler missing | The runner did not report a cron entry, so automatic checks are not scheduled |
| jq missing | The host updater may be unable to fetch and validate release metadata until jq is installed |
| Last preflight failed | Resolve the reported error before applying an update |
| Stale update lock recovered | Confirm no host-side update is still running before applying another one |
| Release metadata incomplete | An update was detected, but release metadata or release notes are missing |
| Release signature not verified | Signed manifest verification is required before preflight or apply |
| Backup metadata not reported or Backup metadata incomplete | Confirm you have a verified pre-upgrade backup before applying an update |
Update Trace and Runner Status
Update Trace shows each stage with its status: License check, Signed manifest, Preflight, Backup, Download package, Load image, Apply cutover, and Rollback. Recent runner output appears below it when log lines are available. Run traces stay readable even when a host-written log file cannot be opened by the app; that log shows as unavailable instead of failing the whole trace.
Runner Status lists the cron and jq state, any pending command, the last check, run, and completion times, the last applied version, the last preflight, the last stale-lock recovery, and the backup details reported by the updater.
When an update finishes, the page shows Update completed, Update failed or rolled back, or Update was skipped, with the installed version or the reason and next step.
In Notify only mode, or with automation disabled, a newly detected release only shows as available. The tab does not report an update in progress until you queue a preflight or apply.
Helm Deployments
On Helm deployments the panel shows Managed by Helm and the update buttons and policy are disabled. Use helm upgrade or helm rollback instead.
Auto-Update Policy
The Policy tab sets the Server Auto-Update Policy. Click Save Policy to apply changes.
| Setting | Options |
|---|---|
| Automation Enabled | Disabled, Enabled |
| Behavior | Notify only, Auto-apply |
| Release Channel | Stable, Beta |
| Allowed Update Level | Patch only, Patch + minor, Any release |
| Check Interval (minutes) | 5 to 1440 |
| Maintenance Window | Disabled, Enabled |
| Window Start (UTC hour) and Window End (UTC hour) | Hours in UTC |
| Maintenance Days (UTC) | Sun to Sat |
Mobile App Updates
The Mobile App tab sets the update prompts for the iOS app, separately from server releases: Latest Mobile Version, Minimum Supported Mobile Version, and iOS Update URL. Click Save Mobile Config to apply changes.
Verification History
The History tab shows the 20 most recent verification log entries. Each entry includes:
| Column | Description |
|---|---|
| Timestamp | When the check was performed |
| Result | Outcome of the check (valid, grace_period, network_error, invalid, etc.) |
| Trigger | What initiated the check: Startup, Scheduled, or Manual |
Related
- Settings — Features Tab — enable/disable platform features
- Security Administration — account and audit controls