Promocionar servidor
57 lines 5.9 KiB Markdown Source Rendered Raw Permalink History
---
title: "Rock The Vote (RTV) and nextmap Setup Guide"
excerpt: "Wire up AMX Mod X nextmap, timeleft and an end-of-map vote, add a working Rock The Vote, and set the extend and nomination cvars correctly."
category: "administration"
tags: "rtv, voting"
image: ""
read_time: "8 min read"
---
<p>Map voting on CS 1.6 is three separate pieces that people conflate: the <code>nextmap</code> plugin that announces and schedules the next map, the end-of-map vote (<code>mapchooser</code>), and <em>Rock The Vote</em> — a mid-map player-initiated vote to change early. Two of those ship with AMX Mod X; RTV does not, and knowing which is which saves a lot of confusion.</p>

<h2>1. Know what AMX Mod X already gives you</h2>
<p>A default AMX Mod X install (see <a href="/tutorials/install-amx-mod-x-1-9">installing AMXX 1.9</a>) enables these in <code>configs/plugins.ini</code>:</p>
<ul>
<li><code>nextmap.amxx</code> — reads <a href="/tutorials/mapcycle-txt-setup">mapcycle.txt</a>, powers <code>say nextmap</code>, and forces the scheduled map at time limit.</li>
<li><code>timeleft.amxx</code> — <code>say timeleft</code> and <code>say thetime</code>.</li>
<li><code>mapchooser.amxx</code> — the end-of-map vote menu that pops up in the final minutes.</li>
</ul>
<p>None of these is Rock The Vote. RTV is a third-party plugin you add on top.</p>

<h2>2. Configure the end-of-map vote (mapchooser)</h2>
<p>By default <code>mapchooser</code> draws candidate maps from your mapcycle. You can pin an explicit pool instead with a votemap list at <code>configs/maps.ini</code> (one map per line). The cvars that matter live in <code>amxx.cfg</code> or <code>server.cfg</code>:</p>
<pre>amx_extendmap_max 90     // total extra minutes a map may be extended to
amx_extendmap_step 15    // minutes added each time "Extend" wins
amx_vote_ratio 0.02      // fraction of players needed for a valid result
amx_vote_time 10         // seconds the vote menu stays open</pre>
<p>The vote fires in the closing minutes of <code>mp_timelimit</code>, so this whole system does nothing if <code>mp_timelimit 0</code>. Set a real time limit first — see the <a href="/tutorials/mp-cvars-reference">mp_ cvars reference</a>.</p>

<h2>3. Add a real Rock The Vote plugin</h2>
<p>Install the RTV <code>.amxx</code> into <code>addons/amxmodx/plugins/</code> and add its line to <code>plugins.ini</code>. Because RTV changes the map mid-round on demand, it needs guardrails so it cannot be spammed at round one:</p>
<pre>// typical RTV cvars — confirm names against your plugin's own .sma/docs
rtv_delay 15.0      // minutes into the map before RTV is allowed
rtv_ratio 0.60      // fraction of connected players who must type rtv
rtv_wait 5.0        // minutes between failed RTV attempts</pre>
<blockquote>RTV plugins are not standardized. Cvar names differ between the popular versions, so read the header of the exact <code>.sma</code> you deploy rather than copying a list. The three concepts above — delay, ratio, cooldown — exist in every good implementation, whatever they are named.</blockquote>
<p>Load order matters: RTV, <code>mapchooser</code> and <code>nextmap</code> all want to control the next map, and the one that registers first wins the forward. Put your vote plugins in a deliberate order in <code>plugins.ini</code> — see <a href="/tutorials/plugins-ini-load-order">plugins.ini load order</a>. If you want a maintained pairing, the <a href="/plugins/csb-mapchooser">CSB Mapchooser</a> plugin bundles RTV, nominations and the end-map vote so they do not fight each other.</p>

<h2>4. Nominations and extend</h2>
<p>Most RTV setups pair with a <code>nominate</code> command (<code>say nominate</code> or <code>say /nominate</code>) so players can push a specific map into the ballot. Keep the nomination pool identical to the vote pool — a map that can be nominated but is not installed produces a vote that resolves to a map the server then cannot load. The <code>Extend</code> option is governed by <code>amx_extendmap_max</code> and <code>amx_extendmap_step</code> above; set the max to a sane ceiling or a popular map gets extended for hours.</p>

<h2>5. Make the schedule visible</h2>
<p>Give players the commands so they use them instead of asking:</p>
<pre>say nextmap     // what plays next
say timeleft    // time remaining on this map
say thetime     // real-world server clock</pre>
<p>An <a href="/plugins/csb-adverts">adverts plugin</a> that periodically prints these keeps the chat calm near map end.</p>

<h2>Common errors</h2>
<ul>
<li><strong>RTV "does nothing"</strong> — the ratio is unreachable on a low-population server (60% of 4 players is 3, and two of them are bots). Lower <code>rtv_ratio</code> for small servers.</li>
<li><strong>Vote never appears at map end</strong> — <code>mp_timelimit</code> is 0, or <code>mapchooser</code> is not in <code>plugins.ini</code>. The vote is scheduled off the time limit.</li>
<li><strong>Two menus pop at once</strong> — RTV and <code>mapchooser</code> both triggered. Configure RTV to hand off to the end-map vote rather than run its own, or disable one.</li>
<li><strong>Vote resolves to a missing map</strong> — your vote/nominate pool lists a map that is not in <code>cstrike/maps/</code>. Keep the pool and the installed maps in sync.</li>
<li><strong>Nextmap wrong after a vote</strong> — a plugin changed the scheduled map but <code>nextmap</code> re-read the cycle. This is a load-order conflict; order the plugins deliberately.</li>
</ul>

<h2>Verification</h2>
<p>Set <code>mp_timelimit 2</code> on a test server, connect, and type <code>rtv</code> with enough clients (or bots plus a lowered ratio) to cross the threshold — the vote menu must appear and the winning map must load. Separately, let the two minutes expire without voting and confirm <code>mapchooser</code> runs and <code>say nextmap</code> matched the result. When both paths work, restore your real <code>mp_timelimit</code>.</p>