Going to breath new life into this thread. I have the same issue as above. I posted last night in the CoD7 forum (could a mod delete it or lock it please?) the following:
This may or may not be the right forum for this question, so please forgive me and move if need be.
I finally have B3 working for CoD7 close to 100%. We're still working through some issues, but what seems to be most troubling to me is rotationmanager. Don't get me wrong, it's a sweet plugin, but I don't think it's doing 100% of what it's supposed to.
What IS working is the change from one rotation to the next. At 7 players we switch from the small rotation (all maps on TDM and DEM) to the medium one (all maps except firing range and nuke town, DEM, DOM and S&D). The change to the large rotation also seems to work pretty well. Also the gametypes seem to randomize pretty well as far as I've noticed.
But what ISN'T working, or at least not the way I want it to, is the randomness of the maps. Seems like we play a lot of the same maps every night.
Here's my xml for rotationmanager:
<configuration plugin="rotationmanager">
<settings name="settings">
<!--
Three rotations have two switchingpoints.
The first rotationswitch will be when server reaches the next number of players:
-->
<set name="switchcount1">8</set>
<!--
Three rotations have two switchingpoints. Set to more than your server slot number to disable.
The second rotationswitch will be when server reaches the next number of players:
-->
<set name="switchcount2">13</set>
<!--
Do you want the server to react fast to your playercount or would you like to
reduce the number of rotationswitches? The hysteresis will make your switchcounts
somewhat flexible. Setting it to 0 will make the plugin react at once when a
switchpoint is passed.
-->
<set name="hysteresis">0</set>
<!--
Do you want the plugin to build a random rotation when switching? This is good when
we need to switch a lot! I suggest you leave this set to true. (Options: true/false)
-->
<set name="randomizerotation">true</set>
<!--
The next line makes the new rotation effective immediately (on next map). Does NOT
perform a map change.
NOTE: If you dont use randomizerotation this could lead to playing the same maps
over and over again! (Options: true/false)
-->
<set name="immediate">true</set>
<!--
What gameversion is running? CoD1 or CoD:UO = 1 / CoD2 = 2 / CoD4 = 4 / CoD5 = 5 /
CoD MW2 = 6 / CoD BO Ranked = 7
-->
<set name="version">7</set>
<!--
I think its fair if we wait for the slower maploaders. This option will fast_restart
the next map after the set delay (seconds) so slower players have equal chances.
Setting it to 0 will disable the function. Useless for Black Ops.
-->
<set name="mapdelay">0</set>
</settings>
<settings name="histories">
<!--
How many maps should we store as a maphistory, so they don't get stored in the
rotation too close to eachother. If for example set to 4, at least 4 other maps
will be put in rotation before a map can be repeated. This goes for randomized
rotations only! set to 0 to disable this.
-->
<set name="maphistory_small">7</set>
<set name="maphistory_medium">7</set>
<set name="maphistory_large">7</set>
<!--
Same as maphistory, but is applied to gametypes for every rotation size.
NOTE: If you set this bigger or equal than your correspondent rotation's amount
of gametypes, the rotation will always stop growing after first <this value> maps.
-->
<set name="gthistory_small">1</set>
<set name="gthistory_medium">3</set>
<set name="gthistory_large">4</set>
</settings>
<!-- Call of Duty: Black Ops related settings -->
<settings name="cod7">
<!-- Number of players (12 or 18 ONLY) -->
<set name="slot_num">18</set>
<!-- Game mode: 0 for softcore, 1 for hardcore, 2 for barebones -->
<set name="game_mode">1</set>
</settings>
<!--
Next section is the setting of maprotations. You can supply several maps for several gametypes
Don't use a gametype twice in the same rotation though, it will not work as planned!
You can however use a map more than once in a gametype if you would like to play it more often.
If you left randomizerotation to true the plugin will create a random rotation from all gametypes/maps
provided and it will be a proper and smart maprotation.
A little reference on cod4-cod7 gametypes and maps:
CoD4 gametypes (this also applies to all the next CoDs):
"dm" - Free for All deathmatch
"dom" - Domination
"koth" - Headquarters
"sab" - Sabotage
"sd" - Search & Destroy
"war" - Team Deathmatch (DO NOT use for Black Ops)
CoD6 (Modern Warfare 2) ONLY:
"ctf" - Capture the Flag
"arena" - Arena
"dd" - Demolition
"oneflag" - One-Flag CTF
"gtnw" - Global Thermonuclear War
CoD7 (Black Ops) ONLY:
"ctf" - Capture the Flag
"dem" - Demolition (Please note: there's no demolition in barebones)
"tdm" - Team Deathmatch
cod4 maps: mp_backlot mp_bloc mp_bog mp_carentan mp_cargoship mp_citystreets mp_convoy mp_countdown mp_crash mp_creek mp_crossfire mp_farm mp_killhouse mp_overgrown mp_pipeline mp_shipment mp_showdown mp_strike mp_vacant
cod6 maps (alteriwnet, all dlcs): mp_abandon mp_afghan mp_boneyard mp_brecourt mp_checkpoint mp_compact mp_complex mp_crash mp_derail mp_estate mp_favela mp_fuel2 mp_highrise mp_invasion mp_nightshift mp_overgrown mp_quarry mp_rundown mp_rust mp_storm mp_strike mp_subbase mp_terminal mp_trailerpark mp_underpass mp_vacant
cod7 maps: mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_firingrange mp_hanoi mp_havoc mp_mountain mp_nuked mp_radiation mp_russianbase mp_villa
-->
<settings name="rotation_small">
<set name="tdm">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_nuked mp_duga mp_firingrange mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="dem">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_nuked mp_firingrange mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
</settings>
<settings name="rotation_medium">
<set name="sd">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_nuked mp_crisis mp_duga mp_firingrange mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="ctf">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="dem">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="dom">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
</settings>
<settings name="rotation_large">
<set name="sd">mp_berlinwall2 mp_kowloon mp_stadium mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_firingrange mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="dem">mp_berlinwall2 mp_kowloon mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="dom">mp_berlinwall2 mp_kowloon mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="ctf">mp_berlinwall2 mp_kowloon mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
<set name="sab">mp_berlinwall2 mp_kowloon mp_discovery mp_array mp_cairo mp_cosmodrome mp_cracked mp_crisis mp_duga mp_hanoi mp_havoc mp_mountain mp_radiation mp_russianbase mp_villa</set>
</settings>
</configuration>
As you can see, I keep a pretty high number for the history since most people aren't on long enough to see a full rotation anyway.
Any ideas? Am I misinterpreting something somewhere?
Freelander suggested something that makes sense; when switching from one rotation to the next the plugin isn't paying attention to the history from the previous rotation. If that's true, is there any way to at least use the same history regardless of which rotation is being used (small, med, large)?
I don't know how to code Python, otherwise I'd probably be figuring something out myself. If someone could help with this, I'd greatly appreciate it.