The heartbeat makes sure every player’s game stays connected to protection. Each player’s game checks in with your server while they play. If those check-ins stop, your server treats that player as unprotected and acts on it.
There is nothing to configure.
Why it exists
Client-side checks only protect a player while they are running, and switching them off is one of the first things a cheat tool tries. Without a heartbeat, a player who had switched the anti-cheat off would look the same as a normal player.
The heartbeat removes that gap by treating silence as a problem rather than waiting to be told about one.
A missed check disconnects, never bans
A single missed check-in is not treated as suspicious — a frame drop, a poor connection or a heavy resource can all delay one, so players get several chances first.
If nothing arrives at all, the player is disconnected, not banned, and can reconnect immediately:
[asphyxia.dev] You have lost connection to the AntiCheat, you may reconnect.A player whose game froze comes straight back. A player who removed the anti-cheat is disconnected again each time.
Missed check-ins are recorded against the player and show on their record on the Players page. A few over a long session usually means a poor connection. Repeated failures are worth looking at.
What you will see
Normal operation is silent. These are the messages the heartbeat produces:
[Asphyxia.] › ⚠ warn Disconnected Playername (ID 12) — their client stopped
responding to the anti-cheat.
[Asphyxia.] › ⚠ warn Disconnected Playername (ID 12) — their client never
checked in with the anti-cheat after joining.Occasional lines are normal on a busy server. A sudden burst usually means one of your own resources is freezing players’ games rather than an attack. See Troubleshooting.