Skip to content

portslie How it works

How portslie measures

Every check tests three things in a row: whether the port is open, whether the service answers in its protocol and whether the answer makes sense. An alert only goes out when it fails twice in a row.

Three levels, in this order

Every check runs through all three. The highest level reached is reported. Only level 3 means: visitors and players get in.

Check rp.example.net:30120 · FiveM Example targets, message wording taken from the code
  1. 1

    Port reachable

    Something accepts the connection. That proves nothing more, not even a Docker proxy in front of a dead process.

    tcp 203.0.113.24:30120 · connected · 21 ms
  2. 2

    Protocol responds

    The service answers the same query that browsers or game clients send before they show anything.

    GET /info.json · 200 · 38 ms
  3. 3

    Content plausible

    The answer makes sense: slots set, version reported, enough resources loaded. A server with four resources is still starting up.

    41/64 players · 212 resources

One incident, minute by minute

A FiveM server crashes at 20:17. The container keeps running, Docker keeps accepting connections on the port. This is how it looks to a port check and this is how it looks to portslie.

RP-Server FiveM · 203.0.113.24:30120 Schematic

One check per minute, in time-lapse. Bar height = level reached.

Port checkTCP :30120
40 of 40 green
portslieFiveM /info.json
Incident 13 minutes
  1. Server crashed. Docker keeps accepting connections.
  2. Second bad check: alert to Discord.
  3. Level 3 reached: resolved.

One alert per outage

Monitoring that reports every twitch gets muted. That is why three rules apply.

Only after two bad checks
A single lost ping is not an outage. An incident starts when two checks in a row are below level 3.
The change is what gets reported
One message for the outage, one for the recovery, quiet in between. No repeats every minute.
If it gets worse, portslie reports it
If a server drops from level 1 to “unreachable”, a second message follows. It stays one incident.
How an alert arrives in Discord, wording taken from the code
portslieWebhook
Outage: RP-Server
RP-Server (fivem, 203.0.113.24:30120)
Level 1 of 3 — port open, service not responding

Port open, but /info.json does not answer: TimeoutError: timed out

The port is open, but the service is not responding.

https://portslie.com/ziele/7
resolved: RP-Server
RP-Server (203.0.113.24:30120) is responding normally again.
The outage lasted 13 minutes.

https://portslie.com/ziele/7

The experiment

Since 20 September 2026 our test instance has been checking example.com:443 as a Minecraft server. A web server runs there, not a game. A port check would still have reported green almost every time.

Sep 20, 03:45 to Sep 24, 2026, 22:51 · checked every 5 minutes
Checks1,293
Port open1,288
Valid answer as a Minecraft server0
24.09. 22:51  Stufe 1  29 ms  Port offen, aber kein gueltiger Server-List-Ping
24.09. 22:46  Stufe 1  23 ms  Port offen, aber kein gueltiger Server-List-Ping
24.09. 22:41  Stufe 1  25 ms  Port offen, aber kein gueltiger Server-List-Ping

Know before your visitors notice.

Three targets are free. You see the first result after the first check.

3 targets · checked every 5 minutes · no payment details