Jump to content

  • Log in with Facebook Log in with Twitter Log In with Google Log In with Steam Sign In
  • Create Account
Photo

invalid guid bug

* * * * * 1 votes

  • Please log in to reply
50 replies to this topic

#1
OFFLINE   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia
Hello, in this 0.5.2 version when people are connecting, during the warmup time, and warmup ends mostly everyone gets kicked for invalid silent guid, and then they have to reconnect on server, heavent seen that in 0.5.1 version...

#2
OFFLINE   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
It usually happens when players are connect to the server just when the server restarts after warmup. How long is the warmup period on your server?

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   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia
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..

Edited by Dookie, 04 July 2012 - 10:36 AM.


#4
OFFLINE   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
I think I have found the reason for this. The engine is calling the mod side ClientBegin after warmup even to the players who have not yet been properly reconnected. I don't have the means to reproduce this because even on my network test server I connect before the warmup ends. Even when setting g_warmup to 0. There seems to be no way to completely prevent the warmup or I didn't find it.

#5
OFFLINE   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
Could you pm me part of a log file for map change to warmup end and some player(s) getting dropped.

#6
OFFLINE   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
I have found the information I was looking for from the logs. This problem is very problematic because it is important the mod doesn't allow players without proper silEnT GUID to play. However, the SV_MapRestart_f in the engine side does force the ClientBegin in the mod side to execute for everyone after the warmup ends. This falsely sets the players to the fully connected state on the server.

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   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia
so what we can do about it?

#8
OFFLINE   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
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.

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   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia

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   Sol

Sol

    Regular Member

  • Coders
  • PipPipPip
  • 113 posts
28
On a distinguished road
  • LocationPoland

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.

This will be fixed in new version of ET 3.00. ( 0.6.5 version ).

#11
OFFLINE   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia

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   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
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!

#13
OFFLINE   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia

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   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia
This hasnt been fixed in ET 3.00, 0.6.5, so now we can expect only someone of silent modders to fix it :/

#15
OFFLINE   Sol

Sol

    Regular Member

  • Coders
  • PipPipPip
  • 113 posts
28
On a distinguished road
  • LocationPoland
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.

so now we can expect only someone of silent modders to fix it :/

As Gaoesa said this is the problem of the engine and 'mod' can't fix it

Edited by Sol, 27 July 2012 - 12:47 PM.


#16
OFFLINE   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia

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   wawin

wawin

    Member

  • Members
  • PipPip
  • 38 posts
4
A step in the right direction
I have this version ET 3.00 - TB 0.6.6 linux-i386 installed and the same problem.
Most of players dont know to do in console /reconnect

#18
OFFLINE   clan DIABOLIK

clan DIABOLIK

    Advanced Member

  • Members
  • PipPipPipPip
  • 322 posts
36
Getting Better

so what we can do about it?

only fix is to lower g_intermissionTime lol
:ph34r:

#19
OFFLINE   Dookie

Dookie

    Advanced Member

  • Members
  • PipPipPipPip
  • 420 posts
55
Getting Better
  • LocationCroatia

only fix is to lower g_intermissionTime lol
:ph34r:


yeh, but then people dont have time to vote for maps...ive got only like 25 secs intermission... :/

#20
OFFLINE   gaoesa

gaoesa

    Advanced Member

  • Management
  • PipPipPipPip
  • 4391 posts
341
Will become famous
  • LocationFinland
The issue is only about new connections during warmup. Intermission is not related. Also, it can prevent many mystery bugs so the actual bug should be fixed in the engine for many reasons.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users