MantisBT - Zandronum
View Issue Details
0000544Zandronum[All Projects] Bugpublic2011-08-01 17:042018-09-30 22:54
unknownna 
Torr Samaho 
normalmajorsometimes
closedfixed 
1.0 
2.0 
0000544: Client can't fire selected weapon after "changemap" map changes in COOP when being telefragged
Your client will not be able to fire its weapon after "changemap" map changes in COOP modes if you're telefragged.
1. Start a COOP server with the example WAD loaded.
2. Add 4 bots to the server.
3. Connect a client to the server.
4. Join the game.
5. "give plasmarifle" in the console.
6. Select the plasma rifle.
7. "changemap map01" in the server console.
8. Repeatedly tap +attack in a fast manner until the desync appears.

If the desync doesn't appear, repeat step 7 and 8.
The switchonpickup setting seems to have an effect here. If switchonpickup is set to 0, your fist will sometimes be selected after the "changemap" map change.
No tags attached.
related to 0000193closed Torr Samaho Able to fire weapon before it's passed A_Raise 
parent of 0001116resolved Kaminsky Client fires weapon too early after respawning 
related to 0002255closed Torr Samaho Weapon desync regression 
? weapon_changemap_desync_test_01.wad (680) 2011-08-01 17:04
https://zandronum.com/tracker/file_download.php?file_id=407&type=bug
png Screenshot_Doom_20110801_185549.png (27,949) 2011-08-01 17:05
https://zandronum.com/tracker/file_download.php?file_id=408&type=bug
png

png Screenshot_Doom_20110808_020000.png (20,541) 2011-08-08 00:03
https://zandronum.com/tracker/file_download.php?file_id=412&type=bug
png

png Screenshot_Doom_20110809_153716.png (68,704) 2011-08-09 13:43
https://zandronum.com/tracker/file_download.php?file_id=413&type=bug
png

? 2011.08.11_00.56.33_doom2.cld (121,008) 2011-08-10 22:59
https://zandronum.com/tracker/file_download.php?file_id=414&type=bug
Issue History
2011-08-01 17:04unknownnaNew Issue
2011-08-01 17:04unknownnaFile Added: weapon_changemap_desync_test_01.wad
2011-08-01 17:05unknownnaFile Added: Screenshot_Doom_20110801_185549.png
2011-08-01 17:08unknownnaAdditional Information Updatedbug_revision_view_page.php?rev_id=1049#r1049
2011-08-01 17:13unknownnaStatusnew => confirmed
2011-08-01 23:16Torr SamahoNote Added: 0002053
2011-08-01 23:16Torr SamahoStatusconfirmed => feedback
2011-08-02 03:26unknownnaNote Added: 0002054
2011-08-02 03:26unknownnaStatusfeedback => new
2011-08-02 03:35unknownnaNote Edited: 0002054bug_revision_view_page.php?bugnote_id=2054#r1051
2011-08-02 03:37unknownnaNote Edited: 0002054bug_revision_view_page.php?bugnote_id=2054#r1052
2011-08-06 22:33Torr SamahoNote Added: 0002060
2011-08-06 22:33Torr SamahoStatusnew => feedback
2011-08-06 22:58Torr SamahoAssigned To => Torr Samaho
2011-08-06 22:58Torr SamahoStatusfeedback => assigned
2011-08-06 22:58Torr SamahoStatusassigned => feedback
2011-08-07 13:41unknownnaNote Added: 0002062
2011-08-07 13:41unknownnaStatusfeedback => assigned
2011-08-07 13:44unknownnaRelationship addedrelated to 0000193
2011-08-07 13:52unknownnaNote Edited: 0002062bug_revision_view_page.php?bugnote_id=2062#r1060
2011-08-07 17:12Torr SamahoNote Added: 0002063
2011-08-07 17:13Torr SamahoStatusassigned => feedback
2011-08-07 18:18unknownnaNote Added: 0002064
2011-08-07 18:18unknownnaStatusfeedback => assigned
2011-08-07 18:19unknownnaNote Edited: 0002064bug_revision_view_page.php?bugnote_id=2064#r1062
2011-08-07 18:21Torr SamahoNote Added: 0002065
2011-08-07 18:21unknownnaNote Edited: 0002064bug_revision_view_page.php?bugnote_id=2064#r1063
2011-08-07 18:22Torr SamahoNote Edited: 0002065bug_revision_view_page.php?bugnote_id=2065#r1065
2011-08-07 18:22Torr SamahoStatusassigned => feedback
2011-08-07 18:26unknownnaNote Added: 0002066
2011-08-07 18:26unknownnaStatusfeedback => assigned
2011-08-07 18:30unknownnaNote Edited: 0002066bug_revision_view_page.php?bugnote_id=2066#r1067
2011-08-07 18:30unknownnaNote Added: 0002067
2011-08-07 18:32unknownnaNote Edited: 0002066bug_revision_view_page.php?bugnote_id=2066#r1068
2011-08-07 18:48Torr SamahoNote Added: 0002068
2011-08-07 23:04Torr SamahoNote Added: 0002069
2011-08-07 23:04Torr SamahoStatusassigned => feedback
2011-08-07 23:43unknownnaNote Added: 0002070
2011-08-07 23:43unknownnaStatusfeedback => assigned
2011-08-07 23:53Torr SamahoNote Added: 0002071
2011-08-07 23:53Torr SamahoStatusassigned => feedback
2011-08-08 00:02unknownnaNote Added: 0002072
2011-08-08 00:02unknownnaStatusfeedback => assigned
2011-08-08 00:03unknownnaFile Added: Screenshot_Doom_20110808_020000.png
2011-08-08 00:26Torr SamahoNote Added: 0002073
2011-08-08 00:26Torr SamahoStatusassigned => feedback
2011-08-08 00:40unknownnaNote Added: 0002074
2011-08-08 00:40unknownnaStatusfeedback => assigned
2011-08-08 00:40unknownnaNote Edited: 0002074bug_revision_view_page.php?bugnote_id=2074#r1070
2011-08-08 01:04Torr SamahoNote Added: 0002075
2011-08-08 01:04Torr SamahoStatusassigned => feedback
2011-08-08 01:12unknownnaNote Added: 0002076
2011-08-08 01:12unknownnaStatusfeedback => assigned
2011-08-08 01:13unknownnaNote Edited: 0002076bug_revision_view_page.php?bugnote_id=2076#r1072
2011-08-08 01:20Torr SamahoNote Added: 0002077
2011-08-08 01:21Torr SamahoStatusassigned => feedback
2011-08-08 13:02unknownnaNote Added: 0002078
2011-08-08 13:02unknownnaStatusfeedback => assigned
2011-08-08 13:51unknownnaNote Edited: 0002078bug_revision_view_page.php?bugnote_id=2078#r1074
2011-08-08 13:51unknownnaNote Edited: 0002078bug_revision_view_page.php?bugnote_id=2078#r1075
2011-08-08 13:57unknownnaNote Edited: 0002078bug_revision_view_page.php?bugnote_id=2078#r1076
2011-08-08 14:40unknownnaNote Edited: 0002078bug_revision_view_page.php?bugnote_id=2078#r1077
2011-08-08 22:25Torr SamahoNote Added: 0002081
2011-08-08 22:26Torr SamahoStatusassigned => feedback
2011-08-08 22:34unknownnaNote Added: 0002082
2011-08-08 22:34unknownnaStatusfeedback => assigned
2011-08-08 22:40Torr SamahoNote Added: 0002083
2011-08-08 22:48unknownnaNote Added: 0002084
2011-08-08 22:50unknownnaNote Edited: 0002084bug_revision_view_page.php?bugnote_id=2084#r1081
2011-08-08 23:08unknownnaNote Edited: 0002084bug_revision_view_page.php?bugnote_id=2084#r1082
2011-08-08 23:18unknownnaNote Edited: 0002084bug_revision_view_page.php?bugnote_id=2084#r1083
2011-08-09 01:56Torr SamahoNote Added: 0002086
2011-08-09 02:16unknownnaNote Added: 0002087
2011-08-09 02:19unknownnaNote Edited: 0002087bug_revision_view_page.php?bugnote_id=2087#r1085
2011-08-09 11:15Torr SamahoNote Added: 0002088
2011-08-09 11:15Torr SamahoStatusassigned => feedback
2011-08-09 13:42unknownnaNote Added: 0002089
2011-08-09 13:42unknownnaStatusfeedback => assigned
2011-08-09 13:43unknownnaFile Added: Screenshot_Doom_20110809_153716.png
2011-08-09 13:55unknownnaNote Edited: 0002089bug_revision_view_page.php?bugnote_id=2089#r1087
2011-08-09 13:56unknownnaNote Edited: 0002089bug_revision_view_page.php?bugnote_id=2089#r1088
2011-08-09 23:10Torr SamahoNote Added: 0002091
2011-08-09 23:10Torr SamahoStatusassigned => feedback
2011-08-09 23:29unknownnaNote Added: 0002093
2011-08-09 23:29unknownnaStatusfeedback => assigned
2011-08-10 00:00Torr SamahoNote Added: 0002095
2011-08-10 00:09unknownnaNote Added: 0002096
2011-08-10 01:16Torr SamahoNote Added: 0002097
2011-08-10 01:17Torr SamahoStatusassigned => feedback
2011-08-10 13:04unknownnaNote Added: 0002099
2011-08-10 13:04unknownnaStatusfeedback => assigned
2011-08-10 22:38Torr SamahoNote Added: 0002100
2011-08-10 22:39Torr SamahoStatusassigned => feedback
2011-08-10 22:58unknownnaNote Added: 0002103
2011-08-10 22:58unknownnaStatusfeedback => assigned
2011-08-10 22:59unknownnaFile Added: 2011.08.11_00.56.33_doom2.cld
2011-08-10 22:59unknownnaNote Edited: 0002103bug_revision_view_page.php?bugnote_id=2103#r1090
2011-08-10 23:00unknownnaNote Edited: 0002103bug_revision_view_page.php?bugnote_id=2103#r1091
2011-08-10 23:11unknownnaNote Edited: 0002103bug_revision_view_page.php?bugnote_id=2103#r1092
2011-08-10 23:18Torr SamahoNote Added: 0002104
2011-08-10 23:21unknownnaNote Added: 0002105
2011-08-10 23:26WartornNote Added: 0002106
2011-08-10 23:40Torr SamahoNote Added: 0002107
2011-08-11 01:09Torr SamahoNote Added: 0002108
2011-08-11 01:09Torr SamahoStatusassigned => feedback
2011-08-11 01:19unknownnaNote Added: 0002109
2011-08-11 01:19unknownnaStatusfeedback => assigned
2011-08-11 01:20unknownnaNote Edited: 0002109bug_revision_view_page.php?bugnote_id=2109#r1094
2011-08-11 01:45Torr SamahoNote Added: 0002110
2011-08-11 02:19Torr SamahoNote Added: 0002111
2011-08-11 02:20Torr SamahoStatusassigned => feedback
2011-08-11 02:28unknownnaNote Added: 0002113
2011-08-11 02:28unknownnaStatusfeedback => assigned
2011-08-11 11:51Torr SamahoNote Added: 0002115
2011-08-11 11:51Torr SamahoStatusassigned => feedback
2011-08-11 12:18unknownnaNote Added: 0002116
2011-08-11 12:18unknownnaStatusfeedback => assigned
2011-08-11 12:36unknownnaNote Edited: 0002116bug_revision_view_page.php?bugnote_id=2116#r1096
2011-08-11 12:48unknownnaNote Edited: 0002116bug_revision_view_page.php?bugnote_id=2116#r1097
2011-08-11 12:49unknownnaNote Edited: 0002116bug_revision_view_page.php?bugnote_id=2116#r1098
2011-08-12 00:04Torr SamahoNote Added: 0002118
2011-08-12 00:04Torr SamahoStatusassigned => feedback
2011-08-12 00:32unknownnaNote Added: 0002119
2011-08-12 00:32unknownnaStatusfeedback => assigned
2011-08-12 00:58unknownnaNote Added: 0002120
2011-08-12 00:59unknownnaNote Edited: 0002120bug_revision_view_page.php?bugnote_id=2120#r1100
2011-08-12 02:24Torr SamahoNote Added: 0002121
2011-08-12 02:24Torr SamahoStatusassigned => feedback
2011-08-12 13:36unknownnaNote Added: 0002122
2011-08-12 13:36unknownnaStatusfeedback => assigned
2011-08-12 13:41unknownnaNote Edited: 0002122bug_revision_view_page.php?bugnote_id=2122#r1102
2012-06-09 13:22Torr SamahoCategoryGeneral => Bug
2012-10-10 16:33unknownnaRelationship addedrelated to 0001116
2015-06-14 18:51unknownnaRelationship addedrelated to 0002255
2015-06-16 08:46unknownnaNote Added: 0012738
2015-06-16 08:47unknownnaStatusassigned => resolved
2015-06-16 08:47unknownnaResolutionopen => fixed
2015-06-16 08:47unknownnaFixed in Version => 2.0
2015-06-16 10:00unknownnaRelationship replacedparent of 0001116
2018-09-30 22:54Blzut3Statusresolved => closed

Notes
(0002053)
Torr Samaho   
2011-08-01 23:16   
Does "can't fire selected weapon" mean that the client can't fire at all or that it just is forced to fire a different weapon?
(0002054)
unknownna   
2011-08-02 03:26   
(edited on: 2011-08-02 03:37)
You can fire it, but no missiles/puffs will be spawned. And I'm not so sure if it's specific to telefragging. With your latest cl_ticsperupdate build I was able to reproduce it after "changemap" map changes in regular COOP with 2 bots + 1 client on a server.

(0002060)
Torr Samaho   
2011-08-06 22:33   
The time I spent on these weapon sync problems is getting completely out of hand...

Anyway, I was never telefragged when following your steps, but I managed to reproduce the sync problem nevertheless. This hopefully works better, I don't know if it also improves the behavior when telefragged though. As usual, ignore all the debug output.
(0002062)
unknownna   
2011-08-07 13:41   
(edited on: 2011-08-07 13:52)
> This hopefully works better, I don't know if it also improves the behavior when telefragged though. As usual, ignore all the debug output.

It seems that it fixed the issue. But it will still desync after "changemap" map changes. The server thinks that the client doesn't fire the weapon sometimes. So you might exit the map with 0 cell ammo, but in the next map you'll have 1-4 cell ammo.


> The time I spent on these weapon sync problems is getting completely out of hand...

I agree, but this particular desync really affected the main gameplay in a negative manner.

Edit:

BTW: I can still sometimes reproduce the desync in nointermission maps (Zombie Horde).

(0002063)
Torr Samaho   
2011-08-07 17:12   
> So you might exit the map with 0 cell ammo, but in the next map you'll have 1-4 cell ammo.

I'm pretty sure that these kind of sync issues also happen in 98d.

> BTW: I can still sometimes reproduce the desync in nointermission maps (Zombie Horde).

Were you telefragged in this case?
(0002064)
unknownna   
2011-08-07 18:18   
(edited on: 2011-08-07 18:21)
> I'm pretty sure that these kind of sync issues also happen in 98d.

Indeed, they are present in 98d as well. It's more likely to happen if you're telefragged.


> Were you telefragged in this case?

No, I'm alone on the server. I use "rcon changemap zm06" while tapping +attack in a fast manner (emulated ping of 300). It also desyncs when the round ends and the ACS scripts trigger the map change. It's a lot easier to reproduce it with switchonpickup set to 2 while having the shotgun selected.

(0002065)
Torr Samaho   
2011-08-07 18:21   
(edited on: 2011-08-07 18:22)
> No, I'm alone on the server.

Can you post the console output of client and server using the testing binary?

(0002066)
unknownna   
2011-08-07 18:26   
(edited on: 2011-08-07 18:32)
Client:

[20:27:39] Log started: client__2011_08_07-20_27_39.log, Sun Aug 07 20:27:39 2011
[20:27:41] ]send_password 11111
[20:27:41] RCON access granted.
[20:27:43] ]rcon changemap zm06
[20:27:43] compatflags changed to: 0
[20:27:44]


ZM06 - Hell's Pass Hospital (DrDoctor)

[20:27:44] SVC2_SETIGNOREWEAPONSELECT 1
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] CLIENTCOMMANDS_WeaponSelect blocked
[20:27:44] SVC2_SETIGNOREWEAPONSELECT 0
[20:27:46] client_WeaponChange for player 0
[20:27:46] client_WeaponChange HuntingShotgun for player 0

<------------------------------->
- What's the matter, scared of the dark?
 type b gamma 1.5 - in console to lighten things up.
<------------------------------->
[20:28:04] ]disconnect
[20:28:04] ]


Server:

[20:27:24] Log started: server__2011_08_07-20_27_24.log, Sun Aug 07 20:27:24 2011
[20:27:32] Connect (v0.98e-alpha): 127.0.0.1:64623
[20:27:33] (ST)unknownna entered the game.
[20:27:33] server_WeaponSelect HuntingShotgun
[20:27:33] Bringing up first weapon HuntingShotgun
[20:27:41] RCON access for (ST)unknownna is granted!
[20:27:43] -> changemap zm06 (RCON by (ST)unknownna - 127.0.0.1:64623)
[20:27:43] StartingWeaponName for player 0 is HuntingShotgun
[20:27:43]
*** ZM06: Hell's Pass Hospital (DrDoctor) ***

[20:27:43] compatflags changed to: 0
[20:27:43] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName HuntingShotgun ReadyWeapon HuntingShotgun
[20:28:04] client (ST)unknownna disconnected.


(0002067)
unknownna   
2011-08-07 18:30   
> Can you post the console output of client and server using the testing binary?

Yes. Done.
(0002068)
Torr Samaho   
2011-08-07 18:48   
This looks like packet loss. I can probably find a workaround for this, but with packet loss there will always be some sync issues.
(0002069)
Torr Samaho   
2011-08-07 23:04   
This should hopefully improve the behavior when there is packet loss (i.e. client sends client_WeaponChange, but the server doesn't call server_WeaponSelect in return). As I said, some smaller sync issues are unpreventable though when "client to server" packets are lost.
(0002070)
unknownna   
2011-08-07 23:43   
> This should hopefully improve the behavior when there is packet loss.

It improved the behavior. You're now able to fire your weapon in the next map.


> As I said, some smaller sync issues are unpreventable though when "client to server" packets are lost.

The reload system might break when it desyncs. For instance, a shotgun shot will be fired when you begin to reload your shotgun locally.
(0002071)
Torr Samaho   
2011-08-07 23:53   
> The reload system might break when it desyncs.

It shouldn't be any worse than 98d in this regard though, right?
(0002072)
unknownna   
2011-08-08 00:02   
> The switchonpickup setting seems to have an effect here. If switchonpickup is set to 0, your fist will sometimes be selected after the "changemap" map change.

It happens if you're telefragged before you're in the map locally.

* If switchonpickup is set to 0 and you have all the weapons, the fist will be selected.
* If switchonpickup is set to 1 and you have all the weapons, the plasma rifle will be selected.
* If switchonpickup is set to 2 and you have all the weapons, the grenade launcher will be selected.
(0002073)
Torr Samaho   
2011-08-08 00:26   
> It happens if you're telefragged before you're in the map locally.

Please check if this is any better when telefragging occurs.
(0002074)
unknownna   
2011-08-08 00:40   
> It shouldn't be any worse than 98d in this regard though, right?

They both desync (emulated ping of 600), but I noticed that they both behave differently. I can't do a thorough comparison right now.


> Please check if this is any better when telefragging occurs.

It still breaks.

(0002075)
Torr Samaho   
2011-08-08 01:04   
> It still breaks.

Can you post the client and server logs when this happens?
(0002076)
unknownna   
2011-08-08 01:12   
(edited on: 2011-08-08 01:13)
Client:

[03:08:40] Log started: client__2011_08_08-03_08_40.log, Mon Aug 08 03:08:40 2011
[03:08:43] (ST)unknownna is a cheater: give all
[03:08:43] client_WeaponChange for player 5
[03:08:43] client_WeaponChange Pistol for player 5
[03:08:43] (ST)unknownna is a cheater: Degreelessness Mode ON
[03:08:43] Degreelessness Mode ON
[03:08:43] CLIENTCOMMANDS_WeaponSelect Chainsaw
[03:08:44] CLIENTCOMMANDS_WeaponSelect Pistol
[03:08:44] CLIENTCOMMANDS_WeaponSelect Shotgun
[03:08:45] Cygnus: Come on out, fool.
[03:08:48] Procyon: I hear Crash has quite a temper.
[03:08:49] ]rcon changemap map01
[03:08:50] compatflags changed to: 0
[03:08:50] Slyor died.
[03:08:50] Procyon died.
[03:08:50] Cataclysm died.
[03:08:50] Cygnus died.
[03:08:50] Maabus died.
[03:08:50] (ST)unknownna died.
[03:08:50] Slyor was telefragged.

<------------------------------->
mission 1: turn off security laser.
<------------------------------->
[03:08:50]


MAP01 - 5th outpost

[03:08:50] SVC2_SETIGNOREWEAPONSELECT 1
[03:08:50] CLIENTCOMMANDS_WeaponSelect blocked
[03:08:50] CLIENTCOMMANDS_WeaponSelect blocked
[03:08:50] CLIENTCOMMANDS_WeaponSelect blocked
[03:08:50] CLIENTCOMMANDS_WeaponSelect blocked
[03:08:50] SVC2_SETIGNOREWEAPONSELECT 0
[03:08:50] client_WeaponChange for player 0
[03:08:50] client_WeaponChange Pistol for player 0
[03:08:50] client_WeaponChange for player 2
[03:08:50] client_WeaponChange Pistol for player 2
[03:08:51] Maabus gets a frag for the other team.
[03:08:58] ]quit


Server:

[03:08:27] Log started: server__2011_08_08-03_08_27.log, Mon Aug 08 03:08:27 2011
[03:08:34] Connect (v0.98e-alpha): --.--.--.--:10667
[03:08:34] (ST)unknownna loses another friend.
[03:08:34] (ST)unknownna entered the game.
[03:08:34] server_WeaponSelect Pistol
[03:08:34] Bringing up first weapon Pistol
[03:08:35] CHAT Cygnus: I'll soon show you what I can still do.
[03:08:35] Maabus checks his glasses.
[03:08:35] Procyon checks his glasses.
[03:08:35] RCON access for (ST)unknownna is granted!
[03:08:37] server_WeaponSelect Pistol
[03:08:37] Bringing up first weapon Pistol
[03:08:43] (ST)unknownna is a cheater: give all
[03:08:43] (ST)unknownna is a cheater: Degreelessness Mode ON
[03:08:43] server_WeaponSelect Chainsaw
[03:08:44] server_WeaponSelect Pistol
[03:08:44] server_WeaponSelect Shotgun
[03:08:45] CHAT Cygnus: Come on out, fool.
[03:08:48] CHAT Procyon: I hear Crash has quite a temper.
[03:08:49] -> changemap map01 (RCON by (ST)unknownna - --.--.--.--:10667)
[03:08:50] StartingWeaponName for player 0 is Pistol
[03:08:50] StartingWeaponName for player 1 is Pistol
[03:08:50] StartingWeaponName for player 2 is Pistol
[03:08:50] StartingWeaponName for player 3 is Pistol
[03:08:50] StartingWeaponName for player 4 is Pistol
[03:08:50] StartingWeaponName for player 5 is Shotgun
[03:08:50]
*** MAP01: 5th outpost ***

[03:08:50] compatflags changed to: 0
[03:08:50] Cygnus checks his glasses.
[03:08:50] (ST)unknownna mows down a teammate.
[03:08:50] Slyor gets a frag for the other team.
[03:08:50] Cataclysm checks its glasses.
[03:08:50] Procyon gets a frag for the other team.
[03:08:50] Cygnus mows down a teammate.
[03:08:50] Player Slyor dies with no weapon
[03:08:50] Bringing up Pistol
[03:08:50] (ST)unknownna gets a frag for the other team.
[03:08:50] SERVERCOMMANDS_WeaponChange invalid weapon for player 1
[03:08:50] SERVERCOMMANDS_WeaponChange invalid weapon for player 3
[03:08:50] SERVERCOMMANDS_WeaponChange invalid weapon for player 4
[03:08:50] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName Shotgun ReadyWeapon NULL
[03:08:50] SERVERCOMMANDS_WeaponChange invalid weapon for player 5
[03:08:51] Player Cygnus dies with no weapon
[03:08:51] Bringing up Pistol
[03:08:51] Maabus loses another friend.
[03:08:58] client (ST)unknownna disconnected.


(0002077)
Torr Samaho   
2011-08-08 01:20   
Alright. Please check how this behaves. If it doesn't work, please post the logs again.
(0002078)
unknownna   
2011-08-08 13:02   
(edited on: 2011-08-08 14:40)
It fixed the issue.

Client:

[14:58:40] Log started: client__2011_08_08-14_58_40.log, Mon Aug 08 14:58:40 2011
[14:58:53] ]rcon changemap map01
[14:58:55] compatflags changed to: 0
[14:58:55] Massmouth loses another friend.
[14:58:55] (ST)unknownna checks his glasses.
[14:58:55] Massmouth died.
[14:58:55] (ST)unknownna died.
[14:58:55] Cygnus died.
[14:58:55] Protos died.

<------------------------------->
mission 1: turn off security laser.
<------------------------------->
[14:58:55]


MAP01 - 5th outpost

[14:58:55] SVC2_SETIGNOREWEAPONSELECT 1
[14:58:55] CLIENTCOMMANDS_WeaponSelect blocked
[14:58:55] CLIENTCOMMANDS_WeaponSelect blocked
[14:58:55] CLIENTCOMMANDS_WeaponSelect blocked
[14:58:55] CLIENTCOMMANDS_WeaponSelect blocked
[14:58:55] SVC2_SETIGNOREWEAPONSELECT 0
[14:58:55] client_WeaponChange for player 0
[14:58:55] client_WeaponChange Pistol for player 0
[14:58:55] client_WeaponChange for player 5
[14:58:55] client_WeaponChange SuperShotgun for player 5
[14:58:55] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[14:58:56] Cygnus checks his glasses.
[14:59:03] ]quit


Server:

[14:58:49] Log started: server__2011_08_08-14_58_49.log, Mon Aug 08 14:58:49 2011
[14:58:54] -> changemap map01 (RCON by (ST)unknownna - 127.0.0.1:57268)
[14:58:55] StartingWeaponName for player 0 is Pistol
[14:58:55] StartingWeaponName for player 2 is Pistol
[14:58:55] StartingWeaponName for player 3 is Pistol
[14:58:55] StartingWeaponName for player 5 is SuperShotgun
[14:58:55]
*** MAP01: 5th outpost ***

[14:58:55] compatflags changed to: 0
[14:58:55] Massmouth loses another friend.
[14:58:55] (ST)unknownna gets a frag for the other team.
[14:58:55] Cygnus gets a frag for the other team.
[14:58:55] Chaingunner loses another friend.
[14:58:55] Massmouth gets a frag for the other team.
[14:58:55] (ST)unknownna loses another friend.
[14:58:55] SERVERCOMMANDS_WeaponChange invalid weapon for player 1
[14:58:55] SERVERCOMMANDS_WeaponChange invalid weapon for player 2
[14:58:55] SERVERCOMMANDS_WeaponChange invalid weapon for player 3
[14:58:55] SERVERCOMMANDS_WeaponChange invalid weapon for player 4
[14:58:55] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName SuperShotgun ReadyWeapon NULL PendingWeapon WP_NOCHANGE
[14:58:55] server_WeaponSelect SuperShotgun
[14:58:55] Bringing up first weapon SuperShotgun
[14:58:56] Cygnus checks his glasses.
[14:59:03] client (ST)unknownna disconnected.


Is the "invalid weapon for player x" message (bots) intentional?

BTW: I noticed that you're able to scroll through some of your weapons in the intermission screen.

Edit:

> If it doesn't work, please post the logs again.

I still notice the fist, plasma rifle and/or grenade launcher after "changemap" map changes in Dark7: MAP04. For some reason "sv_nomonsters 1" makes it go away.

Client:

[16:36:56] ]rcon changemap map04
[16:36:56] compatflags changed to: 0
[16:36:56] Synas mows down a teammate.
[16:36:56] (ST)unknownna loses another friend.
[16:36:56] Aldebaran died.
[16:36:56] Torrent died.
[16:36:56] (ST)unknownna died.
[16:36:56] Synas died.

<------------------------------->
mission 5: disable 4 terminal control systems.
<------------------------------->
[16:36:56]


MAP04 - tinnos base

[16:36:56] SVC2_SETIGNOREWEAPONSELECT 1
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:56] CLIENTCOMMANDS_WeaponSelect blocked
[16:36:57] SVC2_SETIGNOREWEAPONSELECT 0
[16:36:57] client_WeaponChange for player 5
[16:36:57] client_WeaponChange SuperShotgun for player 5
[16:36:57] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[16:36:57] Synas mows down a teammate.
[16:36:58] Vex loses another friend.
[16:36:59] Torrent checks its glasses.
[16:36:59] (ST)unknownna tripped his own grenade.
[16:37:00] Aldebaran loses another friend.
[16:37:03] ]quit


Server:

[16:36:56] -> changemap map04 (RCON by (ST)unknownna - 127.0.0.1:53494)
[16:36:56] StartingWeaponName for player 0 is Pistol
[16:36:56] StartingWeaponName for player 1 is Pistol
[16:36:56] StartingWeaponName for player 5 is SuperShotgun
[16:36:56]
*** MAP04: tinnos base ***

[16:36:56] compatflags changed to: 0
[16:36:56] Synas gets a frag for the other team.
[16:36:56] (ST)unknownna checks his glasses.
[16:36:56] Torrent mows down a teammate.
[16:36:56] Aldebaran checks his glasses.
[16:36:56] Super Shotgunner checks his glasses.
[16:36:56] (ST)unknownna checks his glasses.
[16:36:56] SERVERCOMMANDS_WeaponChange invalid weapon for player 0
[16:36:56] SERVERCOMMANDS_WeaponChange invalid weapon for player 1
[16:36:56] SERVERCOMMANDS_WeaponChange invalid weapon for player 2
[16:36:56] SERVERCOMMANDS_WeaponChange invalid weapon for player 3
[16:36:56] SERVERCOMMANDS_WeaponChange invalid weapon for player 4
[16:36:56] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName SuperShotgun ReadyWeapon NULL PendingWeapon WP_NOCHANGE
[16:36:57] Changeing Pending weapon
[16:36:57] Synas checks his glasses.
[16:36:57] server_WeaponSelect SuperShotgun
[16:36:58] Vex gets a frag for the other team.
[16:36:59] Torrent mows down a teammate.
[16:36:59] (ST)unknownna tripped his own grenade.
[16:37:00] Aldebaran gets a frag for the other team.
[16:37:04] client (ST)unknownna disconnected.


(0002081)
Torr Samaho   
2011-08-08 22:25   
> I still notice the fist, plasma rifle and/or grenade launcher after "changemap" map changes in Dark7:

Weird. According to the logs client and server agree that you start with the SuperShotgun. So this is the log where you start with the wrong weapon?
(0002082)
unknownna   
2011-08-08 22:34   
> So this is the log where you start with the wrong weapon?

The final log, yes. I start with the grenade launcher (switchonpickup 2) and sometimes manage to fire a grenade before it automatically selects the SuperShotgun again.

[16:36:59] (ST)unknownna tripped his own grenade.
(0002083)
Torr Samaho   
2011-08-08 22:40   
> The final log, yes. I start with the grenade launcher (switchonpickup 2) and sometimes manage to fire a grenade before it automatically selects the SuperShotgun again.

Oh, I see. So I assume that you never see the grenade launcher on the client, right?
(0002084)
unknownna   
2011-08-08 22:48   
(edited on: 2011-08-08 23:18)
> So I assume that you never see the grenade launcher on the client, right?

You do see it on the client. The grenade launcher is raised and you can see the "Fire" state. But then the grenade launcher suddenly disappears and the SSG begins its "Select" state. The first SSG shot will then be NULL, i.e., decals spawn, but no puffs appear.

Edit:

I'm now able to reproduce the desync (DOOM2: MAP10). It's unrelated to the telefrag issues. It still happens when I'm alone on the server. And as I said earlier: For some reason "sv_nomonsters 1" makes the desync go away.

(0002086)
Torr Samaho   
2011-08-09 01:56   
The more you find out, the weirder it sounds. Can you check if this fixes the grenade firing issue on the server?
(0002087)
unknownna   
2011-08-09 02:16   
(edited on: 2011-08-09 02:19)
It's still the same.

[04:13:13] -> changemap map10 (RCON by (ST)unknownna - --.--.--.--:10667)
[04:13:13] StartingWeaponName for player 0 is SuperShotgun
[04:13:13]
*** MAP10: refueling base ***

[04:13:13] compatflags changed to: 0
[04:13:13] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName SuperShotgun ReadyWeapon SuperShotgun PendingWeapon WP_NOCHANGE
[04:13:17] Changeing Pending weapon // First NULL grenade is fired.
[04:13:23] server_WeaponSelect SuperShotgun // Real grenade is fired. The grenade launcher disappears and the SSG is selected.


The grenade launcher stays on-screen till you have pressed +attack two times.

(0002088)
Torr Samaho   
2011-08-09 11:15   
I have a theory now on why "sv_nomonsters 1" effects the behavior. Please test if this fixes it.
(0002089)
unknownna   
2011-08-09 13:42   
(edited on: 2011-08-09 13:56)
No weapon (and armor) appears at all now. But the strange thing is that they appear if you open the menu/console, or if you alert some monsters, or if you trigger a linedef special, or if you pick up an item, or if you use a cheat, or if you try to chat.

Confirmed maps:

* MAP09
* MAP10
* MAP15 (minor desync)
* MAP17
* MAP18
* MAP19 (minor desync)
* MAP27


(0002091)
Torr Samaho   
2011-08-09 23:10   
I can't reproduce this. Can you confirm that it still happens with a fresh ini and if so, post the steps necessary to reproduce it?
(0002093)
unknownna   
2011-08-09 23:29   
Make sure that "skill" is set to 3 or 4 when you start the server and it should happen.

skulltag.exe -host +sv_cheats 1 +skill 3 +map map10
(0002095)
Torr Samaho   
2011-08-10 00:00   
Something strange happens if I connect to a server started like this with the GL renderer (98d has the same problem for me, just checked). The view is not active till the menu is brought up, it works fine for me with the software renderer though. The view inactive problem has to be something completely different though.

Your problems were supposed to occur after a changemap map change and not on connect, aren't they?
(0002096)
unknownna   
2011-08-10 00:09   
> Your problems were supposed to occur after a changemap map change and not on connect, aren't they?

Yes, they occur after "changemap" map changes, but only if "skill" is set to 3 or 4.
(0002097)
Torr Samaho   
2011-08-10 01:16   
It simply doesn't happen when I try it, neither on skill 3 nor on skill 4. Does it still happen for you with a fresh ini on client and server?
(0002099)
unknownna   
2011-08-10 13:04   
> Does it still happen for you with a fresh ini on client and server?

Yes, and it only happens in 98e.
(0002100)
Torr Samaho   
2011-08-10 22:38   
And it only happens in SkullDev98eWeaponChangeChangemapDebugTest6.7z I assume? Without a way to reproduce this problem, it's very difficult to debug this. I can try to make some shots in the dark to see if this changes the behavior for you.
(0002103)
unknownna   
2011-08-10 22:58   
(edited on: 2011-08-10 23:11)
The missing armor/weapon issue, yes. But the whole "switchonpickup" issue is specific to 98e. I recorded a demo of it. For some reason the player dies after "changemap" map changes in the demo and the plasma rifle is selected instead of the grenade launcher.

Edit:

I had my "switchonpickup" alias in effect, so the plasma rifle is the correct weapon.

(0002104)
Torr Samaho   
2011-08-10 23:18   
I was just referring to the missing armor/weapon issue, that's what I can't reproduce so far.
(0002105)
unknownna   
2011-08-10 23:21   
Yes, and I advise you to take a look at the demo. The effect is captured there.
(0002106)
Wartorn   
2011-08-10 23:26   
During today's run of the meeting, we took the time to investigate this further at Torr's request, but after reading all unknownna had to say about this, I can say that the allowed conditions can range from weird to downright bizarre. On some matters, some of the group were of the consensus that some of our findings may have not even been related.

In any case, here's the run down of what we found.

1) Confirmed that every weapon is capable of breaking, but some of them appear to be seemingly random in circumstance. At times when we tried to reproduce what happened to one weapon ended up happening out of the blue when we attempted another one.
2) A lot of it seems to be even more dependent on the weapon state than not, as we had a harder time reproducing this while getting telefragged than not. Circumstances that would have been clear as day to reproduce ended up being impossible with the bugged players dying.
3) If a player with this bug is affected, other players won't see the viewweapon sprite in question in co-op spy. cl_drawcoopinfo also doesn't even display the weapon name at all for the player.
4) Absolutely cannot be reproduced in a gamemode where changemap does not save weapon loadouts.
5) A good deal of the testers here including myself are inclined to say that the server is actually forgetting the player's current weapon. This is backed up where there have been a few pistol start cases where they started with no pistol ammunition at all, when they previously had some the round before.
5.5) It's also my personal belief that the TID order of the players being completely rearranged also might have something to do with it. None of us disconnected during our testing session. I don't have any concrete evidence to support this claim, but it's a theory no less.
6) Lastly, a lot of testers have told me that this may indeed be a different variant of the same bug (or a different one entirely), but I figured to bring it up here since this was taken from the same playfield.

I desync'd the fist and started with the Plasma Gun (I had switchonpickup to 1, so this is understandable.). When I switched to another weapon of the same ammo pool, and fired it, hitscanners weren't visible, but projectiles were. With this logic, it means that the 10k and Railgun's projectiles weren't visible to me (they were to other players), but the plasma gun's and the 9k's were. Kicking it up to 100 though, it "looks" like I ran out of ammo, but I could still fire. To others, they said I had about 110 ammo when it was visible to me I had none. I could only fire the plasma gun once before it forced me to auto-switch. I couldn't reproduce it since.
---

This one is a really big headscratcher for me.
(0002107)
Torr Samaho   
2011-08-10 23:40   
> Yes, and I advise you to take a look at the demo. The effect is captured there.

Thanks for pointing me to the demo, I can see the effect there. It looks like the client doesn't get the server packet that instructs him to get his inventory at the end of the full update, but only at a later time.
(0002108)
Torr Samaho   
2011-08-11 01:09   
I'm beginning to think that the missing armor/weapon issue could have to do with the packet loss handling. Please reproduce the issue with this binary and post client and server logs with time stamps. Also please try to make the time the weapon is not brought considerably long (if possible 5 or more seconds).
(0002109)
unknownna   
2011-08-11 01:19   
(edited on: 2011-08-11 01:20)
Client:

[03:15:58] Log started: client__2011_08_11-03_15_58.log, Thu Aug 11 03:15:58 2011
[03:16:00] (ST)unknownna is a cheater: give all
[03:16:00] CLIENTCOMMANDS_WeaponSelect Chainsaw
[03:16:00] CLIENTCOMMANDS_WeaponSelect Shotgun
[03:16:00] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[03:16:00] CLIENTCOMMANDS_WeaponSelect Chaingun
[03:16:00] CLIENTCOMMANDS_WeaponSelect RocketLauncher
[03:16:00] CLIENTCOMMANDS_WeaponSelect PlasmaRifle
[03:16:00] CLIENTCOMMANDS_WeaponSelect BFG9000
[03:16:00] CLIENTCOMMANDS_WeaponSelect Minigun
[03:16:00] CLIENTCOMMANDS_WeaponSelect Railgun
[03:16:00] CLIENTCOMMANDS_WeaponSelect BFG10k
[03:16:00] CLIENTCOMMANDS_WeaponSelect GrenadeLauncher
[03:16:00] client_WeaponChange for player 0
[03:16:00] client_WeaponChange Pistol for player 0
[03:16:00] CLIENTCOMMANDS_WeaponSelect Pistol
[03:16:00] (ST)unknownna is a cheater: Degreelessness Mode ON
[03:16:00] Degreelessness Mode ON
[03:16:00] CLIENTCOMMANDS_WeaponSelect Shotgun
[03:16:00] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[03:16:03] ]send_password 11111
[03:16:03] RCON access granted.
[03:16:06] ]rcon changemap map10
[03:16:07] compatflags changed to: 0
[03:16:07]


MAP10 - refueling base

[03:16:07] SVC2_SETIGNOREWEAPONSELECT 1
[03:16:07] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:07] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:07] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:07] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] Missing packet 26.
[03:16:19] Missing packet 27.
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:19] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:20] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:20] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:20] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:20] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:20] CLIENTCOMMANDS_WeaponSelect blocked
[03:16:20] SVC2_SETIGNOREWEAPONSELECT 0
[03:16:20] client_WeaponChange for player 0
[03:16:20] client_WeaponChange SuperShotgun for player 0
[03:16:20] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[03:16:22] ]disconnect
[03:16:22] ]


Server:

[03:15:57] Log started: server__2011_08_11-03_15_57.log, Thu Aug 11 03:15:57 2011
[03:16:00] (ST)unknownna is a cheater: give all
[03:16:00] (ST)unknownna is a cheater: Degreelessness Mode ON
[03:16:00] server_WeaponSelect Chainsaw
[03:16:00] server_WeaponSelect Shotgun
[03:16:00] server_WeaponSelect SuperShotgun
[03:16:00] server_WeaponSelect Chaingun
[03:16:00] server_WeaponSelect RocketLauncher
[03:16:00] server_WeaponSelect PlasmaRifle
[03:16:00] server_WeaponSelect BFG9000
[03:16:00] server_WeaponSelect Minigun
[03:16:00] server_WeaponSelect Railgun
[03:16:00] server_WeaponSelect BFG10k
[03:16:00] server_WeaponSelect GrenadeLauncher
[03:16:00] server_WeaponSelect Pistol
[03:16:00] server_WeaponSelect Shotgun
[03:16:00] server_WeaponSelect SuperShotgun
[03:16:03] RCON access for (ST)unknownna is granted!
[03:16:06] -> changemap map10 (RCON by (ST)unknownna - --.--.--.--:10667)
[03:16:07] StartingWeaponName for player 0 is SuperShotgun
[03:16:07]
*** MAP10: refueling base ***

[03:16:07] compatflags changed to: 0
[03:16:07] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName SuperShotgun ReadyWeapon SuperShotgun PendingWeapon WP_NOCHANGE
[03:16:19] sending missing packet 26
[03:16:19] sending missing packet 27
[03:16:20] server_WeaponSelect SuperShotgun
[03:16:20] Bringing up first weapon SuperShotgun
[03:16:22] client (ST)unknownna disconnected.


(0002110)
Torr Samaho   
2011-08-11 01:45   
Alright, so the client is actually not requesting the missing packet. Thinking about it this seems to be a general design problem of the packet loss handling: The client only notices a missing packet if he gets a packet that comes after the missing one. If the last one is missing, the client doesn't notice that anything is missing.
(0002111)
Torr Samaho   
2011-08-11 02:19   
Please test if this improves the missing weapon problem.
(0002113)
unknownna   
2011-08-11 02:28   
Client:

[04:26:13] Log started: client__2011_08_11-04_26_13.log, Thu Aug 11 04:26:13 2011
[04:26:14] (ST)unknownna is a cheater: give all
[04:26:14] CLIENTCOMMANDS_WeaponSelect Chainsaw
[04:26:14] CLIENTCOMMANDS_WeaponSelect Shotgun
[04:26:14] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[04:26:14] CLIENTCOMMANDS_WeaponSelect Chaingun
[04:26:14] CLIENTCOMMANDS_WeaponSelect RocketLauncher
[04:26:14] CLIENTCOMMANDS_WeaponSelect PlasmaRifle
[04:26:14] CLIENTCOMMANDS_WeaponSelect BFG9000
[04:26:14] CLIENTCOMMANDS_WeaponSelect Minigun
[04:26:14] CLIENTCOMMANDS_WeaponSelect Railgun
[04:26:14] CLIENTCOMMANDS_WeaponSelect BFG10k
[04:26:14] CLIENTCOMMANDS_WeaponSelect GrenadeLauncher
[04:26:14] client_WeaponChange for player 0
[04:26:14] client_WeaponChange Pistol for player 0
[04:26:14] CLIENTCOMMANDS_WeaponSelect Pistol
[04:26:14] (ST)unknownna is a cheater: Degreelessness Mode ON
[04:26:14] Degreelessness Mode ON
[04:26:14] CLIENTCOMMANDS_WeaponSelect Shotgun
[04:26:14] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[04:26:15] ]send_password 11111
[04:26:15] RCON access granted.
[04:26:18] ]rcon changemap map10
[04:26:19] compatflags changed to: 0
[04:26:19]


MAP10 - refueling base

[04:26:19] SVC2_SETIGNOREWEAPONSELECT 1
[04:26:19] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:19] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:19] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:19] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] Missing packet 24.
[04:26:31] Missing packet 25.
[04:26:31] Missing packet 26.
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] CLIENTCOMMANDS_WeaponSelect blocked
[04:26:31] SVC2_SETIGNOREWEAPONSELECT 0
[04:26:31] client_WeaponChange for player 0
[04:26:31] client_WeaponChange SuperShotgun for player 0
[04:26:31] CLIENTCOMMANDS_WeaponSelect SuperShotgun
[04:26:31] SVC2_SETIGNOREWEAPONSELECT 0
[04:26:34] ]disconnect
[04:26:34] ]
[04:26:37] ]quit


Server:

[04:26:12] Log started: server__2011_08_11-04_26_12.log, Thu Aug 11 04:26:12 2011
[04:26:14] (ST)unknownna is a cheater: give all
[04:26:14] (ST)unknownna is a cheater: Degreelessness Mode ON
[04:26:14] server_WeaponSelect Chainsaw
[04:26:14] server_WeaponSelect Shotgun
[04:26:14] server_WeaponSelect SuperShotgun
[04:26:14] server_WeaponSelect Chaingun
[04:26:14] server_WeaponSelect RocketLauncher
[04:26:14] server_WeaponSelect PlasmaRifle
[04:26:14] server_WeaponSelect BFG9000
[04:26:14] server_WeaponSelect Minigun
[04:26:14] server_WeaponSelect Railgun
[04:26:14] server_WeaponSelect BFG10k
[04:26:14] server_WeaponSelect GrenadeLauncher
[04:26:14] server_WeaponSelect Pistol
[04:26:14] server_WeaponSelect Shotgun
[04:26:14] server_WeaponSelect SuperShotgun
[04:26:15] RCON access for (ST)unknownna is granted!
[04:26:18] -> changemap map10 (RCON by (ST)unknownna - --.--.--.--:10667)
[04:26:19] StartingWeaponName for player 0 is SuperShotgun
[04:26:19]
*** MAP10: refueling base ***

[04:26:19] compatflags changed to: 0
[04:26:19] server_AuthenticateLevel - PLAYER_ClearWeapon, StartingWeaponName SuperShotgun ReadyWeapon SuperShotgun PendingWeapon WP_NOCHANGE
[04:26:31] sending missing packet 24
[04:26:31] sending missing packet 25
[04:26:31] sending missing packet 26
[04:26:31] server_WeaponSelect SuperShotgun
[04:26:31] Bringing up first weapon SuperShotgun
[04:26:34] client (ST)unknownna disconnected.
(0002115)
Torr Samaho   
2011-08-11 11:51   
Ok, how about this?
(0002116)
unknownna   
2011-08-11 12:18   
(edited on: 2011-08-11 12:49)
This works a lot better. The selected weapon from the previous map is now always brought up. But there's a longer delay in 98e compared to 98d. In 98d the armor is instantly displayed and the weapon is instantly raised. If "sv_nomonsters" is set to 1, 98e will behave like 98d.

> The view inactive problem has to be something completely different though.

* Strange behaviour connecting to server (dunno better title)

> Sometimes you have to wait a little bit of time before seeing the map, but when you open the game menu (esc key), you'll see immediately the map.

> Just press the Esc key and it should come up. That's what I do.

> Opening the main menu by pressing the ESC key makes it go away and you enter the game normally. The thing is that it happens with the stock vanilla maps too, in this case MAP10.

The same thing happens here. If you open the menu, the server will send you the missing packets.

BTW: I managed to capture a nasty weapon desync. It's very easy to reproduce the desync. You may fire your weapon on the server before it's fully raised on the client. So you might have 100 rockets locally in your inventory, but to the server you have 0 rockets in your inventory. This happens without any ping emulation. And if you then exit the map with the rocket launcher you might fire plasma balls or SSG puffs from your rocket launcher after a "changemap" map change.

(0002118)
Torr Samaho   
2011-08-12 00:04   
> But there's a longer delay in 98e compared to 98d.

The delay is caused by packet loss: If the packet that contains the command to raise the weapon on the client is lost, it will take at least the client's ping before he can get the missing packet and thus raise the weapon. AFAIK this delay to recover packet loss is inevitable. Re-requesting a certain packet at least takes the time a messages needs to travel from client to server and back.

98d behaved differently for two reasons: The weapon raise was not synced in 98d at all and the command to raise the weapon was issued in 98d before the full update (where the client is informed about everything in the map, e.g. all actors). To improve weapon sync the weapon raise command must be send after the full update though. For the sake of simplicity I made the server tell the client about the whole inventory including the weapons after the full update, causing it to be in the last packet send to the client and thus more likely to be lost. I rearranged this and now the inventory is given before the full update, but the weapon still needs to be done after the update. This should make the inventory appear instantly on the client.

> BTW: I managed to capture a nasty weapon desync. It's very easy to reproduce the desync.

Is this yet another new desync or something that also happens in 98d?
(0002119)
unknownna   
2011-08-12 00:32   
> This should make the inventory appear instantly on the client.

It works as intended.


> Is this yet another new desync or something that also happens in 98d?

It seems to be a 98d issue. You simply hold +attack when you see yourself spawn after a "changemap" map change.
(0002120)
unknownna   
2011-08-12 00:58   
(edited on: 2011-08-12 00:59)
I found another issue: If you're telefragged before you're in the map locally while carrying a rune in your inventory, the rune will not be removed from your inventory. It seems to be a 98d issue.

(0002121)
Torr Samaho   
2011-08-12 02:24   
I cleaned the code, removed all the debug messages and removed one temporary workaround that was hopefully unnecessary. Please check if this binary still works.
(0002122)
unknownna   
2011-08-12 13:36   
(edited on: 2011-08-12 13:41)
> Please check if this binary still works.

It still works as intended.

We're going to have to live with some major weapon/inventory desyncs in COOP/Survival. And the inactive view problem is also related to the missing packet issue.

* Runes are removed from your inventory on the server if you're telefragged before you're in the map locally, but the rune is not removed on the client when you enter the map. So the client thinks that it still has a certain powerup after a "changemap" map change, causing you to use more ammo (RageRune) than you should.
* Weapon desync when telefragged after "changemap" map changes. It seems that the weapon is raised too early on the client. So you might use more ammo than you should.
* Weapon desync when attacking immediately after a "changemap" map change. Very easy to reproduce with the rocket launcher. It seems that the weapon is raised too late on the client.

(0012738)
unknownna   
2015-06-16 08:46   
Since the main issues here were fixed, I'll mark this as resolved.

Quote from unknownna
* Runes are removed from your inventory on the server if you're telefragged before you're in the map locally, but the rune is not removed on the client when you enter the map. So the client thinks that it still has a certain powerup after a "changemap" map change, causing you to use more ammo (RageRune) than you should.

0002318: Client thinks that it still has rune if telefragged before it's in map locally after "changemap" map changes

Quote from unknownna
* Weapon desync when telefragged after "changemap" map changes. It seems that the weapon is raised too early on the client. So you might use more ammo than you should.

This is most likely caused by the regression since 98e r3297: 0001116: Client fires weapon too early after respawning

Quote from unknownna
* Weapon desync when attacking immediately after a "changemap" map change. Very easy to reproduce with the rocket launcher. It seems that the weapon is raised too late on the client.

0002309: Ancient weapon desync after "changemap" map changes in COOP: Client fires weapon too late on client