AMX Match Deluxe (Current Version: 8.11)

  AMX Match Deluxe

Originally coded by Shromilder
Upgraded and converted to Amx Mod X by Infra

Current version: 8.11

-- Only works with AMXX 1.75 or later! --

-- Requires admin level "m" --

--- Required Module(s) ---
  • Counter-strike
  • Regex
--- Optional Module(s) ---
  • Sockets
  • MySQL

To use the HLTV ability, you will need to enable the Sockets module, which is included with Amx Mod X.
To also use the ability to record stats into SQL, you will also need to enable the SQL module.

Plugin supports:
  • MaxRound, TimeLimit, or Winlimit matches
  • Changing of the server hostname
  • Changing of the server password
  • Shield (un)restrictions (before and after matches)
  • Automatic swapping of the teams
  • Overtime
  • Overtime configs
  • Unlimited overtime *NEW*
  • Match server configs
  • Default(FFA) server config
  • Automatic screenshots
  • Automatic demos
  • Menus
  • PUG Style gameplay
  • Match stats, logged in files, or MySQL *NEW*
  • Knife round before first warmup period to decide teams *NEW*

  • If your server is on your computer (or your external server supports unzipping) and you can
    unzip while keeping the correct directory structure, just unzip into your 'cstrike' directory
  • Add this line to your plugins.ini file:
    amx_match_deluxe.amxx ; Amx Match Deluxe
  • Restart hlds
- otherwise -
  • Copy 'amx_match_deluxe.amxx' to your plugins directory
  • Add this line to your plugins.ini file:
    amx_match_deluxe.amxx ; AMX Match Deluxe
  • Copy the 'amxmd' folder to your "addons/amxmodx/configs/" folder
  • Copy amx_match_deluxe.txt to your "addons/amxmodx/data/lang" folder
  • Copy the 'data/match_stats' folder to your "addons/amxmodx/data" folder
  • Enable the correct modules in the modules.ini file (meaning DBI, Regex, and Sockets with the compiled plugin included in the zip file)
  • Restart hlds

To load a match:

amx_match <CT's clan tag> <T's clan tag> <mrXX or tlXX> <Config filename> [recdemo|rechltv|recboth]
- or -
amx_match2 <mrXX or tlXX> <Config filename> [recdemo|rechltv|recboth]
- or -
amx_match3 <CT's clan tag> <T's clan tag> <mrXX or tlXX> <Config filename> <second map> [recdemo|rechltv|recboth]
- or -
amx_match4 <mrXX or tlXX> <Config filename> <second map> [recdemo|rechltv|recboth]

For example:
amx_match SK eoL mr12 ecup recboth
This will load a match with teams: "SK" and "eol", with MaxRound 12 rule,
using the ecup.cfg server config file, and will record demos and HLTV demos.

Note: if your clan tag has a space, use quote marks: "SK swe"
Other commands:

To restart a match: amx_matchrestart or "say /restart"
To stop a match: amx_matchstop or "say /stop"
To force the start of a match: amx_matchstart or "say /start"
To restart a half (re-lo3): amx_matchrelo3 or "say /relo3"
To swap teams: amx_swapteams
To randomize teams: amx_randomizeteams
The Menu:

First you must configure the menu, by using these commands:

amx_match_lmenu <length of match> [<length of match> ...]
amx_match_cmenu <Name of config> <config file name>
- or -
amx_match_addlength <length of match> [<length of match> ...]
amx_match_addconfig <Name of config> <config file name>
Note: the most common lengths and commands have already been added to amxmd.cfg

When it's done, just use the amx_matchmenu to load the menu and allow you to choose your match .



0 -> Match is finished after all rounds are played. (set by default)
1 -> Match is finished when a team has won mp_maxrounds+1 rounds.
2 -> There is a vote to play out the match after a team has won maxrounds+1 rounds, unless rounds played is less than 1/5 of total rounds away from end of match).
0 -> Match is finished immediately after the timelimit is up. (set by default)
1 -> Match is finished at end of the last round.

0 -> Does not change host name of server.
1 -> Changes host name of server to "<CT tag> vs.<T tag> | <CFG file> CS Match In Progress" or (amx_match2/4) "<CFG file> CS Match In Progress". (set by default)

0 -> There is no knife round before the first warmup period to decide teams (set by default).
1 -> There is a knife round before the first warmup period to decide teams.

0 -> there is no overtime if there's a draw.
1 -> there is an overtime after a draw match (set by default).

*Only use if you have set amx_match_overtime to 1*
0 -> there is no overtime config.
1 -> there is an overtime config (set by default).

*Only use if you have set amx_match_overtime to 1*
Length of overtime (3 rounds/minutes/wins by default).

*Only use if you have set amx_match_overtime to 1*
! Warning: Stats will not be logged if you use this cvar !
0 -> overtime is not unlimited (2 halves only). (set by default)
1 -> overtime is unlimited.

0 -> Match plugin will not password server before match.
1 -> Match plugin will password server before match, use with amx_match_password2. (set by default)

*Only use if you have set amx_match_password to 1*
Use this cvar to set the value of password. (default value is "scrim")

*Only use if you have set amx_match_readytype to 1*
This is the number of players which have to be ready (default value is "10").
(Set it to 4 if you want to play a 2 vs 2 match for example.)

0 -> PUG style gameplay is off. Server does not start matches automatically (set by default).
1 -> PUG style gameplay is on.

0 -> Teams are not randomized before match (set by default).
1 -> Teams are randomized before match.

0 -> only one player of each side must say ready for the match to begin.
1 -> ALL players much say ready in order to start the match (set by default).
2 -> only an AMX admin can start the match by saying /start or amx_matchstart

0 -> teams will not swap after the 1st half.
1 -> teams will swap automatically after the 1st half (set by default).

0 -> no screenshot at all.
1 -> screenshot of the score is taken at the end of each half (set by default).
2 -> two screenshots are taken (one of the scores; one of the names and userids) at the end of each half.

0 -> no screenshot if match is stopped using amx_match_stop or "say /stop" .
1 -> screenshot of the score is taken at the end of each half, even if match is stopped using amx_match_stop or "say /stop" (set by default).
amx_match_shield: ( Make sure to enable 'restmenu.amxx' )

0 -> Plugin unrestricts shield during the match.
1 -> Plugin restricts shield during the match (set by default).
amx_match_shield2: ( Make sure to enable 'restmenu.amxx' )

0 -> Plugin unrestricts shield after match.
1 -> Plugin restricts shield after match (set by default).

0 -> Score will not be show after each round .
1 -> Score is shown after each round (set by default).
2 -> Score will be shown throughout entire match.

0 -> Plugin does not log stats for each match (set by default).
1 -> Plugin logs stats for each match.

0 -> Plugin does not use a warmup config during the warmup session (set by default).
1 -> Plugin uses a warmup config during the warmup session.

Config Files
  • 'default.cfg' is a server config file which is executed before every match, along with the match config (cal.cfg). It can be used to disable some plug-ins like stats or set some default cvars which will erase your match config file cvars
  • 'ffa.cfg' is the server config file which is executed at the end of the match in order that your server can be played by everyone =)
  • 'warmup.cfg' is the warmup session config file. Add any cvars of plugins here that you want changed during the warmup session
  • 'amxmd.cfg' is the main match config file. Change default cvar values in here. You can also add config files and match lengths into this file.
  • 'pug.ini' contains the default match command for PUG style gameplay
  • 'hltv.ini' contains the hltv password that the match plugin uses to record hltv demos
  • 'defaultmaps.ini' contains the default maps for your mod. Note: The plugin searches your map directory for any maps that aren't in this list;
    This file can be used to list your maps, but make sure to not delete the default maps from the file.

SQL help


Note: If you are not getting stats added to your database, search your log files for:
[AMXX] SQL Connection Failed
If you are getting that error, there is a problem with your sql.cfg file, or your SQL server is not configured correctly.

Web help
  1. Open web/config.php
  2. Edit config.php file for the correct information:
    • $mysql_host -- Hostname of your SQL server (Can also use ip address, e.g. '')
    • $mysql_username -- User name of your SQL server
    • $mysql_password -- Password for the username used
    • $mysql_database -- Database name on your SQL server
  3. Upload files to your web server

HLTV help


To configure your HLTV:
In order to be able to control the HLTV, you must know the rcon password. HLTV rcon can be set using "adminpassword" command in the HLTV console

HLTV Checklist:
  • Load your HLTV.
  • Set the HLTV adminpassword by using adminpassword <rcon> command in the HLTV console. Then connect it to your server using "connect ip:port" in the console.
  • Set the HLTV adminpassword in the 'hltv.ini' config file.
  • Load your match on the server using amx_match or amx_match2
    1. If your HLTV is already connected, you should see it say " HLTV correctly configured =)".
    2. If you don't see that, it means that the HLTV adminpassword hasn't been correctly configured.
    3. If your HLTV isn't connected, it will try the adminpassword that you've set when it enters the server.


8.11: (minor release) - Sunday, June 24, 2007

fixed bug in stats_log where plugin would not compile with SQL stats disabled

8.10: (semi-major release) - Sunday, June 24, 2007

added multi-lingual support to menu headings
changed the sql functions to only log an error when they failed to connect to the sql server, rather than fail the plugin
changed picking of teams after a knife round to a vote, rather than say commands
changed pug style games to change to next map in the mapcycle rather than to a default map (i.e. only to dust2)
fixed hltv delay bug where second half demos were being cut off after only 30 seconds or so
fixed bug in knife round where users could still fire one shot with the pistol before being forced to switch to knife

8.02: (minor release) - Tuesday, May 22, 2007

fixed typo in knife round's start message: "KNIFE_ROUND_STARTED" vs. "KNIFE_ROUND_START"

8.01: (minor release) - Sunday, May 20, 2007

fixed bug where after a team had won in a knife-round only Ts could pick a team, even if CTs won
fixed bug where you could still type 'ready' in knife round
fixed bug where teams would be swapped, but the clan names wouldn't after a knife round
fixed bug where ready list would still display "None." even after the first player was ready
changed sequence of knife round/warmup/first half (now start-]warmup-]knife round-]warmup-]first half)

8.00: (major release) - Friday, May 18, 2007

added French translation, thanks AIA-Shogun
added updated German translation, thanks ToT | V!PER
added br translation, thanks rfrik
added Serbian translation, thanks iggy_bus
fixed hltv bug, thanks AIA-Shogun
fixed hltv delay bug
added knife round
added unlimited overtime support
added cvar 'amx_match_otunlimited'
added MySQL support for recording stats
added PHP/MySQL web interface to display SQL stats
changed name of cvar: 'amx_match_overtimecfg' to 'amx_match_otcfg', to match other overtime cvar names
changed format of hltv demos to remove duplicate parts of the demo name
changed the format for logging stats to the match half file (check that file for the new format)

7.03: (minor release) - Monday, November 13, 2006

fixed runtime error when executing a match

7.02: (minor release) - Friday, November 10, 2006

added warmup configs
added constants for all file handles so all hardcoded file names are all variables and in one place
added cvar amx_match_warmupcfg.
fixed problem where match would not end, if match played through all rounds and endtype was not 0
changed the format of the teams for the logging: CT -] 2, T -] 1 (instead of CT -] 1, T -] 2)
removed french translation due to all of the problems that the incomplete translation is causing. (Will add it back in once somebody translates it again)

7.01: (minor release) - Friday, July 21, 2006

fixed OT portion of the plugin. Overtime works correctly now...
fixed bug where password would be shown to all players if the server console started a match (id=0)
fixed bug where first map's name was used for demos during second map in a two map match.
updated swedish translation for five missing translation tags, thanks TheLinx.

7.00: (major release) - Saturday, July 15, 2006

added PUG type gameplay (See for details) turned on by cvar
added winlimit type matches
added logging to HL logs as well as AMXX logs
added printing to server console as well as AMXX logs
added two new console commands 'amx_match_addlength' and 'amx_match_addconfig' (equiv. to server commands: 'amx_match_lmenu' and 'amx_match_cmenu')
added two map matches (amx_match3 and amx_match4)
added logging of match stats
added new command 'say /relo3'
added new command 'amx_matchrelo3'
added ability to restart the half as well as the match
added ability for league files to be in the main cstrike directory as well as in '/amxmd/leagues/'
added file: 'defaultmaps.ini' for maps list in the menu
added polish translation, thanks rain.
added danish translation, thanks ZiP*.
added czech translation, thanks James.
added team randomizer, thanks for the idea Eklundh
added cvar amx_match_pugstyle
added cvar amx_match_randomizeteams
added cvar amx_match_stats
alphabatized the translation file (amx_match_deluxe.txt)
changed swap_teams to support the new cs_user_change_team functions (Swaps without killing the player)
changed the order of menus (removed 'match_type -> mr13'; added 'MatchType -> MR/TL/WL' and 'MatchLength -> 13'; added a menu for Tags/No Tags between CT Tags and the main menu )
changed all hud message channels (except the timer and show_score functions) to -1.
changed the way the plugin looks for the config file list in match_start; cfglist.txt is not used anymore
changed the settings menu to disable the dependent settings when the independent settings are disabled (amx_match_otlength and amx_match_overtimecfg, when amx_match_overtime is disabled, for instance)
changed the readme to html format
changed the defaults for some of the cvars (refer to cvar portion of the readme)
fixed menu settings function so it's not completely dependent on what cvars are registered (can't think of a way to completely get away from dependency)
fixed hltv delay, it actually delays the hltv now...
fixed all multilingual lines of code to use 'id' and 'LANG_PLAYER' properly
updated swedish translation, thanks TheLinx.
updated german translation, thanks pl2003.
reformated function names
reformated variable names
removed support for NO_STEAM
rewrote 'new_score' and 'start_match' functions
  • completely new layouts
  • way easier to debug

To do
Attached Files
File Type: sma Get Plugin or Get Source (amx_match_deluxe.sma - 22771 views - 188.1 KB)
File Type: zip (209.9 KB, 38861 views)

No comments

Not a single link is allowed to submit in comment :o