Combat Logger
The Combat Logger prevents players from exploiting disconnects during PvP combat. If a player leaves the server while in combat, they are penalized as if they had died.
How It Works
- A player receives or deals PvP damage → they enter combat state and see "In combat!" (red text).
- After the configured time window passes with no further PvP damage → they exit combat and see "Out of combat" (green text).
- If a player disconnects while in combat → penalties are applied automatically.
Combat tracking is bidirectional — both the attacker and the victim enter combat state when PvP damage occurs.
Dying in the arena clears the victim's combat state immediately, so respawned players in deathmatch modes start fresh.
Penalties by Game Mode
| Mode | What happens on combat disconnect |
|---|---|
| FFA / Team (classic) | The player is marked as dead. The attacker receives the kill. On reconnect, the player enters as a spectator. |
| FFADM / TDM / TCTO (respawning system) | A death is registered and the attacker receives a kill (affects scoreboard). The player can reconnect normally and keep playing. |
When a player is combat-logged, all players in the arena see a broadcast message:
"[Player] disconnected during combat and was counted as killed by [Attacker]."
Reconnect Messages
After reconnecting, combat-logged players see a specific message depending on the game mode:
- Classic modes: "You disconnected during combat. You have been marked as dead and are now spectating."
- Deathmatch modes: "You disconnected during combat. A death has been registered and your opponent received a kill."
Configuration
The combat logger can be configured in config.json:
| Key | Type | Default | Description |
|---|---|---|---|
CombatLogEnabled | boolean | true | Enable or disable the combat logger system |
CombatLogTimeSeconds | integer | 5 | Time window in seconds — if a player disconnects within this time after their last PvP hit, penalties apply |
CombatLogTimeSecondsOverrides | object | {} | Per-category overrides for CombatLogTimeSeconds |
Disabling the combat logger means players can disconnect mid-fight without penalty, which may encourage exploitative behavior.
Per-Category Overrides
You can set different combat log timers per arena category. This is especially important for classic modes without respawns (FFA, Team), where a short default timer could allow players to disconnect between fights, reconnect with full health, and gain an unfair advantage.
{
"CombatLogTimeSecondsOverrides": {
"2-FFA": 180,
"4-T": 180
}
}
For classic modes (FFA, Team) where there are no respawns, set the combat log timer equal to or greater than the match’s TimeLimit. This ensures that once a player takes or deals any PvP damage, they remain "in combat" for the entire match — disconnecting at any point will count as a combat log.
For deathmatch modes (FFADM, TDM, TCTO) where players respawn, the default 5 seconds is usually sufficient since dying resets combat state anyway.
Interaction with Reconnection
The Combat Logger and Reconnection systems work together:
- Player disconnects while in combat → Combat Logger applies penalties immediately.
- Player reconnects → Reconnection system offers the rejoin prompt as usual.
- The player's state upon rejoining depends on the penalties already applied (spectator in classic modes, normal in deathmatch modes).
If the combat logger is disabled, disconnecting during combat incurs no additional penalties beyond the standard disconnect/abandon penalties configured in the rating system.