Anonymous | Login | Signup for a new account | 2025-06-17 22:30 UTC | ![]() |
My View | View Issues | Change Log | Roadmap | Zandronum Issue Support Ranking | Rules | My Account |
View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
0001198 | Zandronum | [All Projects] Bug | public | 2012-12-02 13:51 | 2014-07-08 10:33 | ||||||||
Reporter | ZzZombo | ||||||||||||
Assigned To | Torr Samaho | ||||||||||||
Priority | normal | Severity | major | Reproducibility | always | ||||||||
Status | feedback | Resolution | reopened | ||||||||||
Platform | Microsoft | OS | Windows | OS Version | XP/Vista/7 | ||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0001198: Player_SetTeam() leaves a ghost player body when the player is morphed | ||||||||||||
Description | As I've described in my mod's thread, when using this function along with morphing the player leaves the a ghost body of the morphed form. It causes the server to crash when it unloads map. I've shrunk my mod but players leave ghosts bodies now when switched between teams without making the server to crash anymore. | ||||||||||||
Steps To Reproduce | Load attached WAD on D2ST1 in teamgame mode. You can add some bots. Puke script 0000821 player_idx, where player_idx number of the player you wish to infect. At location where he was in time of being infected you will find the ghost body. It can be invisible but it becomes visible when attacked. | ||||||||||||
Additional Information | Possibly related to an old bug there morphed players with no weapons at the time of map unloading caused the server to crash. Also an unrelated issue: if you run the file in any other gamemodes the script will try to restart the map in teamgame mode, but as you can see it will fail because the line str s=StrParam(s:"map ",n:PRINTNAME_LEVEL); will produce just "map " and then ConsoleCommand(s); won't work. When you join the game with the join command you bypass the script that checks joining players' team to move them to humans if necessary. | ||||||||||||
Attached Files | ![]() ![]() ![]() ![]() | ||||||||||||
![]() |
|
Torr Samaho (administrator) 2012-12-09 09:47 |
The problem here is that you are creating an illegal state: The player class Human has "LimitedToTeam 0". When you use Player_SetTeam to change the team of a "Human" player to 1, you create a player on team 1 with a class that is limited to team 0. This is forbidden and the engine resolves this by respawning said player with a class allowed to team 1 (this is also why RESPAWN scripts are triggered by Player_SetTeam here). The respawning internally wasn't done properly though which led to the ghost player. This should hopefully prevent ghost players from appearing. |
ZzZombo (reporter) 2012-12-09 10:59 |
Hm. Is where some way around to change player class without morphing? Morphing AFAIK is used only to temporary change it while I need the effect to be permanent. Maybe introduce a new function to change the player class on the fly? BRB testing. |
Torr Samaho (administrator) 2012-12-09 11:07 edited on: 2012-12-09 11:09 |
Zandronum will automatically change the player class when you change the team and the current class is not allowed to the new team. In your case, if you change the team to infected, the player should automatically be respawned with the infected class. EDIT: Did the new binary fix the problems with the ghost player? |
ZzZombo (reporter) 2012-12-09 11:23 edited on: 2012-12-09 11:24 |
Quote from Torr SamahoNo, although I couldn't find the ghost bodies anywhere, but the server crashed once when I invoked changemap. Crash report attached. Quote from Torr SamahoThe reason I ask for s separate function is that I don't what the player to respawn. It causes the server to move the player to his team spawn spot, but I need him to stay where he was at time of infection. Quote from Torr SamahoAfter changemap some of infected players could get into the Humans team. |
Torr Samaho (administrator) 2012-12-09 11:33 |
Quote from ZzZomboDoesn't crash for me and your crash log doesn't show what's going wrong. Can you tell me exactly how to reproduce the crash? Quote from ZzZomboChanging the player class technically requires the player to be respawned. We can think about letting Player_SetTeam respawn the player at the position he was though. Quote from ZzZombo Please tell me exactly how to reproduce this. |
ZzZombo (reporter) 2012-12-09 12:22 edited on: 2012-12-09 12:27 |
Hm, it didn't crash with the "light" version of the WAD, but crashed with the unstripped version. It's very strange but I can't run the executable you've given me as client anymore, because it hangs after level authentication. It suddenly timeouts from the server. No skins or other autoloaded files are present. But what I did is just running the game with a few bots, infecting some of them and then invoking changemap. In the light version it should changemap successfully but with some bots as Infected in the human team. In the actual version it'll crash. The download link of the full version are here:'http://zandronum.com/forum/showthread.php?tid=1628. [^]' UPD: Best-Ever servers are down for a while so the files can't be downloaded right now and I can't reupload from this connection :/. EDIT: forgot to mention that some of bots were dead at the time of changemap. |
Torr Samaho (administrator) 2012-12-09 20:15 edited on: 2012-12-09 20:19 |
Please let me know when the files are available for download again.Quote from ZzZomboCan't reproduce this. Please list all steps necessary to get an infected on the human team. |
Qent (updater) 2013-02-14 20:50 edited on: 2013-02-14 21:53 |
The files are available again: 'http://static.best-ever.org/wads/zzz_infectedhorde-alpha-27-11-2012.pk3 [^]' 'http://static.best-ever.org/wads/zzz_infectedhorde_acs-alpha-27-11-2012.pk3 [^]' 'http://static.best-ever.org/wads/zzz_infectedhorde_music-alpha-27-11-2012.pk3 [^]' 'http://static.best-ever.org/wads/infected_horde-test-27-11-2012.wad [^]' I have not been able to get infected on the human team either. To clarify: the script that forces all joining players to start on the human team seems to break, but all those who do end up on the human team are human, and all on the infected team are infected. |
Torr Samaho (administrator) 2013-02-23 16:26 |
Quote from QentDo you know whether it breaks due to a bug in the script or in Zandronum's ACS handling? If it's the latter, can somebody create a minimal example wad that demonstrates the problem? |
Dusk (developer) 2013-04-07 00:04 |
From what I gathered on IRC, consensus is that the example given is too sloppily coded to demonstrate anything. A proper example wad is necessary here. |
Arco (updater) 2013-04-11 21:42 edited on: 2013-06-11 04:26 |
I managed to get the dummy actor to spawn on V1.1 by simply adding one bot on my server. I'm not thoroughly convinced that Zand is committing this, and the bot that was forced onto a team had been a zombie prior to joining the human team. It spawns the corpses of the morphed bots while ACS mandates that only humans can spawn, and not zombies. Edit: This still happens in 130512-1932. |
ForrestMarkX (reporter) 2013-07-02 04:42 edited on: 2013-07-02 04:53 |
Here is my example of this issue, I tried to make it as simple as possible 'http://static.best-ever.org/wads/ghostactortestmap.wad [^]' The map and gametype to use is map01 and teamdeathmatch. Join in as team Ghost and you'll be automatically changed to the Normal team, this is where the ghost actor will be spawned. My solution to fix this problem is to kill the actor first then change his team |
Torr Samaho (administrator) 2013-07-02 20:13 edited on: 2013-07-02 20:14 |
ghostactortestmap.wad works started withzandronum.exe -file ghostactortestmap.wad -host +teamdm 1 works fine for me in the latest 1.1 testing binary. Did you really manage to reproduce the error in 1.1 or did you only test 1.0? |
ForrestMarkX (reporter) 2013-07-03 02:17 |
I did the test in 1.0 and 1.1 but I could of been using a older version of 1.1 |
Torr Samaho (administrator) 2013-07-03 19:59 |
Can you confirm that the problem is fixed for you in the latest 1.1 beta build? |
Torr Samaho (administrator) 2013-07-04 18:11 |
ForrestMarkX told me that the latest 1.1 build indeed fixes the problem for him. |
Dusk (developer) 2013-07-04 18:15 |
Does this mean we can consider this resolved? |
Torr Samaho (administrator) 2013-07-04 18:24 |
0001198:0005494 claims that there are problems left after the fix, I wasn't able to reproduce any of these problems though. Since ZzZombo didn't give anymore feedback, I don't see anything we can do about this though. Furthermore, 0001198:0006283 talks about bot related problems. There is no detailed instruction on how to reproduce those though either. |
Arco (updater) 2013-07-14 19:02 edited on: 2013-07-14 19:06 |
I tested this ticket with ghostactortestmap.wad and with human and bot clients . It appears to be working perfectly. I'm assuming ZzZombo's example gave me a false flag due to his coding. Also, there are no issues on my part regarding ZzZombo's previous posts. |
Dusk (developer) 2013-07-14 20:41 |
I think we can just close this at this point. Re-open if the issue crops up again. |
ZzZombo (reporter) 2014-07-08 10:31 |
I again got this to happen. Load the newly attached file w/ server (teamgame, any stock map w/ team starts will do, I used D2CTF3), connect to it and add a bunch of bots (I used 7). After the game chooses a player to become the Hunter inspect the world (you might wanna to use the god cheat to prevent dying in the process) and eventually you'll notice a ghost body of the Hunter. Some of them can't be attacked and killing them kills the actual player, pretty much like a voodoo doll. Some of them just stay there, they don't block path or anything. |
Only registered users can voice their support. Click here to register, or here to log in. | |
Supporters: | No one explicitly supports this issue yet. |
Opponents: | No one explicitly opposes this issue yet. |
![]() |
|||
Date Modified | Username | Field | Change |
2012-12-02 13:51 | ZzZombo | New Issue | |
2012-12-02 13:51 | ZzZombo | File Added: skulltag_bug_example9.pk3 | |
2012-12-09 08:26 | Torr Samaho | Assigned To | => Torr Samaho |
2012-12-09 08:26 | Torr Samaho | Status | new => assigned |
2012-12-09 09:47 | Torr Samaho | Note Added: 0005489 | |
2012-12-09 09:47 | Torr Samaho | Status | assigned => needs testing |
2012-12-09 10:59 | ZzZombo | Note Added: 0005492 | |
2012-12-09 11:07 | Torr Samaho | Note Added: 0005493 | |
2012-12-09 11:09 | Torr Samaho | Note Edited: 0005493 | View Revisions |
2012-12-09 11:23 | ZzZombo | Note Added: 0005494 | |
2012-12-09 11:24 | ZzZombo | File Added: CrashReport.zip | |
2012-12-09 11:24 | ZzZombo | Note Edited: 0005494 | View Revisions |
2012-12-09 11:33 | Torr Samaho | Note Added: 0005496 | |
2012-12-09 12:22 | ZzZombo | Note Added: 0005497 | |
2012-12-09 12:23 | ZzZombo | Note Edited: 0005497 | View Revisions |
2012-12-09 12:27 | ZzZombo | Note Edited: 0005497 | View Revisions |
2012-12-09 20:15 | Torr Samaho | Note Added: 0005500 | |
2012-12-09 20:19 | Torr Samaho | Note Edited: 0005500 | View Revisions |
2012-12-18 20:41 | Dusk | Target Version | => 1.1 |
2013-02-14 20:50 | Qent | Note Added: 0006026 | |
2013-02-14 21:53 | Qent | Note Edited: 0006026 | View Revisions |
2013-02-23 16:26 | Torr Samaho | Note Added: 0006064 | |
2013-04-07 00:04 | Dusk | Note Added: 0006263 | |
2013-04-07 00:04 | Dusk | Status | needs testing => feedback |
2013-04-11 21:42 | Arco | Note Added: 0006283 | |
2013-06-11 04:26 | Arco | Note Edited: 0006283 | View Revisions |
2013-07-02 04:42 | ForrestMarkX | Note Added: 0006549 | |
2013-07-02 04:52 | ForrestMarkX | Note Edited: 0006549 | View Revisions |
2013-07-02 04:53 | ForrestMarkX | Note Edited: 0006549 | View Revisions |
2013-07-02 20:13 | Torr Samaho | Note Added: 0006557 | |
2013-07-02 20:14 | Torr Samaho | Note Edited: 0006557 | View Revisions |
2013-07-02 20:14 | Torr Samaho | Note Revision Dropped: 6557: 0003636 | |
2013-07-02 20:14 | Torr Samaho | File Added: ghostactortestmap.wad | |
2013-07-03 02:17 | ForrestMarkX | Note Added: 0006559 | |
2013-07-03 19:59 | Torr Samaho | Note Added: 0006564 | |
2013-07-04 18:11 | Torr Samaho | Note Added: 0006566 | |
2013-07-04 18:15 | Dusk | Note Added: 0006567 | |
2013-07-04 18:24 | Torr Samaho | Note Added: 0006568 | |
2013-07-14 19:02 | Arco | Note Added: 0006631 | |
2013-07-14 19:06 | Arco | Note Edited: 0006631 | View Revisions |
2013-07-14 20:30 | Dusk | Target Version | 1.1 => |
2013-07-14 20:41 | Dusk | Note Added: 0006639 | |
2013-07-14 20:41 | Dusk | Status | feedback => closed |
2013-07-14 20:41 | Dusk | Resolution | open => unable to reproduce |
2014-07-08 10:31 | ZzZombo | Note Added: 0009902 | |
2014-07-08 10:31 | ZzZombo | Status | closed => feedback |
2014-07-08 10:31 | ZzZombo | Resolution | unable to reproduce => reopened |
2014-07-08 10:33 | ZzZombo | File Added: skulltag_bug_example10.pk3 |
Copyright © 2000 - 2025 MantisBT Team |