
invalid guid bug
#1
OFFLINE
Posted 04 July 2012 - 08:56 AM

#2
OFFLINE
Posted 04 July 2012 - 09:19 AM

EDIT:
Or did you mean only new players connecting to the server gets kicked? Because I checked and couldn't see a reason for this to happen for old players. This is unfortunate but, it happens because the mod ensures all the players have a silEnT GUID before they enter the game and if they don't have, they get kicked. In the 0.5.1 it was not checked. IT seemed that it happens only for the exact moment when the warmup ends. If clients connect to the game(spectators) before the warmup ends, they have no problems.
#3
OFFLINE
Posted 04 July 2012 - 09:36 AM

Edited by Dookie, 04 July 2012 - 09:36 AM.
#4
OFFLINE
Posted 04 July 2012 - 10:08 AM

#5
OFFLINE
Posted 04 July 2012 - 10:23 AM

#6
OFFLINE
Posted 04 July 2012 - 11:41 AM

I would rather look at:
// connect and begin all the clients for ( i = 0 ; i < sv_maxclients->integer ; i++ ) { client = &svs.clients[i]; // send the new gamestate to all connected clients if ( client->state < CS_CONNECTED ) { continue; } if ( client->netchan.remoteAddress.type == NA_BOT ) { if ( SV_GameIsSinglePlayer() || SV_GameIsCoop() ) { continue; // dont carry across bots in single player } isBot = qtrue; } else { isBot = qfalse; } // add the map_restart command SV_AddServerCommand( client, "map_restart\n" ); // connect the client again, without the firstTime flag denied = VM_ExplicitArgPtr( gvm, VM_Call( gvm, GAME_CLIENT_CONNECT, i, qfalse, isBot ) ); if ( denied ) { // this generally shouldn't happen, because the client // was connected before the level change SV_DropClient( client, denied ); if ( ( !SV_GameIsSinglePlayer() ) || ( !isBot ) ) { Com_Printf( "SV_MapRestart_f(%d): dropped client %i - denied!\n", delay, i ); // bk010125 } continue; } client->state = CS_ACTIVE; SV_ClientEnterWorld( client, &client->lastUsercmd ); }
To check if the player was CS_ACTIVE before the new GAME_CLIENT_CONNECT and only in that case make the SV_ClientEnterWorld call. This is some thoughts for the case if there are engine programmers out there who can test and possibly apply this kind of change. I do think this might have something to do with the shuffle bug as well. The bug when connecting client gets shuffled and for some reason some teammate uniforms can get mixed with the enemy uniforms for him.
#7
OFFLINE
Posted 04 July 2012 - 12:34 PM

#8
OFFLINE
Posted 04 July 2012 - 12:46 PM

EDIT:
I remember when doing the cg_ident one of the problems was that the server remembered the old cg_ident from the player even without the client being reconnected. Are you sure I have not misunderstood what you were saying about the bug? This does happen to players who have already played on the previous map?
EDIT2:
Sorry, I indeed misunderstood this.
it happends like to everyone, if you are connecting during the warmup time and when warmup ends and ur still connecting u get kicked for invalid silent guid, and have to reconnect again, warmup on my server is like 10 seconds i believe..never seen this happening in 0.5.1, but had the same warmup time and alll..
Yes. This bug is known and it of course needs to be resolved somehow. However, it does not concerns players already playing on the server but only those unfortunate ones that happen to connect just when the warmup is ending and they don't have enough time to send their userinfo before the ClientBegin is forced on them.
After quick testing the earlier proposition I made about the engine side fix, it is not that simple. It seems to generate a new type of bug where player never enters the world in the same conditions of connecting just at the end of the warmup. Nevertheless, there is a bug in this matter.
#9
OFFLINE
Posted 16 July 2012 - 08:33 AM

The immediate help in your case would be to make g_warmup longer so the players already playing would have time to connect before the warmup ends. Though I must say I'm a little surprised the sil_guid is not in the engine stored userinfo after map change. I would actualy still like to see more log entrys for the map changes where the existing players don't fully connect before the warmup ends.
EDIT:
I remember when doing the cg_ident one of the problems was that the server remembered the old cg_ident from the player even without the client being reconnected. Are you sure I have not misunderstood what you were saying about the bug? This does happen to players who have already played on the previous map?
EDIT2:
Sorry, I indeed misunderstood this.
Yes. This bug is known and it of course needs to be resolved somehow. However, it does not concerns players already playing on the server but only those unfortunate ones that happen to connect just when the warmup is ending and they don't have enough time to send their userinfo before the ClientBegin is forced on them.
After quick testing the earlier proposition I made about the engine side fix, it is not that simple. It seems to generate a new type of bug where player never enters the world in the same conditions of connecting just at the end of the warmup. Nevertheless, there is a bug in this matter.
ok, so is this gonna b fixed in 0.5.3? Cuz like on every map I got sum people kicked for invalid silent guid, sum of them reconnect but sum doesnt, its still makin me lose sum publicity...I think this requires sum urgent action. Thank you for reading!
#10
OFFLINE
Posted 16 July 2012 - 08:48 AM

This will be fixed in new version of ET 3.00. ( 0.6.5 version ).To check if the player was CS_ACTIVE before the new GAME_CLIENT_CONNECT and only in that case make the SV_ClientEnterWorld call. This is some thoughts for the case if there are engine programmers out there who can test and possibly apply this kind of change.
- hellreturn likes this
#11
OFFLINE
Posted 16 July 2012 - 08:49 AM

This will be fixed in new version of ET 3.00. ( 0.6.5 version ).
ok Sol, thanks alot, and ofc thx to Paul!

#12
OFFLINE
Posted 16 July 2012 - 08:49 AM

EDIT:
Replying while sol was writing,
That is great sol!
#13
OFFLINE
Posted 16 July 2012 - 08:59 AM

The same issue happens originally if players connect right at the end of the intermission. I would prefer this was fixed in the engine side rather then making messy combinations in the mod but sure it can be looked at. Do note that if player gets this kick during the map and not because of the intermission, it happens because he is spoofing his guid.
EDIT:
Replying while sol was writing,
That is great sol!
true that!

#14
OFFLINE
Posted 27 July 2012 - 10:54 AM

#15
OFFLINE
Posted 27 July 2012 - 11:45 AM

As Gaoesa said this is the problem of the engine and 'mod' can't fix itso now we can expect only someone of silent modders to fix it :/
Edited by Sol, 27 July 2012 - 11:47 AM.
#16
OFFLINE
Posted 27 July 2012 - 12:02 PM

This was to be fixed in this version but we were forced to release version without this because it fix one of the critical bug.
As Gaoesa said this is the problem of the engine and 'mod' can't fix it
so Sol, any chance then that u nd Paul fix it?
#17
OFFLINE
Posted 28 July 2012 - 04:43 AM

Most of players dont know to do in console /reconnect
#18
OFFLINE
Posted 28 July 2012 - 08:10 AM

#19
OFFLINE
Posted 28 July 2012 - 08:35 AM

only fix is to lower g_intermissionTime lol
yeh, but then people dont have time to vote for maps...ive got only like 25 secs intermission... :/
#20
OFFLINE
Posted 28 July 2012 - 09:43 AM

0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users