cs16-dm-server: CS 1.6 deathmatch server in Docker

One-command setup (SteamCMD + pinned, checksum-verified ReHLDS / ReGameDLL /
Metamod-R / AMXX / ReAPI / ReUnion / CSDM-ReAPI / YaPB / GunGame), .env
settings, ./cs menu (map, DM/GunGame mode, bots, kill counter, restart,
update), own plugins (extras, rtv, mode switch), all-time kill counter,
watchdog + nightly backup, docs for admins and players.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
esefandClaude Opus 5.5 committed 2026-10-11 05:03:07 +03:00
commit 7e9cbee14d
33 files changed
+1890

No files matched your search

+138
View File
@@ -0,0 +1,138 @@
// GunGame AMXX 2.13c
// cs16-dm-server: FFA GunGame (gg_tk_penalty -1 + mp_freeforall 1 in gg_map_setup); objectives blocked; 30s knife warmup
// basic cvars
gg_enabled 1
gg_vote_setting 2
gg_vote_custom ""
gg_changelevel_custom ""
gg_map_setup "mp_timelimit 30; mp_winlimit 0; mp_chattime 10; mp_freeforall 1; mp_forcerespawn 0; mp_respawn_immunitytime 0; mp_friendlyfire 0"
gg_endmap_setup ""
gg_join_msg 1
gg_messages 1
gg_save_temp 300
gg_status_display 1
gg_map_iterations 1
gg_ignore_bots 0
gg_block_equips 2
gg_leader_display 1
gg_leader_display_x -1.0
gg_leader_display_y 0.0
gg_allow_changeteam 2
gg_disable_money 1
gg_winner_motd 1
gg_afk_protection 0
gg_top10_ppp 8
// autovote cvars
gg_autovote_mode 0
gg_autovote_rounds 1
gg_autovote_delay 8.0
gg_autovote_ratio 0.51
gg_autovote_time 10.0
// stats cvars
gg_stats_file "gungame.stats" // not used with SQL
gg_stats_streak_file "gungame.streaks" // not used with SQL
gg_stats_ip 0
gg_stats_prune 2592000
gg_stats_mode 2
gg_stats_split 0
gg_stats_winbonus 1.5
// SQL-only cvars
//gg_sql_host "127.0.0.1"
//gg_sql_user "root"
//gg_sql_pass ""
//gg_sql_db "amx"
//gg_sql_table "gg_stats"
//gg_sql_streak_table "gg_streaks"
//gg_sql_winmotd_table "gg_winmotd"
// deathmatch cvars
gg_dm 1
gg_dm_sp_time 1.0
gg_dm_sp_mode 1
gg_dm_spawn_random 2
gg_dm_start_random 1
gg_dm_spawn_delay 1.0
gg_dm_spawn_afterplant 1
gg_dm_corpses 1
gg_dm_countdown 2
// objective cvars
gg_block_objectives 1
gg_bomb_defuse_lvl 1
gg_host_touch_reward 2
gg_host_rescue_reward 2
gg_host_kill_reward 1
gg_host_kill_penalty 1
// teamplay cvars
gg_teamplay 0
gg_teamplay_knife_mod 0.33
gg_teamplay_nade_mod 0.50
gg_teamplay_timeratio 1
// gameplay cvars
gg_ff_auto 0
gg_weapon_order "glock18,usp,p228,deagle,fiveseven,elite,m3,xm1014,tmp,mac10,mp5navy,ump45,p90,galil,famas,ak47,scout,m4a1,sg552,aug,m249,hegrenade,knife"
gg_max_lvl 3
gg_triple_on 0
gg_turbo 1
gg_knife_pro 1
gg_knife_elite 0
gg_suicide_penalty 1
gg_worldspawn_suicide 1
gg_pickup_others 0
gg_handicap_on 1
gg_top10_handicap 1
gg_warmup_timer_setting 30
gg_warmup_weapon "knife"
gg_warmup_multi 0
gg_nade_glock 1
gg_nade_smoke 0
gg_nade_flash 0
gg_extra_nades 1
gg_nade_refresh 5.0
gg_kills_per_lvl 2
gg_kills_botmod 1.0
gg_give_armor 100
gg_give_helmet 1
gg_ammo_amount 200
gg_refill_on_kill 1
gg_tk_penalty -1
gg_awp_oneshot 1
gg_bots_skipnade 0
gg_bots_knifeable 1
// sound cvars
gg_sound_levelup "sound/gungame/gg_levelup.wav"
gg_sound_leveldown "sound/ambience/xtal_down1(e70)"
gg_sound_levelsteal "sound/turret/tu_die.wav"
gg_sound_nade "sound/gungame/gg_nade_level.wav"
gg_sound_knife "sound/gungame/gg_knife_level.wav"
gg_sound_welcome "sound/gungame/gg_welcome.wav"
gg_sound_triple "sound/gungame/gg_triple.wav"
gg_sound_winner "media/Half-Life03.mp3;media/Half-Life08.mp3;media/Half-Life11.mp3;media/Half-Life17.mp3"
gg_sound_takenlead "sound/gungame/gg_takenlead.wav"
gg_sound_tiedlead "sound/gungame/gg_tiedlead.wav"
gg_sound_lostlead "sound/gungame/gg_lostlead.wav"
gg_lead_sounds 0.9
// random weapon order cvars (leave blank to disable)
gg_weapon_order1 ""
gg_weapon_order2 ""
gg_weapon_order3 ""
gg_weapon_order4 ""
gg_weapon_order5 ""
gg_weapon_order6 ""
gg_weapon_order7 ""
gg_weapon_order8 ""
gg_weapon_order9 ""
gg_weapon_order10 ""
// valid weapon names for gg_weapon_order:
//
// ak47, aug, awp, deagle, elite, famas, fiveseven, g3sg1, galil, glock18, hegrenade, knife,
// m249, m3, m4a1, mac10, mp5navy, p228, p90, scout, sg550, sg552, tmp, ump45, usp, xm1014
@@ -0,0 +1,46 @@
;;;
; To enable a module, remove the semi-colon (;) in front of its name.
; If it's not here, simply add it its name, one per line.
; You don't need to write the _amxx part or the file extension.
;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; SQL Modules usually need to be enabled manually ;;
;; You can have any number on at a time. Use ;;
;; amx_sql_type in sql.cfg to specify the default ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;mysql
;sqlite
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; Put third party modules below here. ;;
;; You can just list their names, without the _amxx ;;
;; or file extension. ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; These modules will be auto-detected and loaded ;;
;; as needed. You do not need to enable them here ;;
;; unless you have problems. ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;fun
;engine
;fakemeta
;geoip
;sockets
;regex
;nvault
;cstrike
;csx
;hamsandwich
; cs16-dm-server: GunGame needs these three. Loaded at boot on purpose: if they first load on a
; GunGame map they miss the game's message setup and the server crashes when a player joins
; ("PF_MessageBegin_I: bogus message type"). Never add reapi here (AMXX autoloads it).
cstrike
fakemeta
hamsandwich
@@ -0,0 +1,2 @@
; GunGame (cs16-dm-server). Active only in gungame mode: esef_mode.amxx renames this file to .ini / .ini.off
gungame.amxx
@@ -0,0 +1,47 @@
; AMX Mod X plugins
; 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
rtv.amxx ; rock the vote (cs16-dm-server, src: plugins/rtv.sma)
esef_extras.amxx ; damage numbers, killstreaks, announcer, HP on kill (cs16-dm-server)
esef_mode.amxx ; esef_mode dm|gg via RCON (cs16-dm-server)
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
; Counter-Strike
;restmenu.amxx ; restrict weapons menu
statsx.amxx ; stats on death or round end (CSX Module required!)
;miscstats.amxx ; bunch of events announcement for Counter-Strike
;stats_logging.amxx ; weapons stats logging (CSX Module required!)
; Custom - Add 3rd party plugins here