Half-Life GunGame

Half-Life GunGame Logo

Arms Race mode for Half-Life. The objective is to get a kill with every weapon in the game in. By killing someone you get new weapons. From v.2.0 this plugin supports all Half-Life mods.


This plugin adds new game mode “Arms Race”. All players start with the same weapon and get a new one each time they kill an enemy. The first player to get a kill with every weapon wins the match.

Version: 2.1 [01.11.2014] [ SVN ]

Supported mods

  • Half-Life
  • Opposing Force
  • Counter-Strike
  • Day Of Defeat
  • Adrenaline Gamer
  • AGmini


AMXX 1.8.2 hg26 or higher.

Working Hamsandwich module.


  • Extract archive to amxmodx folder.
  • Compile plugin from source.
    • You can use compile.exe. Compiled plugin should be in compiled folder.
  • Copy compiled plugin gungame.amxx to addons/amxmodx/plugins folder.
  • Add gungame.amxx line somewhere in addons/amxmodx/configs/plugins.ini file.

Compile options


You can find plugin configuration files in addons/amxmodx/configs/gungame folder.

Main configuration file is gungame.ini. Configuration files are written in XML like structure. All settings are split into elements, the beginning and the end of the element must be marked with special tags.

Element should start with <element> tag and end with </element> tag.

Settings inside elments are denoted as: setting name = setting value.

Element list and settings description

cvars – for plugin cvars.

sets – for weapons order. This element contains sub-element level.

level – for level settings. Must be placed in sets element. This element has following settings and subelements:

  • name – level name. Weapon name will be used if not set.
  • kills – kills count to pass this level.
  • skip – required players count for this level. Level will be skipped if no enough players.
  • icon – status icon sprite for this level. You can view sprites list in sprites/hud.txt file. Note: not all mods support status icon.
  • botcant – level skip for bots. 1 for enable, 0 for disable.
  • equip element – level equipments. For westrongapons you ca/spann enable auto-refill by following settings:
    • clip – clip value.
    • refil_time_1 – refill time for primary ammo.
    • refil_ammount_1 – refill amount for primary ammo.
    • disable_fullammo_1 – enable/disable full ammo on spawn for primary ammo.
    • refil_time_2 – refill time for secondary ammo.
    • refil_ammount_2 – refill amount for secondary ammo.
    • disable_fullammo_2 – enable/disable full ammo on spawn for secondary ammo.
  • inflictors element – inflictors list. Player can harm other players only with these inflictors. You can enable inflictors limit per time by write limit amount after inflictor classname. Player will not able to use his weapon until weapon's inflictors will not destroyed. Player will able to harm other players in any way if not set.

In this example we defined level with 10 tripmine kills. This level will be skipped if less than 6 players. This level will be skipped for bots. On this level we have infinity tripmines and 9mmAR without ammo, but with assault grenades. Assault grenades are auto-refills in amount of 2 each 10 seconds. Player on this level can only harm with tripmine. Player is not able to set more than 10 mines at once.

mods – for mod settings. Can contain following sub-elements:

blockspawn – allows you block certain objects from spawn.

warmup – sets warm-up time equipments. Configuration is same with level element.

For each map, you can define owns levels. To do this, simple create a .ini file named after the map with settings in it. For example, you might have amxmodx/configs/gungame/frenzy.ini for map frenzy. Fill this files with level elements.

By default gungame.ini is already configured for Half-Life. You can see configuration example for other mods in following files:

  • gungame_cstrike.ini – for Counter-Strike.
  • gungame_gearbox.ini – for Opposing Force.
  • gungame_dod.ini – for Day Of Defeat


  • gg_enabled "1" - Enable GunGame by default.
  • gg_sound_winner “media/Half-Life03.mp3;media/Half-Life08.mp3;media/Half-Life11.mp3;media/Half-Life17.mp3” – The sound played to everyone when a player wins the game. Leave blank to disable. If you list multiple songs, separated by semicolon (;), a random one will be chosen.
  • gg_sound_levelupdebris/beamstart5.wav” – The sound played to astrong player when he levels up. Leave blank to disable.
  • gg_sound_leveldown debris/beamstart5.wav” – The sound played to a player when he levels down. Leave blank to disable.
  • gg_uparmor30” – Bonus armor on level up. Player can get bonus armor with 1 of 3 chspan style="color: #00ff00;"strongance. 0 – disable.
  • gg_descore1” – Whether or not players lose a level for committing suicide.
  • gg_autosave300.0” - Remembers a player's level and score upon disconnect for this amount of time (in seconds), so that they can rejoin shortly and not have to start over.
  • gg_endgame_delay15.0” – Delay time at match end. Vote for nextmap and player stats are displaying during this time.
  • gg_showstats1” – Whether or not display players stats at match end.
  • gg_stats_color255 255 0” – HUD color for endgame stats.
  • gg_stats_pos0.73 0.40” – HUD position for endgame stats.
  • gg_mapchange_style1” – The type of vote that comes up automatically on certain conditions.
    • 0 – Disable autovote for nextmap.
    • 1 – Start vote at match end.
    • 2 – Start vote on near end level.
  • gg_mapchooser_type0” - Mapchooser type.
    • 0 – Auto-detection.
    • 1 – Galileo.
    • 2 – default mapchooser.amxx.
    • 3 – custom vote command.
    • 4 – Deagle’s Map Manager.
  • gg_mapchange_cmd "amx_nextmap_vote 0 0 0" - Vote start command for gg_mapchooser_type 3.
  • gg_startvote_nearlevel2” – Near level value for gg_mapchange_style 2.
  • gg_informer_display1” – Whether or not display HUD informer with level information.
  • gg_informer_pos-1.0 0.96” – HUD position for this informer.
  • gg_informer_color128 255 0” – HUD color for this informer.
  • gg_informer_holdtime20.0” – Magic. 20.0 – for HL and Op4, 0.5 – for other mods.
  • gg_chat_messagesabcdefgh” - Set to 0 to disable all GunGame messages. This is bit sum of allowed messages.
    • a – level up.
    • b – level down.
    • c – do not use.
    • d – up to last level.
    • e – level skip.
    • f – win messages.
    • g - mod enable notify.
    • h - mod disable notify.
  • gg_restore_hp1” – Whether or not re-health player on level up.
  • gg_default_hp100” – Default health value.
  • gg_default_ap100” – Default armor value.
  • gg_icon_enable1” – Whether or not display status icon. Note: not all mods support status icon.
  • gg_icon_color255 127 0” – Status Icon color.
  • gg_icon_blink3.0” – Status icon blink time on level up. 0 – disable.
  • gg_handicap_on1” – Level assign for new players.
    • 0 – start level.
    • 1 – sets the level of late-joiners to the average level in the server.
    • 2 - sets them instead to the level of the currently lowest leveled player.
  • gg_warmup30.0” - The time (in seconds) for the warmup round when the map starts, giving players time to connect. A value of 0.0 disables warmup round.
  • gg_prolevel_music “” – Sets music which will be played when someone need one kill to win. Leave blank for disable. Only mp3 files are supported. You can loop music to play, for example: media/csgo02.mp3 21.4, this will loop csgo02.mp3 file for 21.4 seconds.
  • gg_teamplay "0" - Teamplay mode.
  • gg_teamplay_multigoal "2.0" - Level kills multipler for teamplay mode. This usefull to increase level kills without need to update configuration files.
  • gg_cfg_file "gungame.ini" - Main GunGame configration file name.

InformerHLGG Informer

You can format informer as you want.

To do this open amxmodx/data/lang/gungame.txt dictionary file and edit INFORMER line.


  • <weapon> - current level name or weapon name.
  • <level> - current player level.
  • <maxlevel> - max level.
  • <samelevel> - players count on same level.
  • <kills> - player kills.
  • <needkills> - player need kills.
  • <rank> - player rank.
  • <ranknum> - players count.
  • <leader> - current leader name.
  • <lweapon> - leader level name or weapon name.

Counter-Strike Addon

Version: 0.1  [01.11.2014]

For fully Counter-Strike support you need enable gg_cstrike plugin, which shared along with mod.

At this time custom Counter-Strike support is:

  • Buyzone remove.
  • Round timer and money indicator hide.
  • Goal objects remove (hostages, bomb-sites and etc.).
  • Armor with helmet on spawn.
  • CSDM support.


  • gg_disable_money "1" - hide money indicator.
  • gg_disable_timer "1" - hide timer indicator.
  • gg_disable_object "1" - goal objects remove.
  • gg_give_armor "100" - bonus armor on spawn.
  • gg_give_helmet "1" - give helmet with armor.

CSDM and how to auto-respawn players

Plugin is compatible with CSDM, however, don’t enable following plugins:

  • csdm_equip.amxx – not need.
  • csdm_stripper.amxx – incompatible with HLGunGame.

There is no auto-respawn feature in this plugin . You should use 3rd party plugins instead, Respawn plugin by Safety1st for example.


Half-Life Opposing Force Day Of Defeat Counter-Strike


This converter allows you convert old configuration files to new format. You can convert one file or serveral, by pack them in zip archive.


Icon of HLGunGame (40.5 KiB)

Leave a Reply

  • [GunGame] Offsets for Half-Life loaded
    [GunGame] Total 14 levels loaded from "gungame.ini" configuration file
    Executing AMX Mod X Configuration File
    Scrolling message displaying frequency: 10:00 minutes
    L 05/10/2016 - 00:43:31: [WEAPONMOD] Invalid weapon id provided (15).
    L 05/10/2016 - 00:43:31: [AMXX] Displaying debug trace (plugin "gungame.amxx", version "2.1")
    L 05/10/2016 - 00:43:31: [AMXX] Run time error 10: native error (native "wpnmod_get_weapon_info")
    L 05/10/2016 - 00:43:31: [AMXX] [0] gungame.sma::MSG_WeaponList (line 1461)

  • 6eDa says:

    здравствуйте! такая проблема! все отлично работает, но когда кто-то нибуть начинает подключается к серваку, происходит двух секундный лаг, а потом опять все нормально, в чем может быть проблема?
    включены дефолтные плагины и сам мод, больше ничего нету.

  • L 09/07/2015 - 16:42:42: [AMXX] Plugin file open error (plugin "gg_cstrike.amxx")

    Half-Life GunGame Copyright (c) 2014 serfreeman1337
    Version 2.1 build on 1, November (11), 2014

    [GunGame] Mod settings is not preset!
    L 09/07/2015 - 16:42:43: [AMXX] Plugin ("gungame.amxx") is setting itself as failed.
    L 09/07/2015 - 16:42:43: [AMXX] Plugin says: missing mod settings
    L 09/07/2015 - 16:42:43: [AMXX] Run time error 1 (plugin "gungame.amxx") - forced exit

    • Кто-то не скомпилировал gg_cstrime.sma и не закинул готовый amxx плагин в папку plugins.

      Для Counter-Strike нужно заменить файл конфигурации addons/amxmodx/configs/gungame/gungame.ini файлом gungame_cstrike.ini, который находится в той-же папке.

      Изначально gungame.ini уже настроен для Half-Life. Пример настройки под другие моды вы можете посмотреть в следующих файлах:

      gungame_cstrike.ini – для Counter-Strike.
      gungame_gearbox.ini – для Opposing Force.
      gungame_dod.ini – для Day Of Defeat.

  • TMG I SideR says:

    serfreeman1337, правильно я понял. Мне нужно, чтоб был уровень с AWP. Я его создал, и нужно чтоб в магазине был всего 1 патрон для выстрела. И 30 патрон в запасе.

    kills = 7
    icon = d_awp


    clip = 1
    refil_ammount_1 = 30

    И реально сделать, чтоб в этом же уровне, я мог убить одного игрока ножом и получить новый уровень. Так правильно?

    kills = 7
    icon = d_awp


    clip = 1
    refil_ammount_1 = 30


    kills = 1

  • Сделал как вы написали, но при gg_disable_object "0" и gg_disable_object "1" ничего не изменилось. Поставил обновленный мод и то же ничего. Сейчас попробую поставить другой билд сервера. Логи один в один, что скинул постом выше.

  • Здравствуйте.
    Падает сервер с ошибкой [b]Segmentation fault[/b]. Падает когда выбираешь команду и все, серв упал.
    Вот логи.
    [spoiler=Скрытый текст]root@sever-party:/home/gg# ./hlds_run -game cstrike +sys_ticrate 1000 -insecure +map de_dust2 -maxplayers 32 +ip -port 27777
    Auto-restarting the server on crash

    Console initialized.
    Using breakpad crash handler
    Setting breakpad minidump AppID = 10
    Forcing breakpad minidump interfaces to load
    Looking up breakpad interfaces from steamclient
    Protocol version 48
    Exe version (cstrike)
    Exe build: 13:12:29 Aug 29 2013 (6153)
    STEAM Auth Server
    Server IP address

    Metamod version 1.21p37 Copyright © 2001-2013 Will Day
    Patch: Metamod-P (mm-p) v37 Copyright © 2004-2013 Jussi Kivilinna
    Metamod comes with ABSOLUTELY NO WARRANTY; for details type meta gpl'.
    This is free software, and you are welcome to redistribute it
    under certain conditions; type
    meta gpl' for details.

    Version 0.9.524 Linux
    [DPROTO]: Done.

    AMX Mod X version 1.8.3-dev+4526 Copyright © 2004-2014 AMX Mod X Development Team
    AMX Mod X comes with ABSOLUTELY NO WARRANTY; for details type `amxx gpl'.
    This is free software and you are welcome to redistribute it under
    certain conditions; type 'amxx gpl' for details.

    [WHB] Version: 1.5.370 Linux
    [WHB] Success: Build HLDS version defined Linux "6153"
    L 01/17/2015 - 14:03:49: -------- Mapchange to de_dust2 --------
    [HACKD] Found engine at 0xB6FDE000.
    [AMXX] Loaded 1 admin from file

    Half-Life GunGame Copyright © 2014 serfreeman1337
    Version 2.1 build on 1, November (11), 2014

    [GunGame] Offsets for Counter-Strike loaded
    [GunGame] Total 23 levels loaded from "gungame.ini" configuration file
    [S_API FAIL] SteamAPI_Init() failed; SteamAPI_IsSteamRunning() failed.
    Forcing breakpad minidump interfaces to load
    Looking up breakpad interfaces from steamclient
    Looking up breakpad interfaces from steamclient

    Executing AMX Mod X Configuration File
    Scrolling message displaying frequency: 10:00 minutes
    couldn't exec addons/amxmodx/configs/AC/cvars.cfg
    Server logging data to file logs/L0117019.log
    L 01/17/2015 - 14:03:51: Log file started (file "logs/L0117019.log") (game "cstrike") (version "48/")
    L 01/17/2015 - 14:03:51: Server cvar "mp_logdetail" = "3"
    Menu item 17 added to Menus Front-End: "Plugin Cvars" from plugin "pluginmenu.amxx"
    Menu item 18 added to Menus Front-End: "Plugin Commands" from plugin "pluginmenu.amxx"
    Connection to Steam servers successful.
    L 01/17/2015 - 14:03:52: World triggered "Restart_Round_(3_seconds)"
    L 01/17/2015 - 14:03:52: Team "CT" scored "0" with "0" players
    L 01/17/2015 - 14:03:52: Team "TERRORIST" scored "0" with "0" players
    L 01/17/2015 - 14:03:52: Server cvar "sv_restart" = "0"
    VAC secure mode disabled.
    L 01/17/2015 - 14:03:55: World triggered "Round_Start"
    L 01/17/2015 - 14:04:36: [DPROTO]: Client 0 - Set AuthIdType 1 [dp_RevEmu]; pClient = 0xb44acf08
    L 01/17/2015 - 14:04:36: "4ak. :D" connected, address ""
    L 01/17/2015 - 14:04:36: [admin.amxx] Login: "4ak. :D" became an admin (account "") (access "abcdefghijklmnopqrstuv") (address "")
    L 01/17/2015 - 14:04:39: "4ak. :D" entered the game
    Segmentation fault


    Строка запуска
    [spoiler=Скрытый текст] ./hlds_run -game cstrike +sys_ticrate 1000 -insecure +map de_dust2 -maxplayers 32 +ip -port 27777[/spoiler]
    Билд 6153 чистый.
    dproto 0.9.524
    Список плагинов
    [spoiler=Скрытый текст]alias_detector082.amxx
    ; Admin Base - Always one has to be activated
    admin.amxx ; admin base (required for any admin-related)
    ;admin_sql.amxx ; admin base - SQL version (comment admin.amxx)

    ; Basic
    admincmd.amxx ; basic admin console commands
    adminhelp.amxx ; help command for admin console commands
    adminslots.amxx ; slot reservation
    multilingual.amxx ; Multi-Lingual management

    ; Menus
    menufront.amxx ; front-end for admin menus
    cmdmenu.amxx ; command menu (speech, settings)
    plmenu.amxx ; players menu (kick, ban, client cmds.)
    ;telemenu.amxx ; teleport menu (Fun Module required!)
    mapsmenu.amxx ; maps menu (vote, changelevel)
    pluginmenu.amxx ; Menus for commands/cvars organized by plugin

    ; Chat / Messages
    adminchat.amxx ; console chat commands
    antiflood.amxx ; prevent clients from chat-flooding the server
    scrollmsg.amxx ; displays a scrolling message
    imessage.amxx ; displays information messages
    adminvote.amxx ; vote commands

    ; Map related
    nextmap.amxx ; displays next map in mapcycle
    mapchooser.amxx ; allows to vote for next map
    timeleft.amxx ; displays time left on map

    ; Configuration
    pausecfg.amxx ; allows to pause and unpause some plugins
    statscfg.amxx ; allows to manage stats plugins via menu and commands

    ; Custom - Add 3rd party plugins here
    пробовал запускать сервер без
    gg_cstrike.amxx[/b] все отлично, работает как часы.

  • 7aHuKaJ0_o says:

    Все равно он ленивая скатина!

  • ещё после того как кто то победил, игроки возраждаются на респе, и как замороженные что ли,и голосование за карту не появляется,наверное надо поставить gg_mapchooser_type 2, или хотя щас не понял, кс свернутая была, захожу уже другая карта:D

  • а из-за чего это
    L 08/01/2014 - 09:07:31: Start of error session.
    L 08/01/2014 - 09:07:31: Info (map "de_dust2_2x2") (file "addons/amxmodx/logs/error_20140801.log")
    L 08/01/2014 - 09:07:31: [HAMSANDWICH] Failed to retrieve classtype for "monster_satchel", hook for "Check_LimitInflictors" not active.
    L 08/01/2014 - 09:07:31: [AMXX] Run time error 10 (plugin "gungame.amxx") (native "RegisterHam") - debug not enabled!
    L 08/01/2014 - 09:07:31: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).
    L 08/01/2014 - 09:07:31: [AMXX] Plugin ("gungame.amxx") is setting itself as failed.
    L 08/01/2014 - 09:07:31: [AMXX] Plugin says: missing mod settings
    L 08/01/2014 - 09:07:31: [AMXX] Run time error 1 (plugin "gungame.amxx") - forced exit