SkillAgentSearch skills...

SourceCoop

Black Mesa cooperative plugin for SourceMod

Install / Use

/learn @ampreeT/SourceCoop
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="images/logo-sc.png" width="235" alt="SourceCoop" align="right">

SourceCoop is a cooperative mod for Source Engine games that enables single-player campaigns to be played together. It currently supports <a href="https://store.steampowered.com/app/362890/Black_Mesa/"><img src="images/icon-bms-small.png" height="16px"> Black Mesa</a> and <a href="https://store.steampowered.com/app/320/HalfLife_2_Deathmatch/"><img src="images/icon-hl2dm-small.png" height="16px"> Half-Life 2: Deathmatch</a>.

  • Supports campaigns.
  • Restores single-player functionality.
  • Handles player and equipment persistence between maps.
  • Easy to use optional addons.
  • Easy for mappers to convert new and existing maps from single-player into cooperative.

| Table of Contents | |:--:| | 🖥️ Setup Guide - 🌎 Campaign Support - ⚙️ Configuration - 🌱 Contributing - 📸 Credits | | 📡 Server Running Tips - 🔗 Public Servers | | 📝 Developing - 🗃️ EDT Map Script Format - 📘 Authoring Maps |

<a id="setup-guide"></a>

🖥️ Setup Guide

If you are someone who is looking to play on a server, then you are already set up and ready to play! Cooperative servers can be found in the server browser just like any other server.

🌐 Player Downloads

Upon joining a server, players will be able to automatically download most necessary files. For custom workshop maps in Black Mesa, players will have to manually subscribe to the Steam Workshop item before starting their game. An official Steam Workshop collection containing all supported SourceCoop maps can be found here.

If you are a server operator who is looking to host your own cooperative server, then follow any installation method below and forward the server ports:

🔨 Server Installation Methods

<details> <summary><b>Option 1: Installation by SourceCoop Launcher</b></summary> <br>

The SourceCoop Launcher provides an automated way to set up your cooperative server. It simplifies the installation process by handling the necessary files and configurations.

  • Download the latest release of the SCLauncher.
  • Run the executable to proceed with the automated server setup.
  • Once the launcher completes its process, ensure you have forwarded the server ports to allow players to join.
</details> <details> <summary><b>Option 2: Script Installation</b></summary> <br>

The script installation will automatically go through the process of installing the server files and plugins that are required for running a cooperative server.

🐧Linux Distributions

The Linux installation script has been tested with the following distributions:

  • Ubuntu
  • Debian

If the installation script does not support the Linux distribution that you are using, then feel free to modify the script and create a pull request!

  • Download the corresponding installation script for your system.

  • Run the following commands in a terminal to start the installation:

    📂 New Directories

    On script execution, the following directories will be created within the terminal's current directory:

    • Black Mesa Dedicated Server
    • SteamCMD
    • Steam
    Windows PowerShell Terminal
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process; ./srccoop-bms-windows-install.ps1
    
    Linux Bash Terminal
    chmod +x "./srccoop-bms-linux-install.sh"; ./srccoop-bms-linux-install.sh
    
  • After the installation process is complete, the server can be started by running the following commands. Make sure that the server ports are forwarded so players to be able to join the server!

    Windows PowerShell Terminal
    cd "Black Mesa Dedicated Server"; ./srcds_coop.bat
    
    Linux Bash Terminal
    cd "Black Mesa Dedicated Server"; ./srcds_coop.sh
    
</details> <details> <summary><b>Option 3: Manual Installation</b></summary> <br>
  • Install a Source Engine Dedicated Server using <a href="https://developer.valvesoftware.com/wiki/SteamCMD"><img src="images/icon-steam-small.png" height="16px"> SteamCMD</a>.
    • <a href="https://steamdb.info/app/346680/"><img src="images/icon-bms-small.png" height="16px"> Black Mesa Dedicated Server</a> (AppID ➤ 346680)
    • <a href="https://steamdb.info/app/232370/"><img src="images/icon-hl2dm-small.png" height="16px"> Half-Life 2: Deathmatch Dedicated Server</a> (AppID ➤ 232370)
    SteamCMD Terminal (Black Mesa)
    login "anonymous"
    app_update 346680
    quit
    
    SteamCMD Terminal (Half-Life 2: Deathmatch)
    login "anonymous"
    app_update 232370
    quit
    
  • Install Metamod:Source (latest tested build ➤ 1155) onto the server.
  • Install SourceMod (latest tested build ➤ 7163) onto the server.
  • Install the latest SourceCoop release onto the server.
  • Forward the server ports.
</details>

A step-by-step guide for Black Mesa is also available on <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2200247356"><img src="images/icon-steam-small.png" height="16px"> Steam</a>.

<a id="port-forwarding"></a>

🛜 Port Forwarding

In order for players to able to join the server, you will need to only forward the default game transmission TCP/UDP port 27015. All other ports are optional.

Server Inbound Rules

| Port | Forward Type | Description | |-------|--------------|-----------------------------------------------------------------------------| | 27015 | TCP/UDP | Game transmission, pings and RCON - Can be changed using -port on startup | | 27020 | UDP | SourceTV transmission - Can be changed using +tv_port on startup | | 27005 | UDP | Client Port - Can be changed using -clientport on startup | | 26900 | UDP | Steam Port, outgoing - Can be changed using -sport on startup |

<a id="campaign-support"></a>

🌎 Campaign Support

<h3><img src="images/icon-bms-small.png" height="20px"> Black Mesa</h3>

Visit our <a href="https://steamcommunity.com/sharedfiles/filedetails/?id=2375865650">Steam Workshop Collection</a> to check out all available custom maps supported by SourceCoop!

SourceCoop allows single-player map configurations without decompiling and redistributing; learn more about creating your own on the EDT Map Script Format.

If you have already created native cooperative support for your map by including a EDT file, please make a pull request onto the README.md with your Steam Workshop item link so we can showcase it off!

<a id="configuration"></a>

⚙️ Configuration

<details> <summary><b>Commands</b></summary> <br>

All players that are connected to the server are able to execute the following commands:

  • sm_coopmenu: Displays the coop menu
  • sizeup: Displays the coop menu
  • sm_thirdperson: Type !thirdperson to go into thirdperson mode
  • sm_firstperson: Type !firstperson to exit thirdperson mode
  • stuck: Unstuck command
  • unstuck: Unstuck command
  • sm_skipintro: Starts a skip intro vote
  • sm_restartmap: Starts a restart map vote
  • sm_changemap: Shows a menu for changing maps
  • sm_survival: Starts a survival vote
</details> <details> <summary><b>Admin Commands</b></summary> <br>

The server console and admins configured within SourceMod are able to execute the following commands:

  • sc_save: Exports last saved player equipment state to a file
  • sc_load: Imports saved data from file and attempts to equip each player
  • sc_clear: Clear persisted equipment and equip players with the map defaults
  • sourcecoop_dump: Command for dumping map entities to a file
  • sc_dump: Command for dumping map entities to a file
  • sc_mkconfigs: Creates default edt configs for all maps in the maps directory which are missing one
  • sc_revive: Force respawn player
  • sc_reload_maps: Reloads all entries in the votemap menu from storage
</details> <details> <summary><b>ConVars</b></summary> <br>

The server console and admins configured within SourceMod are able to execute the following ConVars:

  • sourcecoop_version: The version of the SourceCoop mod.
View on GitHub
GitHub Stars245
CategoryDevelopment
Updated20h ago
Forks23

Languages

SourcePawn

Security Score

100/100

Audited on Mar 28, 2026

No findings