MantisBT - Zandronum
View Issue Details
0001313Zandronum[All Projects] Bugpublic2013-04-02 18:092024-01-01 22:22
Cutman 
Kaminsky 
highmajoralways
resolvedfixed 
MicrosoftWindowsXP/Vista/7
1.0 
3.23.2 
0001313: PlayerClass desync/incorrect weapon when changing maps in co-op
I encountered this bizarre bug when using custom PlayerClasses in a co-op environment.

In co-op after joining the game and selecting a class, if you drop open the console and change class (this might work in player setup too), then exit the level some weird things happen.

You'll have the appearance of the new class along with it's properties (speed, height etc) but you won't have the correct weapon and some other desyncing effects happen. Trying it out for yourself shows the situation better than I can describe.
Download the file below. It contains two classes, chaingunman and plasmaman. chaingunman is a regular doom marine who starts with a chaingun, plasmaman is a faster smaller marine who starts with a plasma rifle (ignore the fact he fires it from his head).

1. Start up a server with cooperative enabled. Go to map01.
2. Join the game and select the class "chaingunman".
3. While in game drop the console and type "playerclass plasmaman".
4. Don't die and make your way to the exit and get to map02.
5. You'll have the chaingun still but be small like plasmaman. Trying to move truly exposes the bug as you start glitching all over the place due to client-server desyncing.
I could do with this being fixed for my latest MM8BDM project which is co-op. I currently have no work arounds other than forcing the server to execute a consolecommand to change the map rather than traditional exits, which is not desirable.
No tags attached.
has duplicate 0004014closed  Inventory does not reset when changing classes between maps 
has duplicate 0001608closed Dusk Swapping player classes on Unloading/Intermission screen does not reset inventory. 
? classbugtest.wad (456) 2013-04-02 18:09
https://zandronum.com/tracker/file_download.php?file_id=956&type=bug
Issue History
2013-04-02 18:09CutmanNew Issue
2013-04-02 18:09CutmanFile Added: classbugtest.wad
2013-04-02 18:32CutmanNote Added: 0006201
2013-04-02 19:16CutmanNote Added: 0006202
2014-06-13 17:51WatermelonNote Added: 0009227
2014-06-13 17:51WatermelonStatusnew => feedback
2022-06-15 09:54WaTaKiDRelationship addedhas duplicate 0004014
2022-06-15 09:55WaTaKiDNote Added: 0022269
2022-06-15 10:08WaTaKiDNote Edited: 0022269bug_revision_view_page.php?bugnote_id=22269#r13642
2022-08-12 10:59BasingaNote Added: 0022305
2022-08-24 12:09KaminskyAssigned To => Kaminsky
2022-08-24 12:09KaminskyStatusfeedback => needs review
2022-08-24 12:09KaminskyTarget Version => 3.2
2022-09-04 20:28KaminskyNote Added: 0022334
2022-09-04 20:28KaminskyStatusneeds review => needs testing
2022-09-29 07:31WaTaKiDNote Added: 0022420
2022-09-29 12:32KaminskyNote Added: 0022423
2022-09-29 12:32KaminskyStatusneeds testing => resolved
2022-09-29 12:32KaminskyFixed in Version => 3.2
2022-09-29 12:32KaminskyResolutionopen => fixed
2022-10-14 03:54WaTaKiDRelationship addedhas duplicate 0001608
2023-04-11 05:15WaTaKiDStatusresolved => feedback
2023-04-11 05:15WaTaKiDResolutionfixed => reopened
2023-04-11 05:26BasingaNote Added: 0022829
2023-04-11 05:34BasingaNote Added: 0022830
2023-04-15 18:22BasingaNote Added: 0022831
2023-04-15 18:38KaminskyNote Added: 0022832
2023-04-17 00:00KaminskyNote Added: 0022833
2023-04-17 00:00KaminskyStatusfeedback => needs testing
2024-01-01 22:20Ru5tK1ngNote Added: 0022954
2024-01-01 22:22Ru5tK1ngStatusneeds testing => resolved
2024-01-01 22:22Ru5tK1ngResolutionreopened => fixed

Notes
(0006201)
Cutman   
2013-04-02 18:32   
I tried this with vanilla Hexen just to see if it's possible. A similar thing happens where you simply lose all your weapons. I'd love to know what's going on here :P

Also for an easier time testing, you don't have to use a normal exit you can use changemap on the server console.
(0006202)
Cutman   
2013-04-02 19:16   
I've had reports saying it can happen with the random class too, but I think RNG is trolling me or something because it gives me the same class every time I change level.
(0009227)
Watermelon   
2014-06-13 17:51   
Still happen in 2.0?
(0022269)
WaTaKiD   
2022-06-15 09:55   
(edited on: 2022-06-15 10:08)
0004014 was reported and seems to be a duplicate so that should confirm this issue is still present

(0022305)
Basinga   
2022-08-12 10:59   
Really Hoping this one gets fixed as it causes MANY crashes and issues for multi class mods such as Samsara, GMOTA and Combined arms 2.0 as the most notorious mods
(0022334)
Kaminsky   
2022-09-04 20:28   
This should be fixed with:'http://hg.osdn.net/view/zandronum/zandronum-stable/rev/2a28adcd804b [^]'
(0022420)
WaTaKiD   
2022-09-29 07:31   
following the steps with the example wad on both windows and linux servers, i remained as a glitchless chaingunman upon reaching map02

sidenote: typing "playerclass" again said that i was plasmaman, and typing "kill" would then respawn me as said plasmaman, which im assuming is okie dokie
(0022423)
Kaminsky   
2022-09-29 12:32   
Thanks for testing. It sounds like everything is now working as intended, so I'll mark this ticket as resolved.

Regarding the side note: the "playerclass" CVar indicates which class the client has selected and will respawn as, which isn't always necessarily the same as the one they're currently playing as.
(0022829)
Basinga   
2023-04-11 05:26   
Hey there!
This bug has reared it's ugly head once more.... And it happens on LAN, not just TSPG (3.2 alpha in TSPG Zandronum 3.2 Alpha: Zandronum 3.2 Alpha r221030-0316 [TSPG v30])

It happens with wads like:

-gd.wad
-overboard.wad
-mayhem.wad
-eviternity.wad

Not sure if it's the boom compatibility, but the bug does **NOT** happen in these wads:

-dbp45.wad
-jth2.wad
-doomzero.wad
(0022830)
Basinga   
2023-04-11 05:34   
(note: sometimes it doesn't crash but it'll greatly destabilize a class)

How to replicate the bug:

(changed step) 1. Start up a server with SURVIVAL game using gd.wad + the provided classbugtest.wad. Go to map01.
2. Join the game and select the class "chaingunman".
3. While in game drop the console and type "playerclass plasmaman".
4. Don't die and either go to the map exit or use the "nextmap" server command.
5. You'll have the chaingun still but be small like plasmaman. Trying to move truly exposes the bug as you start glitching all over the place due to client-server desyncing.

It's the exact same issue as before. Thank you for your time!
(0022831)
Basinga   
2023-04-15 18:22   
I've been provided a test build that fixes the issue.
The boom compatible maps mentioned now properly don't change your class into a client crashing or desyncing class chimera.

Boom, MBF, MBF21(even if not fully supported) limit removing, vanilla, udmf zandronum. Seems like all compatibilities I could think of work properly now.

All is good in the world of multi class doom mods again :)
(0022832)
Kaminsky   
2023-04-15 18:38   
The test build in question can be downloaded here:'https://cdn.discordapp.com/attachments/479693063128875008/1096816683131355196/ZandroDev3.2-230415-1356.zip [^]'
(0022833)
Kaminsky   
2023-04-17 00:00   
This should be fixed now with:'http://hg.osdn.net/view/zandronum/zandronum-stable/rev/49c4602c534d [^]'
(0022954)
Ru5tK1ng   
2024-01-01 22:20   
Followed instructions outlined in 22830 with r231220. Upon changing the map the playerclass stayed intact and there wasn't any awful desync'd movement. Given my finding plus the details outlined in 22831, I'll mark this as resolved.