commit 8514a112ae49c24753b603733fdae48874d311b3 Author: root Date: Sat Sep 23 11:15:02 2023 +0300 init diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..81cdfff --- /dev/null +++ b/Dockerfile @@ -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 diff --git a/README.md b/README.md new file mode 100644 index 0000000..b511e3a --- /dev/null +++ b/README.md @@ -0,0 +1,2 @@ +# cstrike +based on [this repo](https://github.com/AMXX4u/BasePack). diff --git a/configs/banned.cfg b/configs/banned.cfg new file mode 100644 index 0000000..e69de29 diff --git a/configs/config.cfg b/configs/config.cfg new file mode 100755 index 0000000..a5659de --- /dev/null +++ b/configs/config.cfg @@ -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 diff --git a/configs/game.cfg b/configs/game.cfg new file mode 100644 index 0000000..efebcba --- /dev/null +++ b/configs/game.cfg @@ -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 anybody’s 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" diff --git a/configs/game_init.cfg b/configs/game_init.cfg new file mode 100644 index 0000000..90e31b2 --- /dev/null +++ b/configs/game_init.cfg @@ -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" diff --git a/configs/listip.cfg b/configs/listip.cfg new file mode 100644 index 0000000..e69de29 diff --git a/configs/motd.txt b/configs/motd.txt new file mode 100755 index 0000000..da24d91 --- /dev/null +++ b/configs/motd.txt @@ -0,0 +1,31 @@ + + + + +Cstrike MOTD + + + +You are playing Counter-Strike v1.6
+Visit the official CS web site @
+www.counter-strike.net
+Visit Counter-Strike.net + + diff --git a/configs/plugins.ini b/configs/plugins.ini new file mode 100644 index 0000000..1a0935a --- /dev/null +++ b/configs/plugins.ini @@ -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 \ No newline at end of file diff --git a/configs/server.cfg b/configs/server.cfg new file mode 100755 index 0000000..5d841ba --- /dev/null +++ b/configs/server.cfg @@ -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 + diff --git a/cstrike.env b/cstrike.env new file mode 100644 index 0000000..e69de29 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..06b9fe3 --- /dev/null +++ b/docker-compose.yml @@ -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