FloatPilot User Guide

Idle Session Statistics

This guide explains how FloatPilot.App reports game-account idle-session results and how to view the current summary and hourly history in the member website.

The website entry point is My Game Accounts. In the App, the switch is shown above the selected game-account tab as “Enable web statistics”.

Important: statistics are linked to the game login account, not the character name. The LoginUsername used by the App must exactly match the login account added on the website. Reporting periods and query values are based on UTC.

Quick start

Add the game account on the website first

  1. Sign in to the member website and open My Game Accounts.
  2. Select “Add game account”.
  3. Enter the game login account used by the App; do not enter the character name. The display name is only for your own reference.
  4. Save it and confirm that the account appears in the list.
  5. The App must sign in with the same LoginUsername. A spelling or account difference means a different account.

The game login username must be 4–10 alphanumeric characters, and the display name must be 1–10 characters. One active game login account can belong to only one member. A member may add multiple game accounts up to the quota of the current plan.

Enable web statistics in the App

  1. Select the game-account tab to monitor.
  2. Turn on “Enable web statistics”.
  3. Keep the account connected and wait for the character to finish loading.
  4. Wait for the next UTC hour boundary.
  5. On the website, use “Current summary” for the latest accepted report or “Hourly history” for individual periods.

The switch is independent for each game account and is off by default. It is saved in that account’s INI. Turning it off does not stop the authorization heartbeat or sign the App out; it only controls web statistics reporting.

What is collected

There are two views, and they serve different purposes.

Current summary

The current summary is the latest successfully accepted snapshot for a game account. It includes:

Category Contents
Account and character Login account, character name, player ID, and level
Character experience Current-level experience / experience remaining to the next level; this is not lifetime experience from level 1
Character status Character HP/SP, map and position, and online/offline status
Fight pet Fight-pet level, experience progress, and fight-pet HP/SP
Other state Gold, inventory usage, and cumulative battle, kill, death, disconnect, reconnect, character-experience, and loot counters

“Character HP/SP” and “Fight-pet HP/SP” are values from the latest accepted report, not a per-second live read. If no report has been accepted yet, the website does not fabricate a zero-valued record.

Hourly history

Hourly history stores deltas for one reporting period:

  • Battle, kill, and death counts.
  • Disconnect and reconnect counts.
  • Net character experience gained during the period.
  • Character level and experience progress at the report time.
  • Fight-pet level, experience progress, and fight-pet HP/SP at the report time.
  • Fight-pet experience details and per-item loot details.

Character and pet experience gains are net gains. If the game removes experience after a death, that loss is reflected in the net result. Hourly history uses the same “current-level experience / experience remaining to next level” progress display.

Reporting frequency and time

App reporting frequency

The App does not upload once per minute. It performs one statistics tick at each UTC hour boundary, such as 11:00 UTC and 12:00 UTC. A report normally covers the previous complete UTC hour, represented as [start, end); the first report may start at the time the baseline was enabled or captured and therefore cover less than one hour.

Enabling the switch does not create an immediate record. The App first captures a baseline and reports at the next eligible UTC hour boundary, so the first record may require waiting until the next hour.

Reconnects, character changes, and re-enabling statistics can start a new statistics session. Disabled time is not backfilled after the switch is enabled again.

Website time fields

Hourly-history filters are labeled “UTC start” and “UTC end”. The range may cover at most seven days, and the end cannot be in the future. Result timestamps may be rendered in the member’s configured time zone and show the active offset, but period boundaries are still cut at UTC hours.

For example, a period from 10:00 UTC to 11:00 UTC is sent at 11:00 UTC; it is not created at the beginning of the period.

When data is recorded

The App can create and send an hourly report when all of the following are true:

  1. The game login account was added on My Game Accounts.
  2. It belongs to the current member, and the App LoginUsername matches exactly.
  3. “Enable web statistics” is on for that App account.
  4. The game account is connected and its character has finished loading.
  5. An eligible UTC hour boundary has been reached.
  6. The authorization session, signature, plan, and report payload pass website validation.

When data is not recorded

Any of these can result in no data, an old current summary, or no row for an hourly period:

  • The account was not added, or it belongs to another member.
  • The website account and App LoginUsername differ; a matching character name does not replace account matching.
  • The App statistics switch is off. A missing setting also defaults to off.
  • The game is disconnected, the character is not ready, or the account disconnects before the hour tick.
  • The next UTC hour boundary has not been reached.
  • Authorization, session, signature, or build validation fails.
  • The network or website rejects the POST. The attempted period is dropped and is not automatically retried later.
  • The query is outside the latest seven days or has an invalid UTC range.

The statistics switch controls web statistics only. Authorization heartbeats can still run while statistics reporting is disabled.

How to query the website

  1. Open My Game Accounts.
  2. Use “Current summary” to check whether the account has an accepted report.
  3. Select “Hourly history” to inspect each period.
  4. Enter UTC start and end values; the range must not exceed seven days.
  5. Select “Query”. Use “View details” to inspect pet experience and loot items.

If the page says that no data was found, check the member binding and exact LoginUsername first, then the App switch, character readiness, and whether the next UTC hour boundary has passed.

Retention and cleanup

Hourly history is currently retained for seven days. The website maintenance service runs once per day; the current setting is 03:30 in the server’s local time. It removes history whose period end is older than seven UTC days, cleaning pet and loot detail rows before the hourly parent rows.

A record that has just passed seven days may remain until the next daily cleanup run. The current summary and cumulative account counters are a current projection and are not the same as the seven-day hourly-history retention window.

Common issues

Why does the website show offline while the App is online?

The website online flag comes from the last successfully accepted statistics report, not directly from the authorization heartbeat. A newly connected account, an account-name mismatch, a failed report, or a report before the next UTC hour can leave the website showing an older offline state. Verify the binding and switch, then wait for the next UTC hour.

Why is hourly history empty?

Common causes are that the next UTC hour has not arrived, the character was not ready, the account belongs to another member, or the filter is outside the seven-day window. A failed POST is not retried automatically.

Why is disabled time missing after re-enabling statistics?

This is expected. Re-enabling captures a new baseline so disabled time is not uploaded retroactively.

Why is character experience not lifetime experience?

The progress field intentionally shows current-level progress as “experience in the current level / experience remaining to the next level”. Period gains and cumulative gains are separate statistics.

Final checklist

  • The game login account was added on My Game Accounts.
  • The App LoginUsername exactly matches the website account.
  • The account belongs to the current member and is not bound to another member.
  • “Enable web statistics” is on for the App account.
  • The game is connected and the character is loaded.
  • The next UTC hour boundary has passed.
  • Hourly-history filters use UTC and cover no more than seven days.
  • You understand that hourly history is retained for seven days and disabled time is not backfilled.