The Ravenous Bugblatter Beast of Traal
Stupid, but extremely ravenous!

Map Management Plugin - Version 4.0 - User Guide

Filename: plugin_blatt_map

Offline Manual

You are reading this offline manual for this plugin. The links to the right navigate through the offline information. The links above and to the left link to www.ravenousbugblatterbeast.pwp.blueyonder.co.uk. If you downloaded the plugin from somewhere else, or downloaded it some time ago, I recomend you check for an updated plugin. Note that the on-line manual may have been updated even if the plugin hasn't.

Choosing a mode

This plug runs in two modes:

  • In voting mode, when the end of a map is reached the system starts an interactive menu driven vote to choose the next map. In the period before the vote starts, players can nominate maps to be on the menu.
  • In cycle mode, the map is cycled to the next map. However, this is an improvement over the standard map cycle as it is synchronised to the end of the round, displays the correct nextmap even when admin_map is used, and it can prevent administrators from being kicked. Cycling mode also disables all forms of map voting except for admin_vote_map, which is made accessible to administrators with ACCESS_MAP level.

For most situations I recommend voting mode. You can change modes with the bbmap_mode command:

bbmap_mode vote

bbmap_mode cycle

Setting up victory conditions

A victory condition specifies when the map "ends". What happens at the "end" of the map depends on whether you are in voting or cycle mode: In voting mode, the vote begins. In cycle mode, the map changes to the next map in the cycle (at the end of the next round on CS, if bbmap_sync is on).

The plugin supports up to 6 victory conditions:

X mins The map will end after being played for the specified time.
X rounds The map will end after the specified number of rounds have been played.
X wins The map will end after the specified number of rounds have been won be the leading team.
X wins lead The map will end after the leading team has won X rounds more than their opponents.
X frags The map will end after the leading player has scored X points. In most game mods points are scored for kills (frags). In some, like DoD points are also scored for objectives. This setting uses the number of points, not the number of kills.
X frags lead The map will end after the leading player has scored X points more than the 2nd best player.

Any of the six victory conditions can be combined and are configured using the bbmap_duration command. To disable any victory connection except time, set it to zero. For example, the following sets the map to end after 20 minutes, 30 rounds or if one team gets a 10 round lead over the other:

bbmap_duration 20 mins

bbmap_duration 20 rounds

bbmap_duration 0 wins

bbmap_duration 10 wins lead

bbmap_duration 0 frags

bbmap_duration 0 frag leads

NOTE: Victory conditions that are based on rounds or rounds won by teams are currently only supported for counter-strike.

Although this may sound a bit fancy for the majority of servers, I recommend that you consider a "wins lead" condition where supported, to prevent situations where one team has a huge advantage over the other either due to skill imbalances or equal skill and the map being unbalanced.

Using maps.ini, mapcycle.txt and standardmaps.ini

This plugin uses three lists of maps, standardmaps.ini, maps.ini and mapcycle.txt. The purpose of the last of these two files is subtly different to their normal purpose when this plugin is installed.

All of them simply contain a list of map names without the .bsp extension.

standardmaps.ini

This one is easy to understand. It should contain the names of all the maps that come as standard with your game mod, regardless of whether you use them on your server or not. It is used when generating a vote menu so that the plugin knows when to warn the user about custom maps.

If you do not want any custom map warnings displayed, simply don't create this file.

maps.ini

When this plugin is not installed, Admin Mod uses this file as a list of maps available to the admin_map and admin_vote_map commands, and it has no bearing on the cycle. It's existence is also option. With this plugin installed, this becomes the master list of all maps on your server.

This file should contain every map available on your server - the plugin does not support having maps in the cycle that you cannot also vote for. The maps.ini file will be used to determine which maps players are able to nominate. The order of the maps in this file is also used to determine the order maps appear on the menu / are cycled. As votes/cycles occur the plugin rewrites this file with a new order so that it remembers which maps have been played recently between server restarts.

mapcycle.txt

When this plugin is not installed, half-life uses this file as a list of all maps in the cycle, in the order they should be cycled. When this plugin is installed, the file is still the list of maps to be cycled, but it is also the list of maps the plugin is allowed to use to fill any empty spaces on the voting menu if there are not enough nominations. e.g. If "cs_assault" is in maps.ini but not in mapcycle.txt you can nominate it, but it will never automatically get added to the voting menu, and if in cycle mode, the plugin will never cycle to it.

Now heres the fun part: The order of the map names in mapcycle.txt is ignored once the plugin is installed. Maps are cycled to / used to fill empty spaces on the voting menu based on their current order in maps.ini. To clarify imagine taking a copy of maps.ini and removing all those map names that are missing from mapcycle.txt. What you are left with is the maps in the cycle, in the order they will be cycled.

Although this seems a bit complex at first, there is a sensible reason why:

  • When filling empty spaces on the voting menu maps, are taken from the top of maps.ini, but only if they are also listed in mapcycle.txt - mapcycle.txt is being used as a filter.
  • When picking a map to cycle to, the first one in maps.ini that also appears in mapcycle.txt is chosen.
  • The winner of a vote or any map cycled to is moved to the bottom of maps.ini
  • Any maps on a vote menu that did not win are moved to just far enough off the bottom that they will not be banned as recently played. This means they will not be used to fill empty spaces on the next vote menu, unless you have very few maps in mapcycle.txt.
Using the two files in this way means that if you switch a server back and forth between voting and cycling modes the plugin is still able to accurately ban the last few maps played from being nominated, even if they were played as part of a cycle. It also means the cycle can pick up from where it left off if the server is restarted, rather than always going back to the same map, and you don't end up with the same unpopular map being continuously added to the vote menu when there are not enough nominations.

Automatically create map lists

To help you maintain your mapcycle.txt and maps.ini files, you can download my Map Cycle Builder scripts which build these files from the contents of your maps folder.

Using more than 200 maps

Unfortunately I had to hard code the maximum number of maps in maps.ini into the plugin source code. If you wish to use the plugin with more than 200 maps, you will have to change the constant MAX_MAPS at the top of plugin_blatt_map.sma and recompile it.

Prevent admins being kicked on map change

Some servers suffer a problem where all administrators that have a reserved name are kicked whenever the map changes, and those without a reserved name loose their administrator rights. This is a known bug in Admin Mod, and !2SX! has written a plugin_antiadminkick to prevent this.

If you install this plugin and plugin_antiadminkick together, the anti-kick functionality will automatically be used whenever this plugin changes the map for any reason - votes, cycles, admin_map commands, etc.

However, you must ensure that you have at least version 3.13 of plugin_antiadminkick, and that plugin_antiadminkick is above plugin_blatt_map in your plugin.ini file.

Making players aware of custom maps

If you have some maps you have downloaded on your server that are not part of the standard set for your game mod, you can have the plugin warn players about such maps. Create a file called standardmaps.ini in either addons/adminmod/config or in your game mod folder, and in it list all the maps that are standard for your game. This will have two effects:

  • When a vote menu is displayed, it will indicate when a custom map appears on the vote.
  • When the server is about to change to a custom map for any reason, it will display a message indicating where custom maps can be downloaded.

To set the URL from which players can download your custom maps, use the command bbmap_mapsurl.

Creating Map Specific Configurations

You can create different configurations for specific maps. However, you must ensure that you restore the default configuration in your adminmod.cfg (or server.cfg/listenserver.cfg for an old-style installation of Admin Mod). e.g. If you want de_dust to run for 30 minutes, and all other maps to run for 40 minutes, create a file, de_dust.cfg in your cstrike folder and in it put:

admin_command bbmap_duration 30 minutes

However this will mean that once dust is played the duration will remain on 30 minutes for all future maps. Therefore you have to add the following to adminmod.cfg to change it back after dust is played:

admin_command bbmap_duration 40 minutes

Silence is golden...

If you want to turn off the audio announcements, see the bbmap_verbosity command in the reference section.

Rock the vote, rock the vote baby...

In order to customise the rock the vote settings, you will probably need to set all three options - "minutes", "percent" and "players" in order to get the configuration you are expecting. The default options are 10 minutes, 60 percent and 1 player. Remember all three conditions must be set for the vote to start. So for example if you want the vote to start if any player rocks the vote after 5 minutes use the command:

bbmap_rockthevote 5 minutes

bbmap_rockthevote 0 percent

bbmap_rockthevote 1 player

Further tweaks

Please see the reference section for a full list of configuration settings for this plugin.