The direct-connect address; 27015 is the game, query and RCON port at once
Install script · Black Mesa
The officially licensed Half-Life remake · Sci-fi FPS, deathmatch and co-op
appid 346680, anonymous login, 30 GB of disk, GSLT via the base appid 362890
Player tools (5)
Instant interactive calculations and recipe plannersFive branches, including GSLT and -strictportbind failures
No official CPU or RAM spec; the 30 GB disk figure is sourced; three tickrate readings
Five branches including a rollback one; the news feed is third-party content, so confidence is inferred
The engine dump has 1929 entries; this site registers the 80 server-relevant ones and separates cmd from cvar
Server admin and config generation (8)
Config files, startup scripts and command wizards for running a serverThree player-count defaults side by side (8 / 16 / 32); RAM is required
Three ports corroborated by engine defaults, plus collision detection
Port 27015 must get both TCP and UDP because RCON shares it
appid 346680, anonymous login, 30 GB of disk, GSLT via the base appid 362890
Five launch strings side by side, two cfg-loading mechanisms, GSLT as a placeholder only
Shipped defaults, no assignment lines for cmd entries, and the ban files exec-ed at the end
SourceRCON shares the game port, quit shuts it down, and cmd versus cvar is separated
Metamod:Source, then SourceMod, then SourceCoop (required for co-op)
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
Black Mesa Config file paths
bms/cfg/server.cfgbms/cfg/bmdmserver.cfgbms/cfg/banned_ip.cfgbms/cfg/banned_user.cfgbms/cfg/mapcycle.txtbms/addons/metamod.vdfbms/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.