Counter-Strike 1.6 Updated April 27, 2026

How to Enable and Read CS 1.6 Server Logs

Enable game logging, understand the HLDS log format, find AMX Mod X logs, and set up log-based stats tools like HLStatsX CE.

Counter-Strike 1.6CS 1.6server logsloggingHLStatsXGameMeAMX Mod X

Enable Logging in server.cfg

Add these cvars to cstrike/server.cfg:

log on
mp_logfile 1
mp_logmessages 1
mp_logresolve 0
mp_logdetail 0

log on — enables the logging system. Without this, nothing gets written.

mp_logfile 1 — writes logs to files in cstrike/logs/. Without this, logs only print to the console.

mp_logmessages 1 — includes player chat in the logs. Useful for moderation.

mp_logresolve 0 — keep this off. When enabled, the server does a DNS reverse-lookup on every player's IP to get a hostname. This adds latency to every connection and provides no useful information. Leave it at 0.

mp_logdetail — controls damage logging verbosity. 0 logs kills only. 3 logs every bullet hit with weapon, location, and damage. Useful for stats tools but generates large log files.

Log File Location

Logs are written to:

cstrike/logs/LYYYYMMDD.log

A new file is created each day. The filename format is L followed by the date: L20260427.log.

Log Format

Every line follows the HLDS standard format:

L 04/27/2026 - 14:32:01: "PlayerName<12><STEAM_0:0:12345678><CT>" killed "OtherPlayer<7><STEAM_0:0:87654321><TERRORIST>" with "ak47"

Breaking that down:

  • L — HLDS log prefix
  • 04/27/2026 - 14:32:01 — timestamp
  • "PlayerName<12><STEAM_0:0:12345678><CT>" — player name, entity ID, Steam ID, team
  • killed — event type
  • with "ak47" — weapon

Key Log Event Types

Event text What it means
killed Player kill
committed suicide Self-kill
connected, address Player connected
disconnected Player left
joined team Team change
World triggered "Round_Start" Round began
World triggered "Round_End" Round ended
World triggered "Game_Commencing" Halftime or game start
Team triggered "Win" Team win event
say Public chat
say_team Team chat
Bad rcon_password Failed RCON attempt

AMX Mod X Logs

AMX writes its own logs separately:

cstrike/addons/amxmodx/logs/

These include plugin load errors, admin actions (kicks, bans, map changes), and any plugin-specific logging. Check here first when a plugin isn't behaving — the error message is almost always in this directory.

AMX creates a new log file each day using the same LYYYYMMDD.log naming convention.

Log-Based Stats Tools

The HLDS log format is standardized and several community tools parse it to generate player stats:

HLStatsX CE — the classic web-based stats system. Runs a Perl daemon that reads your logs in real time (or parses existing logs) and populates a MySQL database. Generates leaderboards, weapon stats, kill feeds, and player profiles. Open source, self-hosted.

GameMe — cloud-based stats service. Point it at your server's log output and it handles everything. Easier to set up than HLStatsX but requires sending your logs to a third-party service.

Both tools expect the standard HLDS log format, so as long as logging is enabled correctly, either will work out of the box.

Rotating Old Logs

Log files accumulate fast on active servers with mp_logdetail 3. Set up a cron job to compress and rotate them:

# Add to crontab: daily log compression
0 3 * * * find /home/gameserver/hlds/cstrike/logs -name "*.log" -mtime +7 -exec gzip {} \;

This compresses logs older than 7 days at 3 AM daily.