Unknown ❤ RESPAWN.ZAFEST.RO | VIP FREE | FREE FOR ALL ❤ 0/32
Romania XPlayZM.CSBlackDevil.COM # Zombie Plague UltimateX [ Respawn + FDL + VIP 22-12PM + POINTS] ® 12/32
Promover servidor
52 lines 5.5 KiB Markdown Source Rendered Raw Permalink History
---
title: "Setting Up MapChooser / End-of-Map Voting"
excerpt: "Enable the stock AMX Mod X mapchooser end-of-map vote, tune the extend and ratio cvars, control the candidate map pool, and stop it fighting with nextmap and RTV."
category: "administration"
tags: "mapchooser, voting"
image: ""
read_time: "8 min read"
---
<p>The stock <code>mapchooser.amxx</code> that ships with AMX Mod X pops a vote menu in the closing minutes of a map and switches to the winner. It needs no extra download, but it does need a real <code>mp_timelimit</code>, a sane candidate pool, and a load order that keeps it from fighting <code>nextmap</code> and any Rock The Vote plugin. This gets all three right.</p>

<h2>1. Confirm the plugin is loaded</h2>
<p>Open <code>addons/amxmodx/configs/plugins.ini</code> and make sure the line is present and not commented:</p>
<pre>mapchooser.amxx
nextmap.amxx
timeleft.amxx</pre>
<p>These three ship enabled in a default <a href="/tutorials/install-amx-mod-x-1-9">AMXX 1.9 install</a>. From the server console, <code>amxx plugins</code> should list <code>mapchooser.amxx</code> as <code>running</code>. If it reads <code>bad load</code>, resolve that before configuring anything — see <a href="/tutorials/plugins-ini-load-order">plugins.ini load order</a>.</p>

<h2>2. The vote fires off mp_timelimit — set it</h2>
<p>mapchooser schedules its vote for the final minute or two of the time limit. With <code>mp_timelimit 0</code> the map never ends and the vote never runs. Set a real limit in <a href="/tutorials/setup-server-cfg-cs16">server.cfg</a>:</p>
<pre>mp_timelimit 30   // minutes</pre>
<p>Round and win limits end a map early too, and when they do, mapchooser runs its vote at that point instead. The full <code>mp_</code> family is in the <a href="/tutorials/mp-cvars-reference">mp_ cvars reference</a>.</p>

<h2>3. Tune the vote cvars</h2>
<p>Put these in <code>amxx.cfg</code> or <code>server.cfg</code>:</p>
<pre>amx_extendmap_max 90     // ceiling in minutes a map may be extended to
amx_extendmap_step 15    // minutes added each time "Extend" wins
amx_vote_ratio 0.02      // minimum fraction of players for a valid result
amx_vote_time 10         // seconds the vote menu stays open
amx_show_activity 2      // announce the outcome</pre>
<p>The <code>Extend</code> option is the one to watch: without a sane <code>amx_extendmap_max</code>, a popular map gets extended for hours because the crowd keeps voting to stay. A max of 90 on a 30-minute limit allows two extensions, then forces a change.</p>

<h2>4. Control which maps appear on the ballot</h2>
<p>By default mapchooser draws its candidates at random from <a href="/tutorials/mapcycle-txt-setup">mapcycle.txt</a>. That means the vote quality is only as good as your rotation: a bloated mapcycle full of maps nobody wants produces a bad ballot. Keep the cycle curated. Every candidate must exist as <code>cstrike/maps/&lt;name&gt;.bsp</code> and, if you host downloads, be on your <a href="/tutorials/fastdl-setup-guide">FastDL mirror</a> — a vote that resolves to a map the server cannot load drops everyone.</p>
<p>A common refinement is to keep a smaller, hand-picked pool of "vote maps" separate from the full rotation, so the ballot only ever offers maps you know play well with a crowd. Whatever pool you use, the same rule holds: the map name on the ballot, the <code>.bsp</code> on disk, and the file on FastDL must all agree. Mismatched names are the single most common reason a vote appears to succeed and then strands everyone on a black screen.</p>

<h2>5. Stop the three vote plugins from colliding</h2>
<p>mapchooser, <code>nextmap</code>, and any Rock The Vote plugin all want to decide the next map. Whichever registers its forward first tends to win, so order them deliberately in <code>plugins.ini</code> and do not run two end-of-map voters at once. The full walkthrough of pairing RTV with the end-map vote is in <a href="/tutorials/rtv-nextmap-setup">the RTV and nextmap guide</a>. If you would rather not referee them by hand, the <a href="/plugins/csb-mapchooser">CSB Mapchooser</a> plugin bundles the end-map vote, nominations and RTV so they share one decision path.</p>

<h2>Troubleshooting</h2>
<ul>
<li><strong>Vote never appears</strong> — <code>mp_timelimit 0</code>, or <code>mapchooser.amxx</code> is not running. The vote is scheduled off the time limit; no limit, no vote.</li>
<li><strong>Vote appears but result is ignored</strong> — too few players to meet <code>amx_vote_ratio</code>, or another plugin overrode the next map afterward. Lower the ratio on small servers and check load order.</li>
<li><strong>Map extends forever</strong> — <code>amx_extendmap_max</code> is too high or unset. Cap it.</li>
<li><strong>Two vote menus at once</strong> — both mapchooser and an RTV plugin triggered an end-map vote. Disable one, or use a bundle that unifies them.</li>
<li><strong>Vote loads a broken map</strong> — a candidate <code>.bsp</code> is missing from <code>cstrike/maps/</code> or absent from FastDL. Keep the mapcycle and installed maps in sync.</li>
</ul>

<h2>Verification</h2>
<p>On a test server set a short limit and force the endgame:</p>
<pre>mp_timelimit 2
amx_vote_time 10</pre>
<p>Connect, wait for the last minute, and confirm the vote menu opens, counts votes, and switches to the winner. Type <code>say nextmap</code> after the vote to confirm the scheduled map matches the result. Once it behaves, restore your real <code>mp_timelimit</code> and, if you want mid-map voting too, add <a href="/tutorials/rtv-nextmap-setup">Rock The Vote</a> on top.</p>