This commit is contained in:
root 2023-09-23 11:15:02 +03:00
commit 8514a112ae
12 changed files with 810 additions and 0 deletions

36
Dockerfile Normal file
View File

@ -0,0 +1,36 @@
FROM i386/debian:bookworm
LABEL maintainer="im@fruw.org"
ENV LANG en_US.utf8
ENV LC_ALL en_US.UTF-8
RUN apt-get update && \
apt-get -y install --no-install-recommends \
ca-certificates \
locales \
unzip
RUN localedef -c -i en_US -f UTF8 en_US.UTF8
WORKDIR /steamcmd
ADD http://media.steampowered.com/client/steamcmd_linux.tar.gz /tmp
RUN tar xf /tmp/steamcmd_linux.tar.gz
RUN cp linux32/crashhandler.so linux32/steamservice.so
RUN mkdir ~/.steam
RUN ln -s /steamcmd/linux32/ ~/.steam/sdk32
RUN ./steamcmd.sh +force_install_dir /hlds +login anonymous +app_update 90 +quit; exit 0
RUN ./steamcmd.sh +force_install_dir /hlds +login anonymous +app_update 90 validate +quit
WORKDIR /hlds
ADD https://github.com/AMXX4u/BasePack/releases/download/1.0.20/BasePack.zip /tmp
RUN unzip -o /tmp/BasePack.zip -d /hlds
RUN chmod +x hlds_linux
RUN touch cstrike/{banned,listip}.cfg
ENTRYPOINT ./hlds_run -game cstrike -strictportbind -ip 0.0.0.0 -port 27015 +sv_lan 0 +map de_dust2 -maxplayers 16

2
README.md Normal file
View File

@ -0,0 +1,2 @@
# cstrike
based on [this repo](https://github.com/AMXX4u/BasePack).

0
configs/banned.cfg Normal file
View File

176
configs/config.cfg Executable file
View File

@ -0,0 +1,176 @@
// This file is overwritten whenever you change your user settings in the game.
// Add custom configurations to the file "userconfig.cfg".
unbindall
bind "TAB" "+showscores"
bind "ENTER" "+attack"
bind "ESCAPE" "cancelselect"
bind "SPACE" "+jump"
bind "'" "+moveup"
bind "+" "sizeup"
bind "," "buyammo1"
bind "-" "sizedown"
bind "." "buyammo2"
bind "/" "+movedown"
bind "0" "slot10"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind ";" "+mlook"
bind "=" "sizeup"
bind "[" "invprev"
bind "]" "invnext"
bind "`" "toggleconsole"
bind "a" "+moveleft"
bind "b" "buy"
bind "c" "radio3"
bind "d" "+moveright"
bind "e" "+use"
bind "f" "impulse 100"
bind "g" "drop"
bind "h" "+commandmenu"
bind "i" "showbriefing"
bind "k" "+voicerecord"
bind "m" "chooseteam"
bind "n" "nightvision"
bind "o" "buyequip"
bind "q" "lastinv"
bind "r" "+reload"
bind "s" "+back"
bind "t" "impulse 201"
bind "u" "messagemode2"
bind "w" "+forward"
bind "x" "radio2"
bind "y" "messagemode"
bind "z" "radio1"
bind "~" "toggleconsole"
bind "UPARROW" "+forward"
bind "DOWNARROW" "+back"
bind "LEFTARROW" "+left"
bind "RIGHTARROW" "+right"
bind "ALT" "+strafe"
bind "CTRL" "+duck"
bind "SHIFT" "+speed"
bind "F1" "autobuy"
bind "F2" "rebuy"
bind "F5" "snapshot"
bind "F10" "quit prompt"
bind "INS" "+klook"
bind "PGDN" "+lookdown"
bind "PGUP" "+lookup"
bind "END" "force_centerview"
bind "MWHEELDOWN" "invnext"
bind "MWHEELUP" "invprev"
bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "PAUSE" "pause"
_cl_autowepswitch "1"
_snd_mixahead "0.1"
ati_npatch "1.0"
bgmvolume "1.000000"
bottomcolor "6"
brightness "1.000000"
cl_allowdownload "1"
cl_allowupload "1"
cl_backspeed "400"
cl_cmdbackup "2"
cl_cmdrate "60"
cl_corpsestay "600.000000"
cl_crosshair_color "50 250 50"
cl_crosshair_size "auto"
cl_crosshair_translucent "1"
cl_dlmax "512"
cl_download_ingame "1"
cl_dynamiccrosshair "1"
cl_forwardspeed "400"
cl_himodels "0"
cl_idealpitchscale "0.8"
cl_lc "1"
cl_logocolor "#Valve_Orange"
cl_logofile "lambda"
cl_lw "1"
cl_min_ct "2"
cl_min_t "1"
cl_minmodels "0"
cl_mousegrab "1"
cl_radartype "0"
cl_righthand "1"
cl_shadows "1"
cl_sidespeed "400"
cl_updaterate "60"
cl_vsmoothing "0.05"
cl_weather "1"
con_color "255 180 30"
console "1.000000"
crosshair "1.000000"
fastsprites "0"
fps_max "100.0"
gamma "2.500000"
gl_dither "1"
gl_flipmatrix "0"
gl_fog "1"
gl_monolights "0"
gl_overbright "0"
gl_polyoffset "4"
gl_vsync "1"
hisound "1"
hpk_maxsize "4"
hud_capturemouse "1"
hud_centerid "0"
hud_draw "1"
hud_fastswitch "0"
hud_saytext_internal "1"
hud_takesshots "0"
joystick "0"
lookspring "0.000000"
lookstrafe "0.000000"
m_customaccel "0"
m_customaccel_exponent "1"
m_customaccel_max "0"
m_customaccel_scale "0.04"
m_filter "0"
m_forward "1"
m_mousethread_sleep "10"
m_pitch "0.022000"
m_rawinput "0"
m_side "0.8"
m_yaw "0.022"
model "gordon"
MP3FadeTime "2.0"
MP3Volume "0.800000"
mp_decals "300.000000"
name "Player"
net_graph "0"
net_graphpos "1"
net_scale "5"
r_detailtextures "0"
sensitivity "3.000000"
skin ""
spec_autodirector_internal "1"
spec_drawcone_internal "1"
spec_drawnames_internal "1"
spec_drawstatus_internal "1"
spec_mode_internal "1"
spec_pip "0"
suitvolume "0.250000"
sv_aim "1"
sv_voiceenable "1"
team ""
topcolor "30"
viewsize "120.000000"
voice_enable "1"
voice_forcemicrecord "1"
voice_modenable "1"
voice_scale "0.750000"
volume "0.800000"
setinfo "_vgui_menus" "1"
setinfo "_ah" "1"
+mlook
+jlook
exec userconfig.cfg

505
configs/game.cfg Normal file
View File

@ -0,0 +1,505 @@
echo Executing ReGameDLL Configuration File
// The style of gameplay where there aren't any teams (FFA mode)
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_freeforall "0"
// Auto balancing of teams
// 0 - disabled
// 1 - on after next round (default behaviour)
// 2 - on next round
//
// Default value: "1"
mp_autoteambalance "1"
// Designate the desired amount of buy time for each round. (in minutes)
// -1 - means no time limit
// 0 - disable buy
//
// Default value: "1.5"
mp_buytime "0.25"
// The maximum allowable amount of money in the game
// NOTE: Allowable money limit is 999999
//
// Default value: "16000"
mp_maxmoney "16000"
// Disable round end by game scenario
// 0 - disabled (default behaviour)
// 1 - enabled (never end round)
//
// Flags for fine grained control (choose as many as needed)
// a - block round time round end check, contains "h", "i", "j", "k" flags
// b - block needed players round end check
// c - block VIP assassination/success round end check
// d - block prison escape round end check
// e - block bomb round end check
// f - block team extermination round end check
// g - block hostage rescue round end check
// h - block VIP assassination/success round time end check
// i - block prison escape round time end check
// j - block bomb round time end check
// k - block hostage rescue round time end check
//
// Example setting: "ae" - blocks round time and bomb round end checks
// Default value: "0"
mp_round_infinite "0"
// The round by expired time will be over, if on a map it does not have the scenario of the game.
// 0 - disabled (default behaviour)
// 1 - end of the round with a draw
// 2 - round end with Terrorists win
// 3 - round end with Counter-Terrorists win
//
// Default value: "0"
mp_roundover "0"
// Number of seconds to delay before restarting a round after a win.
//
// Default value: "5"
mp_round_restart_delay "5"
// Disable grenade damage through walls
// 0 - disabled
// 1 - enabled
//
// Default value: "0"
mp_hegrenade_penetration "0"
// Drop a grenade after player death
// 0 - disabled
// 1 - drop first available grenade
// 2 - drop all grenades
//
// Default value: "0"
mp_nadedrops "0"
// Player cannot respawn until next round
// if more than N seconds has elapsed since the beginning round
// -1 - means no time limit
//
// Default value: "20"
mp_roundrespawn_time "20"
// Automatically reload each weapon on player spawn
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_auto_reload_weapons "0"
// Refill amount of backpack ammo up to the max
// 0 - disabled (default behaviour)
// 1 - refill backpack ammo on player spawn
// 2 - refill backpack ammo on player spawn and on the purchase of the item
// 3 - refill backpack ammo on each weapon reload (NOTE: Useful for mods like DeathMatch, GunGame, ZombieMod etc.)
//
// Default value: "0"
mp_refill_bpammo_weapons "0"
// Sets the mode infinite ammo for weapons
// 0 - disabled (default behaviour)
// 1 - weapon clip infinite
// 2 - weapon bpammo infinite (This means for reloading)
//
// Default value: "0"
mp_infinite_ammo "0"
// Enable infinite grenades
// 0 - disabled (default behaviour)
// 1 - grenades infinite
//
// Default value: "0"
mp_infinite_grenades "0"
// Automatically joins the team
// 0 - disabled
// 1 - enabled (Use in conjunction with the cvar humans_join_team any/SPEC/CT/T)
//
// Default value: "0"
mp_auto_join_team "0"
// Maximum number of allowed teamkills before autokick.
// Used when enabled mp_autokick.
// 0 - disabled
//
// Default value: "3"
mp_max_teamkills "3"
// If set to something other than 0,
// when anybodys scored reaches mp_fraglimit the server changes map.
// 0 - means no limit
//
// Default value: "0"
mp_fraglimit "0"
// Period between map rotations.
// 0 - means no limit
//
// Default value: "0"
mp_timelimit "20"
// Players will automatically respawn when killed.
// 0 - disabled
// >0.00001 - time delay to respawn
//
// Default value: "0"
mp_forcerespawn "0"
// The hostages can take damage.
// 0 - disabled
// 1 - from any team (default behaviour)
// 2 - only from CT
// 3 - only from T
//
// Default value: "1"
mp_hostage_hurtable "1"
// Show radio icon.
// 0 - disabled
// 1 - enabled (default behavior)
//
// Default value: "1"
mp_show_radioicon "1"
// Show scenario icon in HUD such as count of alive hostages or ticking bomb.
// 0 - disabled (default behavior)
// 1 - enabled
//
// Default value: "0"
mp_show_scenarioicon "0"
// Play "Bomb has been defused" sound instead of "Counter-Terrorists win" when bomb was defused
// 0 - disabled (default behavior)
// 1 - enabled
//
// Default value: "1"
mp_old_bomb_defused_sound "1"
// Sets the mode for the zBot
// 0 - disabled
// 1 - enable mode Deathmatch and not allow to do the scenario
//
// Default value: "0"
bot_deathmatch "0"
// Determines the type of quota.
// normal - default behaviour
// fill - the server will adjust bots to keep N players in the game, where N is bot_quota
// match - the server will maintain a 1:N ratio of humans to bots, where N is bot_quota
//
// Default value: "normal"
bot_quota_mode "normal"
// Prevents bots from joining the server for this many seconds after a map change.
//
// Default value: "0"
bot_join_delay "0"
// Prevents bots on your server from moving.
// 0 - disabled (default behavior)
// 1 - enabled
//
// Default value: "0"
bot_freeze "0"
// Debug cvar shows triggers.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
showtriggers "0"
// When players can hear each other.
// Further explanation: https://github.com/s1lentq/ReGameDLL_CS/wiki/sv_alltalk
// 0 - dead don't hear alive
// 1 - no restrictions
// 2 - teammates hear each other
// 3 - same as 2, but spectators hear everybody
// 4 - alive hear alive, dead hear dead and alive.
// 5 - alive hear alive teammates, dead hear dead and alive.
//
// Default value: "0"
sv_alltalk "0"
// Time to remove item that have been dropped from the players. (in seconds)
//
// Default value: "300"
mp_item_staytime "300"
// Legacy func_bomb_target touch. New one is more strict.
// 0 - New behavior
// 1 - Legacy behavior
//
// Default value: "1"
mp_legacy_bombtarget_touch "1"
// Specifies the players defense time after respawn. (in seconds).
// 0 - disabled
// >0.00001 - time delay to remove protection
//
// Default value: "0"
mp_respawn_immunitytime "0"
// Enable effects on player spawn protection
// 0 - disabled
// 1 - enabled (Use in conjunction with the cvar mp_respawn_immunitytime)
//
// Default value: "1"
mp_respawn_immunity_effects "1"
// Force unset spawn protection if the player doing any action.
// 0 - disabled
// 1 - when moving and attacking
// 2 - only when attacking
//
// Default value: "1"
mp_respawn_immunity_force_unset "1"
// Kill the player in filled spawn before spawning some one else (Prevents players stucking in each other).
// Only disable this if you have semiclip or other plugins that prevents stucking
// 0 - disabled
// 1 - enabled
//
// Default value: "1"
mp_kill_filled_spawn "1"
// Allow use of point_servercommand entities in map.
// NOTE: Potentially dangerous for untrusted maps.
// 0 - disallow
// 1 - allow
//
// Default value: "0"
mp_allow_point_servercommand "0"
// Show 'HP' field into a scoreboard
// -1 - disabled
// 0 - don't send any update for 'HP' field to any clients
// 1 - show only Terrorist 'HP' field to all clients
// 2 - show only CT 'HP' field to all clients
// 3 - show 'HP' field to teammates
// 4 - show 'HP' field to all clients
// 5 - show 'HP' field to teammates and spectators
//
// Default value: "3"
mp_scoreboard_showhealth "3"
// Show 'Money' field into a scoreboard
// -1 - disabled
// 0 - don't send any update for 'Money' field to any clients
// 1 - show only Terrorist 'Money' field to all clients
// 2 - show only CT 'Money' field to all clients
// 3 - show 'Money' field to teammates
// 4 - show 'Money' field to all clients
// 5 - show 'Money' field to teammates and spectators
//
// Default value: "3"
mp_scoreboard_showmoney "3"
// Show 'D. Kit' field into a scoreboard for teammates
// NOTE: If you don't want to show defuse kit field for dead enemies
// then disable this CVar or configure mp_forcecamera
// 0 - disabled
// 1 - enabled
//
// Default value: "1"
mp_scoreboard_showdefkit "1"
// How much to reduce damage done to teammates when shot.
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "0.35"
ff_damage_reduction_bullets "0.35"
// How much to reduce damage done to teammates by a thrown grenade.
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "0.25"
ff_damage_reduction_grenade "0.25"
// How much to damage a player does to himself with his own grenade
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "1.0"
ff_damage_reduction_grenade_self "1.0"
// How much to reduce damage done to teammates by things other than bullets and grenades.
// Range is from 0 - 1 (with 1 being damage equal to what is done to an enemy)
//
// Default value: "0.35"
ff_damage_reduction_other "0.35"
// Player that have never moved sience they last move
// will drop the bomb after this amount of time. (in seconds).
// 0 - disabled
// >5.0 - delay to drop
//
// Default value: "0"
mp_afk_bomb_drop_time "0"
// Delay between player Radio messages. (in seconds).
// 0 - disable delay
//
// Default value: "1.5"
mp_radio_timeout "1.5"
// Maximum Radio messages count for player per round.
// 0 - disable radio messages
//
// Default value: "60"
mp_radio_maxinround "60"
// When set, players can buy anywhere, not only in buyzones.
// 0 - disabled
// 1 - both teams
// 2 - only Terrorists team
// 3 - only CT team
//
// Default value: "0"
mp_buy_anywhere "0"
// Don't unduck if ducking isn't finished yet.
// NOTE: This also prevents double duck.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_unduck_method "0"
// Whether this map should spawn a C4 bomb for a player or not.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_give_player_c4 "1"
// When set, map weapons (located on the floor) will be shown.
// NOTE: Effect will work after round restart.
// 0 - hide all map weapons
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_weapons_allow_map_placed "1"
// Observer's screen will fade to black on kill event or permanent.
// 0 - No fade
// 1 - Fade to black and won't be able to watch anybody
// 2 - fade to black only on kill moment.
//
// Default value: "0"
mp_fadetoblack "0"
// Damage from falling.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_falldamage "1"
// The default grenades that the Ts will spawn with.
// Usage: "hegrenade flash sgren"
//
// Default value: ""
mp_t_default_grenades ""
// Whether Terrorist player spawn with knife.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_t_give_player_knife "1"
// The default primary (rifle) weapon that the Ts will spawn with.
// Usage: "awp m4a1 mp5navy"
//
// Default value: ""
mp_t_default_weapons_primary ""
// The default secondary (pistol) weapon that the Ts will spawn with.
//
// Default value: "glock18"
mp_t_default_weapons_secondary "glock18"
// The default grenades that the CTs will spawn with.
// Usage: "hegrenade flash sgren"
//
// Default value: ""
mp_ct_default_grenades ""
// Whether Counter-Terrorist player spawn with knife.
// 0 - disabled
// 1 - enabled (default behaviour)
//
// Default value: "1"
mp_ct_give_player_knife "1"
// The default primary (rifle) weapon that the CTs will spawn with.
// Usage: "awp m4a1 mp5navy"
//
// Default value: ""
mp_ct_default_weapons_primary ""
// The default secondary (pistol) weapon that the CTs will spawn with.
//
// Default value: "usp"
mp_ct_default_weapons_secondary "usp"
// Give the player free armor on player spawn
// 0 - No armor (default behavior)
// 1 - Give Kevlar
// 2 - Give Kevlar and Helmet
//
// Default value: "0"
mp_free_armor "0"
// Players can receive all other players text chat, team restrictions apply.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_allchat "0"
// Players automatically re-jump while holding jump button.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_autobunnyhopping "0"
// Allow player speed to exceed maximum running speed
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
sv_enablebunnyhopping "0"
// When set, players can plant anywhere, not only in bombsites.
// 0 - disabled (default behaviour)
// 1 - enabled
//
// Default value: "0"
mp_plant_c4_anywhere "0"
// How many bonuses (frags) will get the player who defused or exploded the bomb.
// 3 - (default behaviour)
//
// Default value: "3"
mp_give_c4_frags "3"
// Ratio of hostages rescued to win the round.
//
// Default value: "1.0"
mp_hostages_rescued_ratio "1.0"
// Legacy func_vehicle behavior when blocked by another entity.
// New one is more useful for playing multiplayer.
//
// 0 - New behavior
// 1 - Legacy behavior
//
// Default value: "1"
mp_legacy_vehicle_block "1"

6
configs/game_init.cfg Normal file
View File

@ -0,0 +1,6 @@
// Sets mins/maxs hull bounds for the player.
// 0 - disabled (default behaviour, sets engine)
// 1 - enabled (sets gamedll)
//
// Default value: "1"
mp_hullbounds_sets "1"

0
configs/listip.cfg Normal file
View File

31
configs/motd.txt Executable file
View File

@ -0,0 +1,31 @@
<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<title>Cstrike MOTD</title>
<style type="text/css">
body {
background: #000;
margin: 8px;
color: #FFB000;
font: normal 16px/20px Verdana, Tahoma, sans-serif;
}
a {
color: #FFF;
text-decoration: underline;
}
a:hover {
color: #EEE;
text-decoration: none;
}
</style>
</head>
<body>
You are playing Counter-Strike v1.6<br>
Visit the official CS web site @<br>
www.counter-strike.net<br>
<a href="http://www.counter-strike.net">Visit Counter-Strike.net</a>
</body>
</html>

10
configs/plugins.ini Normal file
View File

@ -0,0 +1,10 @@
linux addons/reunion/reunion_mm_i386.so
linux addons/amxmodx/dlls/amxmodx_mm_i386.so
linux addons/revoice_plus/revoice_plus_mm.so
; Optional Modules
;linux addons/reauthcheck/reauthcheck_mm_i386.so
;linux addons/rechecker/rechecker_mm_i386.so
;linux addons/whblocker/whblocker_mm_i386.so
;linux addons/resemiclip/resemiclip_mm_i386.so
;linux addons/hitbox_fix/hitbox_fix_mm_i386.so

24
configs/server.cfg Executable file
View File

@ -0,0 +1,24 @@
// Use this file to configure your DEDICATED server.
// This config file is executed on server start.
// disable autoaim
sv_aim 0
// disable clients' ability to pause the server
pausable 0
// default server name. Change to "Bob's Server", etc.
hostname "Counter-Strike 1.6 Server"
// maximum client movement speed
sv_maxspeed 320
// 20 minute timelimit
mp_timelimit 20
sv_cheats 0
// load ban files
exec listip.cfg
exec banned.cfg

0
cstrike.env Normal file
View File

20
docker-compose.yml Normal file
View File

@ -0,0 +1,20 @@
version: '3.7'
services:
cstrike:
container_name: cstrike
image: fruworg/cstrike:1.0
restart: unless-stopped
volumes:
- ./configs/motd.txt:/hlds/cstrike/motd.txt
- ./configs/server.cfg:/hlds/cstrike/server.cfg
- ./configs/config.cfg:/hlds/cstrike/config.cfg
- ./configs/game.cfg:/hlds/cstrike/game.cfg
- ./configs/game_init.cfg:/hlds/cstrike/game_init.cfg
- ./configs/listip.cfg:/hlds/cstrike/listip.cfg
- ./configs/banned.cfg:/hlds/cstrike/banned.cfg
- ./configs/plugins.ini:/hlds/cstrike/addons/metamod/plugins.ini
ports:
- 27015:27015/udp
env_file:
- cstrike.env