MapVote Version 4.00 beta 8 for Unreal Tournament 2003
Created By BDB (Bruce Bickar)

Please visit my web site http://www.planetunreal.com/BDBUnreal
You can post questions, problem reports, and comments on the message board/forum.
Please check the message board for solutions to problems instead of emailing me directly.
I get hundreds of emails asking the same questions.

Note: This version will only work on a dedicated server (started from the command line) and SinglePlayer (InstantAction).

Installation instructions:
===========================
   1. Save MapVote400b9.int, MapVote400b9.u, and MapVoteServer.bat in the \UT2003\System directory.

   2. Copy and paste these ini settings into your \UT2003\System\UT2003.ini (at the bottom)
   --------------------------------------------------------------------------
[MapVote400b9.MapVote]
VoteTimeLimit=70
ScoreBoardDelay=10
bAutoOpen=True
MidGameVotePercent=50
MinMapCount=2
RepeatLimit=4
bScoreMode=False
bAccumulationMode=False
bEliminationMode=False
bKickVote=True
KickPercent=51
bRestartWithLastMap=False
bAnonymousKicking=False
MapVoteHistoryType=MapVote400b9.MapVoteHistory1
GameConfig=(GameClass="XGame.xDeathMatch",Prefix="DM",GameName="DeathMatch",bUseMapList=false,Mutators="",Options="")
GameConfig=(GameClass="XGame.xTeamGame",Prefix="DM",GameName="Team DeathMatch",bUseMapList=false,Mutators="",Options="")
GameConfig=(GameClass="XGame.xDoubleDom",Prefix="DOM",GameName="Double Domination",bUseMapList=false,Mutators="",Options="")
GameConfig=(GameClass="XGame.xCTFGame",Prefix="CTF",GameName="Capture The Flag",bUseMapList=false,Mutators="",Options="")
GameConfig=(GameClass="XGame.xBombingRun",Prefix="BR",GameName="Bombing Run",bUseMapList=false,Mutators="",Options="")
   --------------------------------------------------------------------------- 
   You can delete any "GameConfig" lines that you don't want. 
   See the "MapVote INI Settings explaination" section later in this document for details.

   3. Add "ServerPackages=MapVote400b9" to your UT2003.ini file in the "[Engine.GameEngine]" section.
   Example: (* Dont copy this section, yours may be different.)
   Note: if you had a previous version of MapVote installed be sure to reuse or delete the old ServerPackage entry.
   --------------------------------------------------------------------------- 
   [Engine.GameEngine]
   CacheSizeMegs=32
   UseSound=True
   ServerActors=IpDrv.MasterServerUplink
   ServerActors=UWeb.WebServer
   ServerPackages=Core
   ServerPackages=Engine
   ServerPackages=Fire
   ServerPackages=Editor
   ServerPackages=IpDrv
   ServerPackages=UWeb
   ServerPackages=GamePlay
   ServerPackages=UnrealGame
   ServerPackages=XEffects
   ServerPackages=XPickups
   ServerPackages=XGame
   ServerPackages=XWeapons
   ServerPackages=XInterface
   ServerPackages=Vehicles
   ServerPackages=TeamSymbols_UT2003
*->ServerPackages=MapVote400b9
   MainMenuClass=XInterface.UT2MainMenu
   ConnectingMenuClass=XInterface.MenuConnecting
   DisconnectMenuClass=XInterface.UT2NetworkStatusMsg
   UseStaticMeshBatching=True
   ---------------------------------------------------------------------------

4. Command line mutator name is "MapVote400b9.MapVote"
   Windows Example: 
   ---------------------------------------------------------------------------
   ucc server CTF-Citadel.ut2?game=XGame.xCTFGame?mutator=MapVote400b9.MapVote
   ---------------------------------------------------------------------------
   Note: you can use the example batch file supplied. MapVoteServer.bat

   *** Linux server require the "-nohomedir" command line option to tell UT2003 to 
   look at the ini settings.
   Linux Example:
   ---------------------------------------------------------------------------
   ucc server CTF-Citadel.ut2?game=XGame.xCTFGame?mutator=MapVote400b9.MapVote -nohomedir
   ---------------------------------------------------------------------------


Upgrading from a previous version:
==================================
   - I would suggest deleting the old version. Delete the MapVote400XX.int and MapVote400xx.U files. 
   - Edit the MapVoteHistory1.ini file and change [MapVote400xx.MapVoteHistory1] to [MapVote400b9.MapVoteHistory1].
     This will allow you to keep using the map history data from the previous version.
   - The GameConfig settings can be copied from the previous versions ini section.

MapVote INI Settings explaination:
==================================
   VoteTimeLimit - A number between 1 and 500. The number of seconds to allow for voting 
                   at the end of the game or after a Mid-Game vote. After this time limit
                   has been reached the votes are counted and the map with the highest score
                   wins. Default is 70

   ScoreBoardDelay - A number between 1 and 500. The number of seconds to delay before automatically
                     opening the voting window after the end of the current game is reached.
                     This time is given to the players so that they can look at the score board.
                     Default is 10.

   bAutoOpen - True or False. If true then the voting windows will be automatically opened at the end
               of each game. If False then the normal cycle maplist is used to select the next map.
               Players can initiat a Mid-Game vote only. They would have to open the voting window
               by pressing the MapVote HotKey. Default hotkey is the HOME key. This can be changed
               on the "Configuration" tab window.
               Default is True.

   MidGameVotePercent - A number between 1 and 100. The percentage of players that are required to
                        vote before a Mid-Game vote is initated. Set to 100 to virtually disable
                        Mid-Game voting by requiring all of the players to vote.
                        Default is 50. 
                        Note: Mid-Game Voting is semi-disabled if there are only have 2 
                        players unless both players vote.
                        

   RepeatLimit - A number between 0 and the total number of maps on the server. 
                 The number of games to disabe voting for a map after it has been played.
                 Default is 4
                 Warning: Make sure the RepeatLimit is less than the total number of maps in the
                          First GameConfig list. 

   MapVoteHistoryType - The code class that manages the map history data.
                        This can be set to one of 10 settings.
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory1
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory2
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory3
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory4
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory5
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory6
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory7
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory8
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory9
                           MapVoteHistoryType=MapVote400b9.MapVoteHistory10
                        
                        The default is "MapVoteHistoryType=MapVote400b9.MapVoteHistory1"
                        MapVoteHistory1 will create a file in the system directory
                        named MapVoteHistory1.ini where the history data is stored. 
                        MapVoteHistory2 will create MapVoteHistory2.ini etc...
                        
                        If you run more than one UT server session on the same physical server
                        then change this setting in each ini file so that each UT server session 
                        uses a different/unique MapVoteHistoryType. 

   Mode - This setting does not exist anymore. It was replaced by bScoreMode, bAccumulationMode, 
          and bEliminationMode.(see below)
          This was changed to allow you to combine diffent mode at the same time.
    
   bScoreMode - True or False, Default is False. Setting this to True will give players move votes
                based on their score. Example: At the end of a DeathMatch game you have 10 frags and
                then you vote for DM-Phobos2 then it will place 10 votes for DM-Phobos2.
                
   bAccumulationMode - True or False, Default is False. Setting this to True will cause non-winning and
                       unused votes to carry over to the next game. If the map you voted for wins then 
                       you will not carry over votes to the next game. If the Map you voted for does NOT
                       win then the ammount of votes you currently have will carry over. 
                       Sorry, Currently MapVote does not have the ability to show you the ammount of
                       accumulated votes that you have. That will be added in a future version.

   bEliminationMode - True or False, Default is False. Setting this to True will disable voting for
                      previously played maps until there are only N enabled maps left in the map list.
                      N is MinMapCount (see below). 
                      This is accomplished by incrementing the RepeatLimit after each game.
                      You can use this mode to force players to play all the maps instead of just
                      the popular ones.

   MinMapCount - A numeric value from 1 to the total number of maps the server. This option is only 
                 applicable when bEliminationMode is set to True. It represents the minimum number of 
                 enabled maps that will trigger an Elimination Mode MapList Reset.
                 Elimination Mode Maplist Reset is when the all of the maps in the maps list are 
                 reenabled for voting. (see bEliminationMode description also)

   bKickVote - True or False, Default is True. 
               True = Allow players to place kick votes against other players.
               False = Do not allow players to place kick votes against other players.
    
   KickPercent - A numeric value from 1 to 100. Default is 50. The percentage of players that are 
                 required to place kick votes against one player before that player is kicked from 
                 the server. 
    
   bAnonymousKicking - True or False, Default is True.
                       True = Does Not includes the Voters name in the broadcasted kick vote message.
                              Ex. A Kick Vote has been placed against PlayerB  
                       False = Includes the Voters name in the broadcasted kick vote message. 
                              Ex. PlayerA has placed a kick vote against PlayerB
   
   bRestartWithLastMap - True or False, Default is False.
                         True = When the server is restarted it will automatically switch to the last 
                                played map.
                         False = when the server is restarted it will not switch to the last played map.
    
GameConfig settings explaination:
=================================
   Note: You can add an infinite number of GameConfig lines in you ini file. Just keep in mind
         that the more you add the more maps will be loaded in the maplist. The more maps the
         longer it will take to send the complete maplist to each player. It will also take
         longer for the server to load the maplist at the beginning of each map. 

         Also, The First GameConfig line listed will be the one that random maps are choosen from in 
         the event that all players leave the game.

   GameClass - This is the name of the package and the name the game class 
               separated by a period. Example: "XGame.xCTFGame".  

               Here are the out-of-the-box game classes:
                 DeathMatch is "XGame.xDeathMatch"
                 Team DeathMatch is "XGame.xTeamGame"
                 Double Domiation is "XGame.xDoubleDom"
                 Capture The Flag is "XGame.xCTFGame"
                 Bombing Run is "XGame.xBombingRun"

               For new games/Mods the gameclass can be found in the *.int file that comes 
               with it. Look for something similar to this: 
               This Example is from the DeathBall.int
               ===================================================================================                
               Object=(Class=Class,MetaClass=Engine.GameInfo,Name=DeathBall.DB_Deathball,Description="DB|Deathball V1.3b|Deathball.DB_RulesTab|Deathball.DB_MapList|true")
                                                                  ######################
               ===================================================================================   
               Example DeathBall GameConfig:
               GameConfig=(GameClass="DeathBall.DB_Deathball",Prefix="DB",GameName="DeathBall",bUseMapList=false,Mutators="",Options="")

   Prefix - The MapName Prefix to load when bUseMapList is set to False. This tells MapVote 
            which maps to load in the maplist for this gametype. example: "CTF" for Capture the Flag.

   GameName - This is the name or title of the game type. For example: "Capture The Flag".
              Note: You can make this anything you like. Example: "Dont Touch My Flag" or "CTF with InstaGib & BigHeads" 

   bUseMapList - True or False. If True then the map names are loaded from the
                 MapList that is in the UT2003 ini file. 
                 If False then all available maps (that have the specified Prefix) are loaded. 
                 For example: If the game type is CTF and bUseMapList is True then map names 
                 will be loaded for this: (if this was your servers ini file)
                 \UT2003\System\UT2003.ini
                 =============================================================================
                 [XInterface.MapListCaptureTheFlag]
                 MapNum=1
                 Maps=CTF-Chrome
                 Maps=CTF-Citadel
                 Maps=CTF-December
                 Maps=CTF-Face3
                 Maps=CTF-Geothermal
                 Maps=CTF-LostFaith
                 Maps=CTF-Magma
                 Maps=CTF-Orbital2
                 =============================================================================

   Mutators - List of Mutators to load with this game type. If more than one separate each
              with a comma.
              Example: "MapVote400b9.MapVote,XGame.MutInstaGib,UnrealGame.MutBigHead,UnrealGame.MutLowGrav"
              If this is set blank ("") then only the current mutators are loaded.
              WARNING: If you set mutators for any GameConfig you MUST include the base mutators 
                       in ALL of the GameConfigs. This does NOT includes MapVote, it will be added automatically.
                       If you leave all of them blank then the base mutators will stay.

              Mutators available out of the box - UnrealGame.MutBigHead
                                                  UnrealGame.MutLowGrav
                                                  XGame.MutInstaGib
                                                  XGame.MutZoomInstaGib
                                                  XGame.MutRegen
                                                  XGame.MutVampire
                                                  XGame.MutSlomoDeath
                                                  XGame.MutHeliumCorpses
                                                  XGame.MutNoAdrenaline
                                                  XGame.MutQuadJump
                                                  XWeapons.MutArena
                                                  XWeapons.MutNoSuperWeapon

   Options - List of Game configuration Options. If more than one separate each with a "?".
             Example: "WeaponStay=True?Translocator=True?TimeLimit=5"

             Some GameOptions available (Note: this is an incomplete list) - 
                  GameSpeed, AccessControl, AdminName, AdminPassword,
                  GameRules, GamePassword, AllowThrowing, AllowBehindview, 
                  GameStats, DemoRec, Translocator, bAutoNumBots, AutoAdjust
                  PlayersMustBeReady, DMTeam, WeaponStay, QuickStart, RedTeamAI
                  BlueTeamAI, RedTeam, BlueTeam, RedTeamSymbol, BlueTeamSymbol
                  FF, FriendlyFireScale, BalanceTeams

   Example GameConfig:
   GameConfig=(GameClass="XGame.xCTFGame",Prefix="CTF",GameName="Dont Touch My Flag",bUseMapList=false,Mutators="MapVote400b9.MapVote,KickIdlersUT2003V1b.KickIdlers",Options="WeaponStay=True?Translocator=True?TimeLimit=15")
   GameConfig=(GameClass="XGame.xCTFGame",Prefix="CTF",GameName="CTF LowGrav/InstaGib",bUseMapList=false,Mutators="MapVote400b9.MapVote,KickIdlersUT2003V1b.KickIdlers,XGame.MutInstaGib,UnrealGame.MutBigHead,UnrealGame.MutLowGrav",Options="Translocator=False?TimeLimit=5")

   GameConfig=(GameClass="XGame.xBombingRun",Prefix="BR",GameName="Bombing Run",bUseMapList=false,Mutators="MapVote400b9.MapVote,KickIdlersUT2003V1b.KickIdlers",Options="")
   GameConfig=(GameClass="XGame.xBombingRun",Prefix="BR",GameName="BR LowGrav/InstaGib",bUseMapList=false,Mutators="MapVote400b9.MapVote,KickIdlersUT2003V1b.KickIdlers,XGame.MutInstaGib,UnrealGame.MutBigHead,UnrealGame.MutLowGrav",Options="")


MapVote Hot-Key setting:
========================
   The Default MapVote Hot-Key is the HOME key. (Note: This will be changed in the next version)

   The current MapVote Hot-Key setting will be displayed in the center of the 
   players HUD (just below the MapVote Logo) for 10 seconds after joining the server
   as a reminder.

   You can change the Hot-Key in the MapVote window in the "Configuration" Tab.
   Just select the key you want to use by scrolling the list and clicking the 
   key you want. Also pressing the desired keyboard key it will auto-select that key
   in the list.
   Then click the "Set/Save" button.
   The HotKey setting is written to your \UT2003\System\User.ini file:
   example:
   -----------------------------------
   [MapVote400b9.MapVoteInteraction]
   MapVoteHotKey=IK_B
   -----------------------------------

   Note: As a safty precaution, you can not set a key that is already registered (bound)
   to another function. (The key bind must be blank).
   This was done because too many players accidentally bound the hotkey to a key that was
   used for some other critical function and then they blamed MapVote because it no longer 
   worked. 

   You can also modify the HotKey setting by editing your User.ini file (when UT2003 is not running):
   -----------------------------------
   [MapVote400b9.MapVoteInteraction]
   MapVoteHotKey=<KeyName>
   -----------------------------------

   Replace <KeyName> with one of these values below:
   ---------------------------------------------------
    IK_MiddleMouse IK_Backspace    IK_Tab         IK_Enter        IK_Shift       IK_Ctrl        IK_Alt         IK_Pause       
    IK_CapsLock    IK_Space        IK_PageUp      IK_PageDown     IK_End         IK_Home        IK_Left        IK_Up 
    IK_Right       IK_Down         IK_Select      IK_Print        IK_Execute     IK_PrintScrn   IK_Insert      IK_Delete
    IK_Help        IK_0            IK_1           IK_2            IK_3           IK_4           IK_5           IK_6
    IK_7           IK_8            IK_9           IK_A            IK_B           IK_C           IK_D           IK_E
    IK_F           IK_G            IK_H           IK_I            IK_J           IK_K           IK_L           IK_M    
    IK_N           IK_O            IK_P           IK_Q            IK_R           IK_S           IK_T           IK_U 
    IK_V           IK_W            IK_X           IK_Y            IK_Z           IK_NumPad0     IK_NumPad1     IK_NumPad2
    IK_NumPad3     IK_NumPad4      IK_NumPad5     IK_NumPad6      IK_NumPad7     IK_NumPad8     IK_NumPad9     IK_GreyStar
    IK_GreyPlus    IK_Separator    IK_GreyMinus   IK_NumPadPeriod IK_GreySlash   IK_F1          IK_F2          IK_F3
    IK_F4          IK_F5           IK_F6          IK_F7           IK_F8          IK_F9          IK_F10         IK_F11
    IK_F12         IK_NumLock      IK_ScrollLock  IK_LShift       IK_RShift      IK_LControl    IK_RControl    IK_Unicode
    IK_Semicolon   IK_Equals       IK_Comma       IK_Minus        IK_Period      IK_Slash       IK_Tilde       IK_LeftBracket 
    IK_Backslash   IK_RightBracket IK_SingleQuote 
   --------------------------------------------------------------------------------------------------------------------
   The keybinder in MapVote actually does bind "mapvotemenu" to the key you select but this
   is just used as a place holder, the "mapvotemenu" console command does not actually do anything.'
   The actual key press detection is done with "Interaction" code that is plugged into the console code.

MapVoteDebug Logging:
=====================
   By default MapVote will Log all debug log data to the log file on the server. To turn this off so that your 
   log file will stay smaller add "Suppress=MapVoteDebug" to the UT2003.ini file under the "[Core.System]" section.
   If you start having any types of server problems that you think maybe related to MapVote, please turn MapVoteDebug 
   back on by deleting Suppress=MapVoteDebug from the ini file before contacting me about the problem. 

Per-Map Mutators and GameOptions:
=================================
   Warning: This is a new feature and therefore has only been tested with a small number of mutators.
            You could see certain side effects when combining diffent custom made mutators. 

   This version of MapVote now has Per-Map mutators and gameoptions capablities.
   Note: The per-gametype mutators and game options will be added to the per-map mutators and game options.
   There are two ways to config this:
   1. Edit the MapVoteHistory1.ini file and add mutators and gameoptions beside each map name.
   2. Use the Map cycle list in the ini file and add the mutators and gameoptions. 
      (This method was only added to satisify users that are already using this method.) 
 
   Method # 1
   ==========
   1. The first time a UT2003 server is started with MapVote it will write-out all of the mapnames to
      MapVoteHistory1.ini file. So, Start your server with MapVote once and then stop it.
   2. Edit the MapVoteHistory.ini file with a text editor
      Example:
      ---------------------------------------------------------------------------------------
      [MapVote400b9.MapVoteHistory1]
      LastMapIndex=15 
      H=(M="BR-Anubis",P=1,S=10,G="",U="")
      H=(M="BR-Bifrost",P=1,S=15,G="",U="")
      H=(M="CTF-Chrome",P=5,S=1,G="WeaponStay=True?Translocator=True?TimeLimit=5",U="XGame.MutZoomInstaGib,XGame.MutSlomoDeath")
      H=(M="CTF-Citadel",P=0,S=5,G="",U="")
      H=(M="CTF-DE-ElecFields",P=0,S=5,G="",U="")
      H=(M="CTF-DE-LavaGiant2",P=0,S=5,G="",U="")
      H=(M="CTF-December",P=0,S=5,G="",U="")
      H=(M="CTF-Face3",P=2,S=3,G="WeaponStay=False?Translocator=False?TimeLimit=10",U="XGame.MutQuadJump,UnrealGame.MutLowGrav")
      H=(M="CTF-Geothermal",P=1,S=2,G="WeaponStay=False?Translocator=False?TimeLimit=5",U="XGame.MutNoAdrenaline,XGame.MutHeliumCorpses")
      H=(M="CTF-Lostfaith",P=0,S=5,G="",U="")
      H=(M="CTF-Magma",P=1,S=12,G="WeaponStay=True?Translocator=True?TimeLimit=5",U="UnrealGame.MutLowGrav")
      H=(M="CTF-Maul",P=0,S=5,G="",U="")
      H=(M="CTF-Orbital2",P=0,S=5,G="",U="")
      H=(M="DM-Insidious",P=1,S=7,G="",U="")
      H=(M="DOM-Core",P=1,S=10,G="",U="")
      H=(M="DOM-Ruination",P=1,S=14,G="",U="")
      ---------------------------------------------------------------------------------------
      Note: MapNames have to be listed in alphabetic order. Undesirabled results will occure if
            you add a map in the wrong order.
      M = MapName
      P = PlayCount (number of times the map has been played)
      S = Sequence (the sequence that the map was played. Eg. 1 is the last map that was played)
      G = Game Options (game options that you want applied to this map)
      U = mUtators (mutators that you want added to this map when played)
 
      Sorry about the short names. I wanted to keep this file small to prevent I/O related performance problems.

      To add mutators to a specific map:
      1. Find the map in the list
      2. Insert the mutator(s) names into the "" beside the U option. If there is more than one mutator separate each
         with a comma. 
      Example: U="XGame.MutZoomInstaGib,XGame.MutSlomoDeath"
      Note: It is NOT nessessary to add MapVote400b9.MapVote. MapVote will add it self automatically now.

      To add game options to a specific map:
      1. Find the map in the list
      2. Insert the gameoptions along with their setting value into the "" beside the G option. If there is more than one 
         separate each with a Question Mark "?". (Sorry, maybe the next version will allow commas for more consistancy) 
      Example:G= "WeaponStay=False?Translocator=False?TimeLimit=10"

      Warning: During testing I discovered that if you go from a map that has per-map mutators to a map that has NO per-map 
               mutators that the previous map's mutators will be kept active. So, You might want to add mutators to each and 
               every map to prevent this. The same probably goes for GameOptions also.

      Managing Per-Map Settings via in game:
      --------------------------------------
      You can use the following two console command to manage per-map mutators and game options while 
      in-game and logged in as an administrator.

      - This command will show you the current mutator and option settings for CTF-Face3. 
      MUTATE MAPVOTE GET CTF-FACE3 

      - This command will set the mutators for CTF-Face3 to ZoomInstagib and Slomo death and the game options to WeaponsStay and turn on 
        translocators.
      MUTATE MAPVOTE SET MAPNAME=CTF-FACE3 MUTATORS=XGame.MutZoomInstaGib,XGame.MutSlomoDeath OPTIONS=WeaponStay=True?Translocator=True

   Method # 2
   ==========
   1. Edit your UT2003.ini file (or server specified ini) 
   2. Find the MapList for the game type you are using.
      Example:
      ----------------------------------------------------------------
      [XInterface.MapListCaptureTheFlag]
      MapNum=1
      Maps=CTF-Chrome?Game=XGame.xCTFGame?mutator=XGame.MutZoomInstaGib,XGame.MutSlomoDeath?WeaponStay=True?Translocator=True?TimeLimit=5
      Maps=CTF-Magma?Game=XGame.xCTFGame?mutator=UnrealGame.MutLowGrav?WeaponStay=True?Translocator=True?TimeLimit=5
      Maps=CTF-Face3?Game=XGame.xCTFGame?mutator=XGame.MutQuadJump,UnrealGame.MutLowGrav?WeaponStay=False?Translocator=False?TimeLimit=10
      Maps=CTF-Geothermal?Game=XGame.xCTFGame?mutator=XGame.MutNoAdrenaline,XGame.MutHeliumCorpses?WeaponStay=False?Translocator=False?TimeLimit=5
      Maps=CTF-Citadel
      Maps=CTF-December
      Maps=CTF-Lostfaith
      Maps=CTF-Maul
      Maps=CTF-Orbital2
      Maps=CTF-DE-ElecFields
      Maps=CTF-Chrome
      ----------------------------------------------------------------
   3. Append mutators and GameOptions beside each mapname in the following format:
      Maps=<mapname>?Game=<gameclass>?mutators=<mutator list>?<gameoption1 name>=<gameoption1 setting>?<gameoption2 name>=<gameoption2 setting>

      Example:
      Maps=CTF-Magma?Game=XGame.xCTFGame?mutator=UnrealGame.MutLowGrav?WeaponStay=True?Translocator=True?TimeLimit=5

   4. In the MapVote GameConfig line, set bUseMapList to True.
      Example:
      GameConfig=(GameClass="XGame.xCTFGame",Prefix="CTF",GameName="Capture The Flag",bUseMapList=True,Mutators="",Options="") 
   
   When the server is started, MapVote will read the maplist from the ini file and parse the MapName, Mutators, and GameOptions 
   out and store them in the MapVoteHistory1.ini file.

   

Known Bugs/Problems:
=====================
   - Intermittantly when connecting to the server or when switching between maps the player will connect 
     but not be able to enter the game. 
     Increase the ConnectionTimeout value from the default of 15 to 30 (or higher) in the UT2003.ini under the "[IpDrv.TcpNetDriver]".

   - MapVote with the Greed mod causes the server to crash. I'll try to figure out what the problem is soon.


Questions & Answers:
=====================
Q: What do the number beside each mapname mean ?:
A: The first number is the Sequence. (The number of previous games that the map was played. 1 being the current map,
   2 the previous map, 3 the map before that etc.....
   The second number is the total number of times the map has been played.

Q: When will the next release of MapVote be ?
A: When it is done. (Dont ask)


Trouble Shooting:
-----------------
Q: I've installed MapVote and the voting window does Not open.
A: It is critial that you follow the installation instructions containted in this file.
   Make sure you have added "ServerPackages=MapVote400b9" to your UT2003.ini file.
   Also, if you are running Linux you must add "-nohomedir" to the command line UCC server startup script.

Q: Intermittantly when connecting to the server or when switching between maps the player will connect 
   but not be able to enter the game. 
A: Try increasing the ConnectionTimeout value from the default of 15 to 30 in the UT2003.ini 
   under the "[IpDrv.TcpNetDriver]".

Q: When Switching from one gametype to another the games settings (example: GoalScore) stays the same. 
A: Do not specify game config options in the command line parameters for UCC.
   Also, Do not start the server via the UT2003 menus. The settings specified in the menus will override
   the default settings 

Q: MapVote will not let me vote for the last couple of maps that have been played on my server. How do I 
   make it not do that ?
A: Change the RepeatLimit setting in the INI file to zero. Eg. RepeatLimit=0

Q: I'm having a problem with MapVote. What should I do ?
A: Re-read this whole document and make sure there isnt a misconfiguration. Then post the details
   of your problem to my message board. There is a link on the left of my webpage 
   (http://www.planetunreal.com/BDBUnreal)
   Please post your MapVote configuration settings from your ini file and the Command line parameters
   used to start the server (eg. UCC server map?game=blahblah....) and a snipet from the Log file if
   appropriate.


Version History:
----------------------------------------------------------------------------------------------
4.00 b6 - First publicly released version.

4.00 b7 - Added kick voting.
        - Added Score, Accumulation, and Elimination voting modes.
        - Added an "About MapVote" window.
        - Fixed a compatiblity problem with unpatched clients that was causeing crashes.
        - Made the MapList and GameConfig replications more efficient.
        - Fixed a bug that prevented the removal of a players 
          MapVoteReplicationInfo object when the player disconected a 
          server that has bots.
        - Added the display of the MapVote HotKey setting on the players
          HUD (just below the crosshair) for 20 seconds after the player 
          joins the server.
        - Added the options to have the server automatically travel to the 
          last played map when the server is restarted.
        - Added a configuration option for Anonymous kicking.
        - fixed a array diminsion bug in the MapList loading code that cause "Accessed None"
          log errors when using bUseMapList option.
        - Added safe gaurds for infinite loops in the maplist loading code.
        - Added Admin voting. If you are logged in as Admin then your 
          votes will win automatically (Maps and Kicking). Admins can not
          be kicked and they can also vote for eliminated maps.
        - Fixed a problem that cause the old version of the MapVote 
          window to open instead of the new version when you connect
          to different servers with differing versions of MapVote.
        - Fixed the Font size problem with different screen resolutions.
        - Fixed the Disabled icon size problem with different screen resolutions.

4.00 b8 - Fixed compatiblity problem that caused unpatched UT2003 clients to crash when using the 
          Set/Save button in the Configuration window.
        - Added a new MapVote Logo image to the HUD that displays for 10 seconds after joining 
          the server. Thanks to Rival*Q for creating the Logo. Also, Thanks to Major_Wilson for helping.
        - Decreased the amount of time that the logo and the MapVote HotKey reminder display on the
          HUD from 20 to 10 seconds.
        - Replaced the picture of me on an ATV in the "About" tab window with the new MapVote Logo.
          (Trying to keep the size of the file small.) 
        - Fix the HotKey binder so that you can Re-Set the same previous key. This problem was
          preventing the player from setting the HotKey when connected to a server with a new 
          version of MapVote.
        - Replaces the GameTypes combo list box with a button. GameTypes are now listed in the main
          MapList. When you click a game type in the list the maplist is cleared and loaded with
          mapnames for the selected game type. You can click the GameTypes button at the top to 
          select a different gametype.
        - Moved server RestartWithLastMap detection to before the writing of the pretty box to the 
          log so that it doenst look like a mid-mapvote load crash when it server travels to the 
          last map.
        - Fixed the problem with bRestartWithLastMap that prevented the use of admin initiated server 
          travels (via webadmin or console commands).
        - Added message sending recalling, just hit up or down arrow to cycle thru previously sent
          messages.
        - Added more MapVoteHistory Classes, 10 of them, So you can run 10 UT servers on one physical
          server and have each keep separate history data.     
        - Added an invalid RepeatLimit safeguard check. If RepeatLimit is set higher than or equal to
          the number of maps for the first GameType then it will restet it to 0.
        - Fixed Admin Double-Clicking disabled mapname in list to force vote.  
        - All MapVote messages are now sent via the standard GameInfo->BroadcastHandler, so other 
          message mods/mutators should get them.
        - Pressing the Esc key will now close the voting window.
        - Added the ability to pass console commands thru the message box. In the message text box
          enter CMD then the console command you want to execute. MapVote will send the command to
          the console. 
        - Changed the MVRI array index value from the PlayerID to just an incremented number.
          This was done because I discovered that spectators do not get a PlayerID assigned to them,
          which resulted in the inablity to kick them. You should now be able to kick spectators.
        - Sepectators can open the voting window but can not vote. However, Admins that are spectators
          can vote.
        - Modified MapVoteHistory. 
           * Added per Map Mutators and Game Option variables (G and U).
           * removed some obsolete functions
           * Added PlayMap function 
           * Per-Map Mutators and GameOptions are parsed from map list mapname (if bUseMapList = True) and
             Stored in MapVoteHistory on start up of each game.
        - Added "Mutate MapVote Set" and "Mutate MapVote Get" commands for admins to manage per-map settings.
        - Fixed the disconnection problem when closing the MapVote window with the 2192 patch.
        - MapVote will added it-self to the Mutators string for the next map if it is not already listed.
        - Added bDebugLog config setting to the MapVoteReplication object. It is defaulted to false and therefore
          does not log MapVoteDebug information from the Replication oject. (this was the game types and map names being
          replicated to each player that used to get written to the log file.)

4.00 b9 - Fixed the bug that was introduced in b8 that caused MapVoteHistory to incrementing the sequence of unplayed maps 
          and cause all maps to be unvotable.
        - Moved MapVote Logo down on HUD so that it doesnt cover the MOTD.
            

Thanks To:
Rival*Q for making the MapVote Logo image
Major_Wilson for helping with the MapVote Logo image
[CTCR]TheCatcher coding help (End of game code and more)
[CTCR]Nemisis beta testing on server running on a network provided by him
Everyone else who had downloaded and installed these beta versions of MapVote.







