Singleplayer and cooperative PvE mod for Counter-Strike: Source, that brings mission based gameplay experience from Counter-Strike: Condition Zero
- π Task tracking system from Counter-Strike: Condition Zero
- π―ββοΈ Multiplayer support and co-op difficulty adjustments
- π Support for custom maps and campaigns
- π€ Ability to play as a bot after death
- π Auto-buy task weapons on
F1 - ποΈ CS:S achievements availability
- π Both CT & T teams playability
- π² Random mission generator
- β Additional task variations
- πͺ Four difficulty levels
- π¨ Campaign editor
- π Powered by SourceMod
- βοΈ Compatible with v93 (x64 update)
- πͺ Tested with Windows, compatibility with Linux/MacOS not guaranteed
- π Uses CS:S Bot Control plugin
β οΈ Some original game features are simplified:- π₯ No ability to assemble team - Used difficulty based team composition with predefined count and co-op adjustments
- π No progress saving - All missions are unlocked
- π‘οΈ No shields - Shield tasks replaced with pistols
Game menu and mission browser
Difficulty and team selection
Campaign task tracking
Random generated mission
Custom campaigns and missions
- Install clean Counter-Strike: Source
- Install Condition-Zero-Source.exe to your
cstrikefolder - Set
-insecurelaunch option for Counter-Strike: Source via Steam game properties - Start Counter-Strike: Source
- Note: Network connection required for Metamod and SourceMod downloading
- Install clean Counter-Strike: Source
- Clone this repository:
git clone https://github.com/MuxaJlbl4/Condition-Zero-Source.git - Run
Installer.shwith path to yourcstrikefolder as argument:./Installer.sh "/path/to/your/cstrike/" - Start Counter-Strike: Source with
-insecurelaunch option
- Start any mission
- Everyone in your LAN can join to you by
connect <IP>:
Additional multiplayer options:
sv_lan- Can help with connection problemssv_password- Password protection for private game (passwordfor clients)- See Coop Commands for additional gameplay adjustments
- Campaign - Choose campaign to play
- Random Mission - Choose map to play with random tasks
- Active Tasks - Show current task status
- Give Up This Round - Skip current round
cz_task_add- Add a new task (see Task Arguments)cz_task_reset- Reset all task progresscz_skip- Forces round end with opposite team wincz_list- List all active achievement tasks
cz_bots_per_player- Number of enemy bots that will be added with each joined extra player (default 1)cz_simple_coop- Simplified survival and in-a-row tasks for coop (default 1)
Initial values for mission cfg files:
cz_matchwins- Minimum number of rounds a team must win in order to win a match (default 3)cz_matchwinsby- Number of wins a team must lead by in order to win a match (default 2)cz_teammates- Number of teammate botscz_opponents- Number of enemy botscz_simple_hegren- Increases max grenade count in inventory for missions withhegrenadetask (default 1)
Available with sv_cheats 1:
cz_victory- Force match victorycz_defeat- Force match defeat
cz_teamchosen- Is team and difficulty already chosen for this sessioncz_task_delete- Delete all taskscz_version- Plugin version
Usage: cz_task_add <type> [arguments] - Add mission task
-
β‘ kill - Kill a specified amount of enemies:
cz_task_add kill <target> [headshot] [inarow] [survive] [noreload]
-
π« killwith - Kill a specified amount of enemies with mentioned weapon (see Task Weapons section):
cz_task_add killwith <target> <weapon> [headshot] [inarow] [survive] [noreload]
-
π killblind - Kill a specified amount of blindfolded enemies:
cz_task_add killblind <target> [headshot] [inarow] [survive] [noreload]
-
β±οΈ winfast - Win a round in less than the specified amount of seconds:
cz_task_add winfast <target> [survive]
-
πββοΈ rescue - Rescue a specified amount of hostages:
cz_task_add rescue <target>
-
πββοΈ rescueall - Win a round by rescuing all hostages:
cz_task_add rescueall
-
π£ bomb - Plant/Defuse the bomb
cz_task_add bomb
-
π killsilent - Kill a specified amount of enemies with silenced weapon or knife
cz_task_add killsilent <target> [headshot] [inarow] [survive] [noreload]
-
π― killnoscope - Kill a specified amount of enemies with an un-zoomed sniper rifle
cz_task_add killnoscope <target> [headshot] [inarow] [survive] [noreload]
-
πͺ½ killjump - Kill a specified amount of enemies while you are airborne
cz_task_add killjump <target> [headshot] [inarow] [survive] [noreload]
-
π killvary - Kill a specified amount of enemies with different weapons
cz_task_add killvary <target> [headshot] [inarow] [survive] [noreload]
-
π killtrophy - Kill a specified amount of enemies with enemy's exclusive weapon (see Exclusive Weapons section):
cz_task_add killtrophy <target> [headshot] [inarow] [survive] [noreload]
-
π©Έ damage - Deal a specified amount of damage for enemies
cz_task_add damage <target> [headshot] [inarow] [survive] [noreload]
-
π damagewith - Deal a specified amount of damage for enemies with mentioned weapon
cz_task_add damagewith <target> <weapon> [headshot] [inarow] [survive] [noreload]
-
π¨ spray - Tag a specified amount of decals
cz_task_add spray <target>
-
π headshot - Task counts only with headshot kill
-
π―ββοΈ inarow - Uncompleted task resets, when player dies
-
β€οΈ survive - Task counts only when player survives till round end
-
β noreload - Uncompleted task resets, when player reloads any weapon
-
Names:
- glock - 9x19mm Sidearm (Glock 19)
- usp - K&M .45 Tactical (H&K USP Tactical)
- p228 - 228 Compact (SIG P228)
- deagle - Night Hawk .50c (Desert Eagle)
- elite - .40 Dual Elites (Dual Berettas)
- fiveseven - ES Five-Seven (FN Five-seveN)
- m3 - Leone 12 Gauge (Benelli M3 Super 90)
- xm1014 - Leone YG1265 Auto (Benelli M4 Super 90)
- galil - IDF Defender (IMI Galil AR)
- ak47 - CV-47 (AK-47)
- scout - Schmidt Scout (Steyr Scout)
- sg552 - Krieg 552 (SIG SG 552 Commando)
- awp - Magnum Sniper Rifle (AWP)
- g3sg1 - D3/AU-1 (H&K G3SG/1)
- famas - Clarion 5.56 (FAMAS F1)
- m4a1 - Maverick M4A1 Carbine (M4A1 Carbine)
- aug - Bullpup (Steyr AUG)
- sg550 - Krieg 550 Commando (SIG SG 550)
- mac10 - Ingram Mac-10 (Ingram MAC-10)
- tmp - Schmidt Machine Pistol (Steyr TMP)
- mp5navy - K&M Sub-Machine Gun (H&K MP5N)
- ump45 - K&M UMP45 (H&K UMP45)
- p90 - ES C90 (FN P90)
- m249 - M249 (FN Minimi)
- hegrenade - HE Grenade
- knife - Combat Knife
-
Classes:
- pistol -
glockuspp228deagleelitefiveseven - shotgun -
m3xm1014 - smg -
tmpmac10mp5navyump45p90 - rifle -
galilfamasm4a1ak47augsg552 - sniper -
scoutsg550g3sg1awp - machinegun -
m249
- pistol -
Some task weapons automatically swaps depending on player team side:
| CT | T |
|---|---|
fiveseven |
elite |
tmp |
mac10 |
famas |
galil |
m4a1 |
ak47 |
aug |
sg552 |
sg550 |
g3sg1 |
These weapons also counts as "enemy's exclusive" for killtrophy task
- In the
Editorfolder create atxtfile with your campaign name as a filename (My Campaign.txt), it should contain ordered map names:
cs_havana
cs_italy
-
Run
Generator.pythis will create folder with your campaign name and necessary files -
Put your custom maps, navs and all necessary files to
my_campaign\maps -
If required, put your additional map models, materials, folders and etc to
my_campaign -
In
my_campaigncreate logo for your campaign (TGA180x100):
my_campaign.tga
- In
my_campaign\mapscreate logos for maps (TGA180x100):
cs_havana.tgacs_italy.tga
- Adjust mission tasks and cvars by editing generated
cfgfiles inmy_campaign\cfg\my_campaign:
campaign.cfgcs_havana.cfgcs_italy.cfg
-
Adjust mission names and descriptions by editing generated
bmsfiles inmy_campaign\maps\my_campaign -
If required, create and adjust
my_campaign\cfg\my_campaign\botprofile.dbfor custom bot specs -
Copy
my_campaignfolder to...\Steam\steamapps\common\Counter-Strike Source\cstrike\custom, your campaign should appear in game mission browser
Also you can use Example Campaign as a ready template:
- Edit campaign name (
example_campaign) wherever it is mentioned (file/folder names, file contents, all hostnames) - Edit
mapcycle.txtwith your ordered map names - Edit
cfgandbnsfiles - Add all required resource files
-
Download all required:
- Install clean Counter-Strike: Source
- Clone this repo
git clone https://github.com/MuxaJlbl4/Condition-Zero-Source.git
-
Install latest Metamod:Source
- Copy
addonsfolder to yourcstrikefolder
- Copy
-
Install latest SourceMod:
- Copy
addonsfolder to yourcstrikefolder
- Copy
-
Compile plugins:
- Windows: Run
compile-condition-zero.batandcompile-botcontrol.bat - Linux: Compile
condition-zero.spandbotcontrol.spmanually
- Windows: Run
-
Install mod:
- Windows: Compile and run Inno script:
Installer.iss - Linux: Run
./Installer.sh /path/to/your/cstrike/
- Windows: Compile and run Inno script:
-
Set game launch options:
-insecureand start the game
Recheck your:
- Launch arguments - should contain
-insecureoption - Game version - this mod compatible with build 9540945 (v93) x64 version
- Metamod:Source status - should successfully reply to
meta versioncommand (when map loaded) and should support x64 - SourceMod status - should successfully reply to
sm versioncommand (when Metamod:Source loaded) - Plugin status -
sm plugins listshould contain "Condition Zero: Source" without errors (when SourceMod loaded)
Feel free to create issue with your version, meta version, sm version, sm plugins list and OS info
- Windows: Uninstall via Programs and Features or with
unins000.exein yourcstrikefolder and remove-insecurelaunch option - Linux: Manually remove
addonsandcustomin yourcstrikefolder and remove-insecurelaunch option
- DeepSeek + Claude Sonnet - Coding assistance
- XBLAH's Modding Tool - Background loading screens
- GCFScape - Resource unpacking
- VTFEdit Reloaded - Material fixes (extra campaigns)
- Crowbar - Model fixes (extra campaigns)
- VIDE - Map fixes (extra campaigns)
