Full engine cvar dump

Install script · Black Mesa

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

Player tools indexed: 5 Admin consoles: 8

appid 346680, anonymous login, 30 GB of disk, GSLT via the base appid 362890

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 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 server-admin tools are available?
We list 8 tools for Black Mesa: Capacity and player budget, Port matrix, Firewall rules, Install script, Startup arguments, server.cfg generator, Commands and RCON, The three-layer mod stack. All of them run straight in your browser.
Which ports does Black Mesa need open?
Black Mesa defaults to 27015/TCP/UDP, 27005/UDP, 27020/UDP. Use the actual instance configuration and allow only the listed protocols and ports. Check the host firewall, router forwarding and game visibility settings.
How do I install a dedicated Black Mesa server?
Install it with SteamCMD — the dedicated server app id for Black Mesa is 346680, so +app_update 346680 validate downloads or updates it. Config files usually live at bms/cfg/server.cfg, bms/cfg/bmdmserver.cfg, bms/cfg/banned_ip.cfg.
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.