diff --git a/engine/server/sv_main.c b/engine/server/sv_main.c index 3d8dd01af..85f798cb6 100644 --- a/engine/server/sv_main.c +++ b/engine/server/sv_main.c @@ -1677,7 +1677,6 @@ client_t *SVC_DirectConnect(void) newcl->userid = nextuserid; newcl->fteprotocolextensions = protextsupported; newcl->protocol = protocol; - newcl->realip_ping = rand(); if (sv.msgfromdemo) newcl->wasrecorded = true; @@ -1941,6 +1940,8 @@ client_t *SVC_DirectConnect(void) // spectator mode can ONLY be set at join time newcl->spectator = spectator; + newcl->realip_ping = (((rand()^(rand()<<8) ^ *(int*)&realtime)&0xffffff)<<8) | (newcl-svs.clients); + // parse some info from the info strings SV_ExtractFromUserinfo (newcl); SV_GenerateBasicUserInfo (newcl);