GetClientAuthId provides them all in a reliable way.
Simply follow up on what CrazyHackGUT said, just check the return value:
PHP Code:
if (GetClientAuthId(client, AuthId_SteamID64, steamID64, sizeof(steamID64))) {
/* Do whatever you want with the steamID64 from the SteamID64 variable */
} else {
/* Do something else, when the current steam ID isn't valid (e.g. Steam authentication
problems). Perhaps halt here, and create a timer that will re-check later, such as
for example every 20-30 seconds, and continue until GetClientAuthId returns true? */
}
You know when it returns false that it does not have a proper Steam ID that is verified with the Steam backend....
Following the API and checking the return values properly, means that you have a reliable way.
Being lazy (and most of all: a lousy developer), and not following the documentation properly, ... literally means that it will get as reliable as the developer wants it.
If you need the proper ID (... in a realible way), do the above and decide in the ELSE part;
a) Simply halt the procedures and re-check later using a timer before continuing.
b) Simply kick then client due to failure to validate Steam ID, asking him/her to try re-connecting.
a) Could eventually be made together with something limiting a player's functionality, or forcing them to stay on the spectator team, etc...
__________________