• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Final Release Final release of white-listed DynamicMapRotator mutator

Status
Not open for further replies.
I seem to be stuck on small player numbers once the rotation has passed RedOctoberFactory which has the setting so it plays small maps.

My map cycle starts with Apartments which will run full size, then RedOctFactory which will run small size if there are less than 14 players and then it goes to Station which i would expect to be full size.

Once past RedOctFactory all the maps are run in small size even though the mutator is not asking for small size.

Also, my server capacity is 52 players and if i go over that number, it shutsdown or does something terrible (I think a unicorn gets slaughtered). Should I have changed MaxPlayercount to 52 ? Secondly in the RedOctFactory string should I change MaxPlayers to 52 or will that impact on what size version of the map I get.

This is my .ini file and I have attached what my map cycle looks like.

[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=5
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Apartments")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Barracks")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=52,MapURL="TE-CommissarsHouse")
MapFilters=(MinPlayerCount=32,MaxPlayerCount=52,MapURL="TE-FallenFighters")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-GrainElevator")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Gumrak")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=52,MapURL="TE-PavlovsHouse")
MapFilters=(MinPlayerCount=12,MaxPlayerCount=52,MapURL="TE-Spartanovka")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Station")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL="TE-RedOctoberFactory?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL="TE-RedOctoberFactory?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL="TE-RedOctoberFactory?MaxPlayers=64")

[IniVersion]
0=1328884072.000000
 

Attachments

  • Capture.JPG
    Capture.JPG
    48.4 KB · Views: 0
Upvote 0
I seem to be stuck on small player numbers once the rotation has passed RedOctoberFactory which has the setting so it plays small maps.

My map cycle starts with Apartments which will run full size, then RedOctFactory which will run small size if there are less than 14 players and then it goes to Station which i would expect to be full size.

Once past RedOctFactory all the maps are run in small size even though the mutator is not asking for small size.

Also, my server capacity is 52 players and if i go over that number, it shutsdown or does something terrible (I think a unicorn gets slaughtered). Should I have changed MaxPlayercount to 52 ? Secondly in the RedOctFactory string should I change MaxPlayers to 52 or will that impact on what size version of the map I get.

This is my .ini file and I have attached what my map cycle looks like.

[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=5
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Apartments")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Barracks")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=52,MapURL="TE-CommissarsHouse")
MapFilters=(MinPlayerCount=32,MaxPlayerCount=52,MapURL="TE-FallenFighters")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-GrainElevator")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Gumrak")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=52,MapURL="TE-PavlovsHouse")
MapFilters=(MinPlayerCount=12,MaxPlayerCount=52,MapURL="TE-Spartanovka")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Station")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL="TE-RedOctoberFactory?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL="TE-RedOctoberFactory?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL="TE-RedOctoberFactory?MaxPlayers=64")

[IniVersion]
0=1328884072.000000

If you are changing MaxPlayers to get smaller maps, then you also will need to add ?MaxPlayers=64 to all maps that you want to run in full size, or else the server will remember the last used MaxPlayers and keep all maps as small.
 
Upvote 0
Ok this is what I will be using now. I will let you know how it goes in a few days.

Was playing yesterday with a stripped down version of the below and still had plenty of occasions when it would repeat a map in the cycle or just decide to go back to the start of the map cycle.

[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=5
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Apartments?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Barracks?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-GrainElevator?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Station?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-CommissarsHouse?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-CommissarsHouse?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-CommissarsHouse?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-FallenFighters?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-FallenFighters?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-FallenFighters?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Gumrak")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-PavlovsHouse?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-PavlovsHouse?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-PavlovsHouse?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-Spartanovka?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-Spartanovka?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-Spartanovka?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-RedOctoberFactory?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-RedOctoberFactory?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-RedOctoberFactory?MaxPlayers=52")

[IniVersion]
0=1328884072.000000
 
Upvote 0
Ok this is what I will be using now. I will let you know how it goes in a few days.

Was playing yesterday with a stripped down version of the below and still had plenty of occasions when it would repeat a map in the cycle or just decide to go back to the start of the map cycle.

[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=5
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Apartments?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Barracks?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-GrainElevator?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Station?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-CommissarsHouse?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-CommissarsHouse?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-CommissarsHouse?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-FallenFighters?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-FallenFighters?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-FallenFighters?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Gumrak")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-PavlovsHouse?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-PavlovsHouse?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-PavlovsHouse?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-Spartanovka?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-Spartanovka?MaxPlayers=32")
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-Spartanovka?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,Map URL="TE-RedOctoberFactory?MaxPlayers=16")
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,Ma pURL="TE-RedOctoberFactory?MaxPlayers=32")
M
apFilters=(MinPlayerCount=31,MaxPlayerCount=52,Ma pURL="TE-RedOctoberFactory?MaxPlayers=52")

[IniVersion]
0=1328884072.000000

This will probably be because of the above gaps. If 0-14 players, then the small version. Medium version for 18 to 30. This means there is a gap from 15 to 17. If there are 15, 16 or 17 players, then the rotator won't know what to select and it will let the default RO2 map rotation make the choice. The RO2 vanilla map rotator has no clue of what the mutator does, meaning it will be unsure what the next one will be.
 
Last edited:
Upvote 0
Not only did it not like it, its culled the lines it didn't like.

Just opened the RODynamicMapRotator.ini to make those changes and this is what I got.

[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=3
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Apartments?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Barracks?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-GrainElevator?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Station?MaxPlayers=52")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL="TE-Gumrak")
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=18,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)

[IniVersion]
0=1328884072.000000
 
Upvote 0
I thought I fixed it up making sure the MinPlayerCount was consecutive from the MaxPlayerCount from the previous line.

It stripped out all the MapURL info again. This time all of the map urls.

Though it continues to load the mutators but it wont select the maps.


[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=1
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)

[IniVersion]
0=1328884072.000000
 
Upvote 0
Ive never tried this mutator,empty servers don't need it,but i always thought map url's should be written like this:

MapURL=("TE-Apartments?MaxPlayers=52"))

("xxxx") syntax is used for dynamic string array properties. "xxxx" is used for string properties. The MapURL property in the mutator is a flat string property and therefore it should be MapURL="xxx"
 
Upvote 0
I thought I fixed it up making sure the MinPlayerCount was consecutive from the MaxPlayerCount from the previous line.

It stripped out all the MapURL info again. This time all of the map urls.

Though it continues to load the mutators but it wont select the maps.


[DynamicMapRotator.DynamicMapRotator]
bRandomOrder=false
bAlsoCountBots=false
AdditionalUrlVariables=?mutator=Antilag.Antilag,TankTweak.TankTweak
LastMapIndex=1
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)
MapFilters=(MinPlayerCount=0,MaxPlayerCount=14,MapURL=)
MapFilters=(MinPlayerCount=15,MaxPlayerCount=30,MapURL=)
MapFilters=(MinPlayerCount=31,MaxPlayerCount=52,MapURL=)

[IniVersion]
0=1328884072.000000

This will happen when there was some mistake in the MapURL string. And I don't mean that it wasn't a valid map url, but the string syntax. The ini files are read and if a string contains an invalid character or if it was somehow broken (missing " at the end or having a " too many), then the UT engine will discard that string. Also will it use an empty string if the MapURL was misspelled or if there were spaces around the '='.
Apparently those MapURL strings were for some reason discarded by UT and removed from the ini file. The cause can only be traced if we had the original input.

Edit:
Did you maybe copy the content of the ini file out of these posts? There are spaces in the MapURL name and that will for sure give you the above result.
 
Last edited:
Upvote 0
("xxxx") syntax is used for dynamic string array properties. "xxxx" is used for string properties. The MapURL property in the mutator is a flat string property and therefore it should be MapURL="xxx"

I wish i could say i knew what you were talking about, but i obviously dont.. ..lol
But i get the gist of what you mean anyway.
 
Upvote 0
The problem with the ?MaxPlayers=16 is that while that map is running only 16 people can join the server even though its 52 slot server.

Is this correct ? or will it take more people than 16 when the ?MaxPlayers=16 is set.

That is correct. If MaxPlayers is 16, then only 16 can enter your server. This can be changed though, but it will mean a new release of this mutator and a new white-list procedure. Even so will the current version be removed from the white-list.
 
Upvote 0
Status
Not open for further replies.