This guide covers how to set up your Black Mesa dedicated server on Legion Hosting, configure startup variables, edit server.cfg, set up map rotation and game modes, configure RCON, and connect to your server. Black Mesa is a Source engine remake of Half-Life featuring competitive multiplayer deathmatch. For admin commands, SourceMod/MetaMod support, and troubleshooting, see Black Mesa Admin Commands.
1. First Start
- Log in to GPanel and select your Black Mesa server.
- Go to the Startup tab and review the configurable variables (see Section 2).
- Set your preferred start map via SRCDS_MAP and adjust MAX_PLAYERS as needed. Server name, password, and RCON password are configured in
server.cfg(see Section 3). - Return to the Console tab and click Start.
- Wait for the console to confirm startup. The first launch generates default configuration files.
server.cfg, start the server once, let it finish loading, then stop it before editing.
2. GPanel Startup Variables
| Variable | Required | Description |
|---|---|---|
SRCDS_MAP | No | Map loaded on start. Default is dm_crossfire. |
MAX_PLAYERS | No | Maximum concurrent players. Default is 32. |
AUTO_UPDATE | No | Automatically update the server on startup. Default is enabled. |
3. Server Configuration (server.cfg)
For detailed settings, edit server.cfg. Stop your server before making changes.
File Location
bms/cfg/server.cfg
Uses standard Source engine key "value" syntax, one setting per line.
Key Settings
| Setting | Default | Description |
|---|---|---|
hostname | (from startup) | Server name shown in browser. |
sv_password | (empty) | Join password. Empty means public. |
rcon_password | (from startup) | Remote console password. |
maxplayers | 16 | Maximum concurrent players. |
mp_timelimit | 15 | Time limit per map in minutes. |
mp_fraglimit | 30 | Frag limit to end the round. 0 = no limit. |
mp_friendlyfire | 0 | Friendly fire in team modes. 0 = off, 1 = on. |
mp_autoteambalance | 1 | Auto-balance teams in TDM. |
sv_alltalk | 0 | Cross-team voice chat. 1 = enabled. |
Example server.cfg
hostname "My Legion Black Mesa Server"
sv_password ""
rcon_password "MySecretRcon"
maxplayers 16
mp_timelimit 15
mp_fraglimit 30
mp_friendlyfire 0
mp_autoteambalance 1
sv_alltalk 0
4. Map Rotation (mapcycle.txt)
Edit bms/cfg/mapcycle.txt to customize the rotation. List one map per line:
dm_bounce
dm_gasworks
dm_lambdabunker
dm_power
dm_stack
dm_subtransit
dm_undertow
dm_crossfire
Available Maps
dm_bounce-- Multi-level arena with jump pads.dm_gasworks-- Industrial setting with tight corridors and open areas.dm_lambdabunker-- Lambda complex-themed vertical combat.dm_power-- Power plant with long sightlines.dm_stack-- Vertical map with stacked platforms.dm_subtransit-- Subway-themed with multiple routes.dm_undertow-- Water hazards and tight spaces.dm_crossfire-- Reimagined classic with an airstrike button.
5. Game Modes
| Mode | Value | Description |
|---|---|---|
| Deathmatch | dm | Free-for-all combat. Most kills wins. |
| Team Deathmatch | tdm | Two teams compete. Most combined kills wins. Use mp_autoteambalance 1 to keep teams even. |
Change the mode via the GAME_MODE startup variable and restart.
6. RCON Setup
Set the RCON password in startup variables or server.cfg. To use in-game, open the console (~) and authenticate:
rcon_password YourStrongPassword
rcon changelevel dm_gasworks
7. How to Connect
Option A -- Steam Server Browser
- Launch Black Mesa, go to Multiplayer > Find Servers.
- Use the Internet tab and search for your server by name.
- Select your server and click Connect.
Option B -- Console Connect
- Open the console (
~). If it does not open, enable it in Options > Keyboard > Advanced > Enable Developer Console. - Type:
connect <your-server-ip>:<port>
Related Articles
- Black Mesa Admin Commands
- How to Find Your Server IP and Port
- How to Upload Files via SFTP
- Server Startup Guide
Need Help?
If you run into issues with your Black Mesa server that are not covered here, open a support ticket and include your server IP, a description of the problem, and any relevant error messages from the GPanel console.