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
0001669Zandronum[All Projects] Suggestionpublic2014-01-16 21:072018-09-30 21:37
ReporterQent 
Assigned ToTorr Samaho 
PrioritynormalSeveritytweakReproducibilityN/A
StatusclosedResolutionfixed 
PlatformMicrosoftOSWindowsOS VersionXP/Vista/7
Product Version1.2 
Target Version2.1Fixed in Version2.1 
Summary0001669: Make sv_randommaprotation respect votes
DescriptionRandom map plays the map list in a random order and does not revisit maps until every map in the list has been played. Voting away from a map (either a map or changemap vote) does not mark a map as completed, so if there is one map in particular that the players dislike and vote down, the server will eventually have only that map remaining, and keep coming back to it until it gets played.

Instead, voting away from a map should count the same as if that map were completed by normal means.
Steps To ReproduceHave a server with a few maps in random rotation and a short timelimit like 0.1 with sv_limitnumvotes false. Every time one map (say map01) comes up, vote to a different map. On the other maps, let the time expire.
Attached Files

- Relationships

-  Notes
User avatar (0008076)
Hypnotoad (reporter)
2014-01-18 20:11

In general I think the map rotation system can be much improved. If you're using a server that hosts in excess of 100 maps (e.g. jumpmaze servers) then having random maps on or off both have drawbacks. If it's off, very often very large chunks of the map rotation might be skipped because people will keep voting to change to their favorite map which may be at the end or beginning of the rotation, skipping entire wads in the process often resulting in maps never getting played. If random is on, due to voting to change to a particular map being very common the issue presented in the OP is present, with some maps repeating far too often. I'd love to see a more user orientated map rotation system, for instance with users choosing how they would like to proceed through the rotation on exit, I tried to do this with my voter mod:'https://zandronum.com/forum/showthread.php?tid=3929 [^]' however it requires a lot of work having to manually input every map lump name and its description into the script and then recompiling. ACS having access to the map rotation info would also be a very nice feature.
User avatar (0008143)
Konar6 (reporter)
2014-01-28 07:23

'https://bitbucket.org/Konar6/kpatch/commits/4b02a1a16bef5afc6c439ecf96f683a50a0f1ecf [^]'

This also fixes the problem with the first map loaded on the server startup not being random, and the problem with the first map not being marked as used, the latter which I discovered while making this patch.
User avatar (0009414)
Watermelon (developer)
2014-06-15 15:09

Still interested in this ticket?
User avatar (0009467)
Hypnotoad (reporter)
2014-06-15 17:18

I am.
User avatar (0011407)
Leonard (developer)
2015-01-17 13:20

Made a pull request.
User avatar (0012668)
unknownna (updater)
2015-06-12 22:19

Yes, this is a very frequent issue on CTF servers. For instance, if people don't want to play MAP13 in IDL201x_a.wad they usually vote for MAP04 or MAP31. The problem is that when MAP04 and MAP31 are completed, the server always goes back to MAP13, which usually ends up with people voting for another map change.

Quote from Leonard
A map is now marked as used when entered instead of when exited in the rotation list. (fixes 1669)

This is the desired behavior.
User avatar (0012715)
Torr Samaho (administrator)
2015-06-14 13:48

This binary contains Leonard's fix. unknownna, can you check whether it works as expected?
User avatar (0012716)
unknownna (updater)
2015-06-14 14:23

It seems to work fine. What about Konar6's fix? The first map isn't random.
User avatar (0012717)
Torr Samaho (administrator)
2015-06-14 14:56

How is this? It should contain the relevant part of Konar6's fix to randomize the first map.
User avatar (0012718)
unknownna (updater)
2015-06-14 15:17
edited on: 2015-06-14 15:53

That seems to work, but it's very biased to pick MAP03 if MAP01, MAP02 and MAP03 are in the maplist when using idl201x_a.wad.

Actually, the randomizer only picks 1 map and always uses that as the initial random map.

Edit:

It works fine in COOP and DM, but in CTF it always uses 1 map only.

It works fine in all other game modes. CTF is the only one that is bugged.

User avatar (0012720)
Torr Samaho (administrator)
2015-06-14 18:03

Can you elaborate what exactly happens in CTF and what should happen instead?
User avatar (0012721)
cobalt (updater)
2015-06-14 18:07

Issue addressed by commit cd3f192e1a0c: A map is now marked as used when entered instead of when exited in the rotation list. (fixes 1669)
Committed by Leonard on Saturday 13 June 2015 01:04:41

Changes in files:

 docs/zandronum-history.txt | 1 +
 src/maprotation.cpp | 5 ++---
 2 files changed, 3 insertions(+), 3 deletions(-)

User avatar (0012722)
unknownna (updater)
2015-06-14 18:11

Let's say that I have MAP01, MAP02, MAP03, MAP04, MAP05 and MAP06 added to the map list with sv_randommaprotation set to 1. For some reason, every time you start a server, it only uses MAP06 as the first random map. It's as if the PRNG is broken in CTF or something.

It works correctly and as expected in all other game modes, i.e., MAP06 isn't always selected as the first random map in the other game modes.
User avatar (0012730)
WaTaKiD (updater)
2015-06-15 00:17

with this commit, if sv_maprotation 1 and no maps in the maplist, doing map map01 will crash

steps:
load doom2.wad
sv_maprotation 1
map map01
crash
User avatar (0012731)
Torr Samaho (administrator)
2015-06-15 06:14
edited on: 2015-06-15 06:15

This was caused by Leonard's patch, but should be fixed now.

This shows again that beta releases are necessary before a public release.

User avatar (0012732)
cobalt (updater)
2015-06-15 06:22

Issue addressed by commit 0e6901ea2bbf: Fixed: In case "sv_maprotation 1" and an empty map rotation list, the CCMD map caused the server to crash (addresses 1669).
Committed by Benjamin Berkels [Torr Samaho] on Monday 15 June 2015 08:14:12

Changes in files:
 docs/zandronum-history.txt | 2 +-
 src/maprotation.cpp | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)
User avatar (0012733)
WaTaKiD (updater)
2015-06-15 16:24
edited on: 2015-06-15 16:25

looks like the crash is fixed, ive tried many different combinations of sv_maprotation, sv_randommaprotation, addmap/delmap map01, and map/changemap both offline and online, and can no longer reproduce the crash

heres the build i used incase anyone else feels like testing:'https://www.dropbox.com/s/jk657q08v2neetv/zandronum-2.1-150615-0614-0e6901e-windows.zip?dl=0 [^]'

User avatar (0012831)
unknownna (updater)
2015-07-06 21:44

Quote from unknownna
It works fine in all other game modes. CTF is the only one that is bugged.

The non-random CTF issue was a side effect of having compat_oldrandom enabled.

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: Hypnotoad Klofkac MazterQyoun-ae Ijon Tichy TheCitrusKiwi wario Combinebobnt President People Leonard mifu unknownna
Opponents: No one explicitly opposes this issue yet.

- Issue History
Date Modified Username Field Change
2014-01-16 21:07 Qent New Issue
2014-01-18 20:11 Hypnotoad Note Added: 0008076
2014-01-28 07:23 Konar6 Note Added: 0008143
2014-06-15 15:09 Watermelon Note Added: 0009414
2014-06-15 15:09 Watermelon Status new => feedback
2014-06-15 17:18 Hypnotoad Note Added: 0009467
2015-01-17 13:20 Leonard Note Added: 0011407
2015-06-12 22:19 unknownna Note Added: 0012668
2015-06-12 22:52 Dusk Status feedback => needs review
2015-06-14 13:48 Torr Samaho Note Added: 0012715
2015-06-14 13:48 Torr Samaho Status needs review => assigned
2015-06-14 14:23 unknownna Note Added: 0012716
2015-06-14 14:56 Torr Samaho Note Added: 0012717
2015-06-14 14:57 Torr Samaho Assigned To => Torr Samaho
2015-06-14 14:57 Torr Samaho Status assigned => needs testing
2015-06-14 15:17 unknownna Note Added: 0012718
2015-06-14 15:19 unknownna Note Edited: 0012718 View Revisions
2015-06-14 15:25 unknownna Note Edited: 0012718 View Revisions
2015-06-14 15:33 unknownna Note Edited: 0012718 View Revisions
2015-06-14 15:37 unknownna Note Edited: 0012718 View Revisions
2015-06-14 15:53 unknownna Note Edited: 0012718 View Revisions
2015-06-14 18:03 Torr Samaho Note Added: 0012720
2015-06-14 18:07 cobalt Target Version => 2.1
2015-06-14 18:07 cobalt Description Updated View Revisions
2015-06-14 18:07 cobalt Note Added: 0012721
2015-06-14 18:11 unknownna Note Added: 0012722
2015-06-15 00:17 WaTaKiD Note Added: 0012730
2015-06-15 06:14 Torr Samaho Note Added: 0012731
2015-06-15 06:15 Torr Samaho Note Edited: 0012731 View Revisions
2015-06-15 06:22 cobalt Note Added: 0012732
2015-06-15 16:24 WaTaKiD Note Added: 0012733
2015-06-15 16:25 WaTaKiD Note Edited: 0012733 View Revisions
2015-06-24 22:45 Dusk Status needs testing => resolved
2015-06-24 22:45 Dusk Fixed in Version => 2.2
2015-06-24 22:45 Dusk Resolution open => fixed
2015-06-24 22:48 Dusk Fixed in Version 2.2 => 2.1
2015-07-06 21:44 unknownna Note Added: 0012831
2018-09-30 21:37 Blzut3 Status resolved => closed






Questions or other issues? Contact Us.

Links


Copyright © 2000 - 2024 MantisBT Team
Powered by Mantis Bugtracker