Zandronum Chat on our Discord Server Get the latest version: 3.1
Source Code

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0003110Zandronum[All Projects] Bugpublic2017-04-30 11:132018-09-30 21:45
ReporterKorshun 
Assigned ToTorr Samaho 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version3.0-beta 
Target Version3.0Fixed in Version3.0 
Summary0003110: Using anything other than console commands to exit to a nonexistent map makes the server enter an infinite loop
Description"map" and "changemap" check that destination exists before executing. Other ways don't. While switching to a nonexistent map in singleplayer simply stops the game, doing so on a server in 3.0 makes it enter an infinite map loading loop with 100% cpu. But 2.1.2 just goes back to the same map.

The server should just stop or go back to previous valid map or not allow going to nonexistent maps in the first place.

The attached wad is a map with two switches that lead to nonexistent maps using different methods. Host it on a real server.
Attached Files? file icon exittest.wad [^] (1,893 bytes) 2017-04-30 11:13

- Relationships

-  Notes
User avatar (0017448)
Torr Samaho (administrator)
2017-04-30 15:42

The offline behavior of 3.0 seems to be consistent with GZDoom 1.8.6. Can you confirm that? If so, is GZDoom 2.4.0 behaving differently? The new behavior of GZDoom 1.8.6, i.e. to error out, seems correct to me.
User avatar (0017449)
Korshun (reporter)
2017-04-30 16:08

Yes, it is consistent with GZDoom 1.8.6. And GZDoom 1.8.6 is the same as GZDoom 2.4.0.
User avatar (0017481)
Torr Samaho (administrator)
2017-05-01 17:25

The server should now restart itself on map01/e1m1 when a mod instructs it to switch to a non-existing map.
User avatar (0017486)
WaTaKiD (updater)
2017-05-01 18:00

this build contains the fix: 'https://www.dropbox.com/s/hayd6havowr3my5/zandronum-3.0-r170501-1721-6265097-windows.zip?dl=0 [^]'
User avatar (0017487)
Korshun (reporter)
2017-05-01 18:08

It works! But what if the iwad has neither MAP01 nor E1M1? From the code of the fix and CalcMapName it seems it would get stuck in the same endless loop of loading nonexistent MAP01 or E1M1.
User avatar (0017493)
Torr Samaho (administrator)
2017-05-01 18:41

Yeah, that's right. Are there iwads that have neither?
User avatar (0017495)
Korshun (reporter)
2017-05-01 18:50
edited on: 2017-05-01 18:51

I am not aware of any. But it's not too far-fetched to imagine an iwad that only uses maps like MYMOD01 or SOMENAME. Actually, a commercial game that uses GZDoom GPL does just that.

Even if there are no zandronum wads like that yet, they might appear. Going to the previous map is more reliable, as the map is guaranteed to exist.

User avatar (0017499)
WaTaKiD (updater)
2017-05-01 19:06

i decided to check out 'https://zdoom.org/wiki/IWAD [^]' and it seems the adventures of square is the only iwad here that doesnt use map01 or e1m1, but instead e1a1, however zan 3.0 cant load it, but zan 4.0 can
User avatar (0017500)
Torr Samaho (administrator)
2017-05-01 19:08

The problem is that by the time the server has errored out, it's not so clear anymore what the previous map was. Thus, I followed what the ZDoom code used in 3.0 does to initialize "startmap". A different possibility would be to use AllEpisodes[0].mEpisodeMap.
User avatar (0017569)
Torr Samaho (administrator)
2017-05-07 10:35

SERVER_ErrorCleanup now more carefully looks for a valid map to restart the game and exits the server if no map can be found. I think this should be sufficiently robust now.
User avatar (0017575)
WaTaKiD (updater)
2017-05-07 12:58

this build contains the new fix: 'https://www.dropbox.com/s/6x8dmuya1y7qm8r/zandronum-3.0-r170507-1032-c5ac7b4-windows.zip?dl=0 [^]'
User avatar (0017681)
Ru5tK1ng (updater)
2017-05-14 16:32

Tested this with r170513 and the server successfully restarted to map01, e1m1 and e1a1 after pushing the switches in the testwad online.

Issue Community Support
This issue is already marked as resolved.
If you feel that is not the case, please reopen it and explain why.
Supporters: Korshun
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2017-04-30 11:13 Korshun New Issue
2017-04-30 11:13 Korshun File Added: exittest.wad
2017-04-30 15:42 Torr Samaho Note Added: 0017448
2017-04-30 15:42 Torr Samaho Assigned To => Torr Samaho
2017-04-30 15:42 Torr Samaho Status new => feedback
2017-04-30 16:08 Korshun Note Added: 0017449
2017-04-30 16:08 Korshun Status feedback => assigned
2017-05-01 17:25 Torr Samaho Note Added: 0017481
2017-05-01 17:25 Torr Samaho Status assigned => needs testing
2017-05-01 17:25 Torr Samaho Target Version => 3.0
2017-05-01 18:00 WaTaKiD Note Added: 0017486
2017-05-01 18:08 Korshun Note Added: 0017487
2017-05-01 18:41 Torr Samaho Note Added: 0017493
2017-05-01 18:50 Korshun Note Added: 0017495
2017-05-01 18:51 Korshun Note Edited: 0017495 View Revisions
2017-05-01 19:06 WaTaKiD Note Added: 0017499
2017-05-01 19:08 Torr Samaho Note Added: 0017500
2017-05-07 10:35 Torr Samaho Note Added: 0017569
2017-05-07 12:58 WaTaKiD Note Added: 0017575
2017-05-14 16:32 Ru5tK1ng Note Added: 0017681
2017-05-14 16:32 Ru5tK1ng Status needs testing => resolved
2017-05-14 16:32 Ru5tK1ng Resolution open => fixed
2017-05-14 16:32 Ru5tK1ng Fixed in Version => 3.0
2018-09-30 21:45 Blzut3 Status resolved => closed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker