Satisfactory server analytics, as the factory grows.

A sidecar on the same machine reads the dedicated server's HTTPS API on localhost: server tick against 30 per second, players online, milestones, tier and phase, and uptime. It only connects out.

See how many are playing, when the factory starts costing server tick, and whether the server stayed up overnight.

Free for one server. No card needed.

Questions it answers for Satisfactory servers

What the demo dashboard answers for this game.

Is the factory costing tick?

Server tick against 30 per second as the factory grows.

How many are playing, and when?

Players online over time. The API reports a count, not who, so there are no per-player sessions.

Did it stay up?

Uptime and restarts, with alerts in Discord.

How is progress going?

Milestones, tier and phase over time.

When is everyone online?

Peak hours, from the player count.

When was the session loaded?

Session loads recorded as events, next to server tick and uptime.

What ServerStats tracks on Satisfactory servers

A Linux sidecar on the same machine reads the dedicated server's HTTPS API on localhost with an API token.

Performance

  • Average tick rate every 10 seconds
  • Health check (healthy or slow) and API response time
  • Paused and running state, session loads
  • Host CPU and memory, the server process's CPU and memory

Players

  • Players online and the player limit
  • Peak hours from the player count
  • No names or IDs: the API reports a count, so there are no sessions or retention

Progress

  • Tech tier and game phase, and when each advances
  • The active milestone and every change
  • Total game duration, creative mode, pending server option changes

Uptime

  • Up or down every poll, restarts and downtime
  • Alerts to Discord or email when the server goes down

No install yet? Basic mode uses the Lightweight Query API on UDP 7777: up or down, response time and version, but no player count. Check any Satisfactory server with the free server status checker.

Plugin-specific payment and gamemode integrations for Satisfactory are planned. The general dashboard and payments log work today.

The number that matters: tick rate

30ticks/s
The dedicated server's default tick rate
Read from
QueryServerState
Every
10 seconds
Health check
Healthy or slow
Next to
Tier, phase, players

Satisfactory's dedicated server reports its own average tick rate. Every conveyor, machine and train in the save is simulated inside those ticks, so as the factory grows the tick rate is the first number to show it.

ServerStats reads it every 10 seconds with the tech tier, game phase and milestone, so you can see the tick rate against how far the factory has come, and whether it recovers after a restart or keeps sliding. The server's own health check (healthy or slow) is recorded beside it.

One sidecar, on the same machine.

Works with

  • Satisfactory dedicated server
  • HTTPS API
  • Linux sidecar (Windows soon)
  • Runs next to your server and connects out only. No ports to open.
  • A one-time claim code, then the sidecar signs everything it sends with its own key. No reusable secret is stored on your server or ours.
  • Player IDs are keyed hashes in analytics. Player IP addresses are never sent to us.
serverstats-sidecar.yml
# Linux x64 sidecar (Windows build coming soon)
# 1. serverstats-sidecar init satisfactory > serverstats-sidecar.yml
# 2. In serverstats-sidecar.yml set:
claim: "SS-XXXX-XXXX-XXXX"
satisfactory:
  api_token_file: /etc/serverstats/satisfactory-api-token
# The token comes from server.GenerateAPIToken in the server console.
# 3. serverstats-sidecar run

Satisfactory questions

Why does ServerStats only show a player count?

Satisfactory's API reports how many players are online, not who. So there are no sessions, names or retention, and nothing personal is ever read.

Why a sidecar?

Satisfactory exposes an HTTPS API rather than a plugin system. The sidecar reads it on localhost with an API token and only connects out.

Where do I get the API token?

Run server.GenerateAPIToken in the server console and put the application token in a file the sidecar reads. The sidecar does not use the admin password.

Does it need mods?

No. It works with an unmodded dedicated server.

Can I use basic mode instead?

Yes. Basic mode uses Satisfactory's Lightweight Query API: up or down, response time and version, with nothing to install. The public query has no player count.

Is it free?

Free covers one server with 24 hours of history, forever, with no card. Operator is $9.99 a month for 10 servers and 90 days of history, which you need for week-on-week trends and D7 or D30 retention. Yearly billing gives two months free.

Related games

One ServerStats account covers every game you run.

Start with one Satisfactory server, free

Run the sidecar and see your first numbers today.