How to Find a Player's SteamID (Live and From Logs)

April 23, 2026 Daemon666 8 min read 13 wyświetleń

Almost every moderation action on a CS 1.6 server starts with one thing: the offender's SteamID. You need it to ban the person rather than a name they can change or an IP they share with an ISP. This covers getting the ID while they are connected, digging it out of the logs after they leave, the non-Steam wrinkles, and turning the ID into a ban that survives a restart.

1. Live, from the console: status

The fastest method. In the server console or over RCON:

status

Each connected player prints a block like:

# userid name                unique                team
# 12 "Nova"     STEAM_0:1:12345678   CT   45 67ms

The unique column is the SteamID (STEAM_0:x:yyyyyyyy), and the leading #12 is the userid — the transient slot number you use for kick and RCON commands during this session. The SteamID is the stable identity; the userid resets every map.

2. Live, from in-game admin: amx_who

With AMX Mod X, an admin can run in chat or console:

amx_who

It lists every player with their name, SteamID (authid), current access flags and immunity. This is the admin-friendly version of status and it also tells you at a glance who else on the server has admin. It reads identities from configs/users.ini, the same file that defines your admin flags.

3. From the logs, after they left

Server logs live in cstrike/logs/ as dated L*.log files, and every connect line carries the SteamID. Grep for the name or the action:

cd /home/steam/hlds/cstrike/logs
grep -i "nova" L*.log

Connect and kill lines embed the ID in angle brackets:

"Nova<12><STEAM_0:1:12345678><CT>" killed "Ghost<9>..."

The three fields in the brackets are name, userid, and SteamID. Even if you missed the player live, the log has their ID as long as logging is on (log on, mp_logdetail 3 — see essential cvars).

4. The non-Steam cases

SteamIDs are only trustworthy on a server that validates them. On a non-Steam server running Reunion or dproto, IDs depend on the client:

  • A pending client may briefly show STEAM_ID_PENDING before resolving.
  • Reunion can be configured to hand non-Steam clients generated, stable IDs — but two different people with the same cracked client can collide unless it is configured correctly. See duplicate SteamIDs on non-Steam.
  • The 0 vs 1 in STEAM_0:X: is the auth server digit and is part of the ID — do not "normalize" it away when banning.

On a mixed server, treat the SteamID as the identity but keep the IP as a secondary signal for repeat offenders whose IDs you cannot trust.

5. Turn the ID into a persistent ban

Once you have the SteamID, ban it. With AMX Mod X the clean way is a command that writes the ban and boots them in one step:

amx_ban 30 "Nova" cheating          // ban a connected player, 30 minutes
amx_addban "STEAM_0:1:12345678" 0 cheating   // ban by ID, 0 = permanent

At the engine level the same is done with banid, and the crucial second step is persistence:

banid 0 STEAM_0:1:12345678
writeid

writeid is what saves the ban to banned.cfg so it survives a restart; a banid without it evaporates on the next map or reboot. For IP bans the pair is addip / writeip, and listid / listip show the current lists. A menu-driven ban manager or the admin menu wraps all of this so you never fat-finger a raw banid.

Common errors

  • Ban gone after restart — you ran banid without writeid (or addip without writeip). The ban was never written to disk.
  • amx_ban says no such player — the player already disconnected; use amx_addban with the SteamID from the logs instead.
  • Banned the wrong person — you used the userid (#12) as if it were stable. It is a per-session slot; always ban the SteamID.
  • Non-Steam ban does not stick — the client's ID changes between sessions. Reunion needs a proper SteamIdHashSalt and configuration; an IP ban may be the only reliable lever.
  • SteamID missing from logs — logging was off. Set log on and mp_logdetail 3 before you need it.

Verification

Run status and confirm you can read the SteamID of everyone on the server. After banning, check the list persisted:

listid

The banned SteamID should appear. Restart the server and run listid again — if it is still there, writeid did its job and the ban is permanent. If it vanished, you skipped the write step.

Współtwórcy: Daemon666 ✦
Udostępnij: