[quake3-bugzilla] [Bug 5270] Misc small bugfixes (patch included)

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Fri Oct 7 18:55:26 EDT 2011


--- Comment #2 from Kuehnhammer Tobias <kuehnhammertobias at gmx.at> 2011-10-07 18:55:24 EDT ---
(In reply to comment #1)
> why is it required to disconnect clients when they connect without
> disconnecting (for example, because of a client that was "kill -9"d)? Tremulous
> uses this opportunity to let a player continue playing without impacting its
> entity (ie., the player will continue to play from the same location, with the
> same amount of health and armament, etc.).

I am not sure why, but I sometimes got a blue screen if I disconnect and/or 
reconnect from/to a game hosted on the same machine where to connect (yes, I 
know this is no common scenario, but anyway...) it was there since 1.32b on 
Win 2000, Xp... until now. Since I applied the above solutions, the blue screen
never happened again. I never figured out why, because the problem is that the
whole connect/disconnect, map restart/configstring thing is critical in some
situations. I still think there must be "one evil bug" which does many bad
things but was never discovered. This "one evil bug" breaks configstrings
on map restarts and after disconnecting.

Here are two scenarios where you can see how critical a restart could be:

1. Fire up a CTF match and add a bot to your team.
2. Command the bot to follow you.
3. Do a map restart.
4. Now watch the bot you commanded to follow!

The silly strafing the bot will do is because of the function 
"BotReadSessionData", where the teamgoal.mins/maxs/origin will be called but 
was never set correctly. The interesting thing here is if you correct those 
values accordingly (which is a lot of wasted work) and another human player 
will disconnect and reconnect the bot will not find this player to follow. (and
if I remember correctly, the game sometimes will crash) So, DON'T DO THIS! I 
only wanted to discribe how reconnecting can break strings! Or, if I am wrong,
how at least disconnecting players can affect things that should not been
affected (in this case players (entities) and there origin).

Another thing I never ever understand is the problem with the function 
"SetLeader" where CON_DISCONNECTED will return no leader vs."SetTeam" where 
"CheckTeamLeader" should set a leader. Sometimes no leader is set, and with 
"g_teamAutoJoin" (or was it "g_teamForceBalance") there was (is) a bug I can't
remember. Anyway, interesting here is, if ever I tried to fix this, I had 
problems with already disconnected players. I never found a solution for this 
problem, but I bet that a not correct connected/disconnected player infostring
caused problems here again.

And finally, bots still hunt for disconnected clients...., but maybe that is 
another story!

Anyway, I am more concerned with AI programming, so if you tell me that I did 
(or understand) something wrong, I will respect that!
... and thanks for your response,

Tobias Kuehnhammer

Configure bugmail: https://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

More information about the quake3-bugzilla mailing list