0 points - posted 2985 days ago by Redh3ad - status: Active - 4 comments watch embed this
With Left 4 Dead, Valve changed the first part of steamids from STEAM_0 to STEAM_1. The 'old' games (TF2, CSS, HL2DM, ...) still use STEAM_0.

That breaks things like banlists or adminlists that are shared between servers of different games. Remember the trouble and confusion when Valve changed the ids for TF2 some months ago (they restored the old ids after everyone changed his banlists, adminlists and stats databases).

The solution of this problem is to strip the 'STEAM_X' part from the full id or to store ids as integers (double the last part and add the second part: STEAM_0:1:123 -> 247).

A getsteamint function should be added to ES to encourage scripters to use the integer instead of the string.

PatPeter posted on 2009-11-27 17:03:24
Why double the last part?

Redh3ad posted on 2009-11-27 17:08:10
If you don't double the last part, STEAM_0:0:124 and STEAM_0:1:123 would be the same Int: 124 (after adding the second part)

PatPeter posted on 2009-11-27 17:10:38
You can't just make it 0124 and 1123?

Redh3ad posted on 2009-11-27 17:15:11
Nope, 0124==124
also STEAM_0:1:123 and STEAM_0:0:1123 => 1123