Full engine cvar dump

Black Mesa workshop

The officially licensed Half-Life remake · Sci-fi FPS, deathmatch and co-op

Player tools indexed: 5 Admin consoles: 8

Black Mesa hosting in short: the dedicated-server appid is 346680 (Black Mesa Dedicated Server, type Tool, oslist windows,linux, so native on both platforms with no Wine) and the base game is 362890. There are only three ports and the engine own defaults corroborate them: 27015 carries the game traffic, the A2S query and SourceRCON at once (AMP names it "Game and RCON Port" with protocol Both), 27005 is the client port and 27020 SourceTV (which -nohltv can disable); the engine cvar defaults hostport=27015, clientport=27005 and tv_port=27020 agree with LinuxGSM, AMP, gamedig and the real container. Config lives in bms/cfg/. This site registers 99 server-relevant keys drawn from the full engine dump of 1929 entries (489 cmd and 1440 cvar); the dump header claims 1779 entries at version stamp 030616, a gap of 150, and both figures are registered. Commands and cvars must be told apart: mp_disable_autokick, maxplayers, sv_pure and sv_setsteamaccount are all cmd entries in the engine, so writing them as cfg assignment lines does nothing - and the AMP template that nothing references still carries the mp_disable_autokick line while the template actually in use has dropped it. Defaults come from the server.cfg.orig shipped with the game (mp_timelimit 900, mp_fraglimit 30, mp_teamplay 1, mp_forcerespawn 1) and are shown next to the engine defaults (mp_fraglimit 0, mp_teamplay 0). Three upstream defaults exist for the player cap (AMP 8, LinuxGSM 16, the real container 32) and no official maximum was ever published. Cooperative play is not built in: it needs the three-layer stack Metamod:Source, then SourceMod, then SourceCoop, which AMP automates across 16 update stages behind an InstallMod switch. A Game Server Login Token is requested against the base appid 362890 and passed as +sv_setsteamaccount. The version anchor is recorded as inferred: appinfo lists 5 branches (public and public-beta currently share one buildid, and there is an april-2024-rollback branch), but the dedicated-server appid has zero news items and the base game feed is entirely third-party and aggregator content, so no branch can be mapped to a release announcement. Every official documentation source was unreachable this round (blackmesa.com returns 403 with a Cloudflare challenge, wiki.blackmesa.com returns 000 and the developer GitHub organisation has no public repositories), so the precedence between the command line and the cfg is marked unverifiable.

Player tools (5)

Instant interactive calculations and recipe planners

The direct-connect address; 27015 is the game, query and RCON port at once

#RCON shares the game port#a single port
Open tool →

Server admin and config generation (8)

Config files, startup scripts and command wizards for running a server

Three ports corroborated by engine defaults, plus collision detection

#corroborated by engine defaults#no official step
Generate config →

Black Mesa Ports & Protocols

Port Protocol Purpose
27015 TCP/UDP The game port, which also carries the A2S query and SourceRCON (AMP names it "Game and RCON Port" verbatim)
27005 UDP The client port; the engine default matches the WindowsGSM plugin, which computes game port minus 10
27020 UDP The SourceTV port; AMP exposes a -nohltv switch to disable it

Black Mesa Dedicated Server Install (SteamCMD)

SteamCMD appid 346680

sudo useradd -m -s /bin/bash steam
sudo apt update && sudo apt install -y steamcmd lib32gcc-s1
sudo -u steam -i \
  /usr/games/steamcmd +force_install_dir /opt/gameserver \
  +login anonymous +app_update 346680 validate +quit

https://www.blackmesa.com/

Black Mesa Config file paths

  • bms/cfg/server.cfg
  • bms/cfg/bmdmserver.cfg
  • bms/cfg/banned_ip.cfg
  • bms/cfg/banned_user.cfg
  • bms/cfg/mapcycle.txt
  • bms/addons/metamod.vdf
  • bms/cfg/server.cfg.orig

Server notes

First, RCON has no port of its own: AMP marks 27015 as Both and names it "Game and RCON Port" verbatim, with AdminMethod=SourceRCON and AdminPortRef=ServerPort, so do not look for a second administration port (not every Source engine game works this way: some titles do expose a separate administration port, so do not assume one exists here). Shutdown is quit sent to the console (AMP ExitString), and config changes need a restart because AMP sets SupportsLiveSettingsChanges to False. Second, the GSLT and anonymous downloading are two different things: SteamCMD downloads the tool with +login anonymous (appid 346680), but a Game Server Login Token is what makes the server list properly and use a persistent account - LinuxGSM passes +sv_setsteamaccount ${gslt}, its official example cfg gives the application page verbatim (steamcommunity.com/dev/managegameservers), and AMP sets SteamAppId=362890, i.e. the token is requested against the base appid 362890. This site used to say only "no Steam account needed" and that is now corrected from first-hand sources. Third, cooperative play is not built in: the dedicated server is deathmatch by default (the LinuxGSM gamename is "Black Mesa: Deathmatch" and its defaultmap is dm_bounce), and the campaign co-op needs the three-layer stack Metamod:Source, SourceMod and SourceCoop; AMP automates it across 16 update stages behind an InstallMod switch, activating it by writing bms/addons/metamod.vdf (verbatim "Plugin" { "file" "../bms/addons/metamod/bin/server" }) and disabling it by deleting that file. The real container also notes that updating SourceCoop requires deleting the bms/logs directory first and then restarting. Fourth, there are three upstream defaults for the player cap - AMP App.MaxUsers=8, LinuxGSM maxplayers=16 and the real container BMCD_MAXPLAYERS=32 - and no official maximum was ever published; the engine dump lists maxplayers as a cmd rather than a cvar, so it belongs on the command line (AMP and LinuxGSM write -maxplayers while the real container writes +maxplayers, and both prefixes are registered). Fifth, the three ports have fixed offsets but the offsets are not an official rule: the engine cvar defaults are hostport=27015, clientport=27005 and tv_port=27020, and the WindowsGSM plugin computes clientport as ServerPort minus 10; 27015 needs both TCP and UDP, 27005 only matters when the same machine also runs a client, and 27020 can be disabled entirely with -nohltv. LinuxGSM also passes -strictportbind, so a taken port fails instead of silently moving. Sixth, commands and cvars must be told apart: the engine dump (1929 entries, 489 of them cmd) lists mp_disable_autokick, maxplayers, sv_pure and sv_setsteamaccount as cmd, and writing mp_disable_autokick as an assignment line does nothing - the AMP template that updates.json never references still carries that line while the one actually in use dropped it. Seventh, every official documentation source was unreachable this round: blackmesa.com returns 403 with a Cloudflare challenge, wiki.blackmesa.com returns 000, the developer organisation CrowbarCollective has no public GitHub repositories, ISteamNews for the dedicated-server appid returns zero items, and the twelve most recent items for the base game are all third-party or aggregator content (sales, bundles, other games). So "which of the command line and the cfg wins", "the full map list" and "what black-mesa-de or black-mesa-1-0 mean" are all marked unverifiable and nothing is invented. Eighth, no official CPU or RAM specification exists in any reachable source; the only sourced size figure is the real container README stating 30 GB of disk for the server files, so the capacity tool requires your own RAM value and applies no per-player formula. Ninth, listing is verifiable: node-gamedig registers blackmesa with protocol valve on port 27015, LinuxGSM uses querytype=protocol-valve, and the real container health check runs an A2S query and greps for dedicated=1, so serverProtocol stays steam_a2s. Tenth, the engine itself marks the credential cvars as never recorded: sv_password carries prot and norecord and rcon_password carries norecord, which matches this site contract of emitting placeholders only and reporting secrets by length.

FAQ

Which Black Mesa tools can I use online?
We list 5 tools for Black Mesa: Join a server, Connection triage, Hardware and performance, Version anchor and branches, Convar and command lookup. All of them run straight in your browser.
Do these tools cost anything or need installing?
No. Everything runs in the page: no install, no sign-up, no cost. Enter your values and the result appears instantly, and you can copy the generated configs and commands with one click.