7.1 KiB
7.1 KiB
Garry’s Mod — Complete Dedicated Server Guide
Startup Parameters
Default command line
srcds_run -game garrysmod -console -usercon +hostport 27015 +map de_dust2 +maxplayers 16 +exec server.cfg
Parameters (exhaustive, server-relevant only)
-game <dir>— Game directory. Required.-console— Enable server console output.-usercon— Enable user console commands.+hostport <port>— Server port (UDP). Default: 27015.+ip <address>— Bind to specific IP address.+map <mapname>— Starting map. Required.+maxplayers <num>— Maximum players (1-64).+exec <file>— Execute config file on startup.+sv_setsteamaccount <token>— Game Server Login Token for public servers.+rcon_password <pass>— RCON password for remote administration.+sv_password <pass>— Server password for private games.+hostname <name>— Server name in browser.+sv_lan <0|1>— LAN mode (0=Internet, 1=LAN only).-tickrate <rate>— Server tickrate (default: 66, competitive: 128).-port <port>— Alternative syntax for hostport.-nohltv— Disable SourceTV.+tv_enable <0|1>— Enable/disable SourceTV.+tv_port <port>— SourceTV port (default: hostport + 5).-secure— Enable VAC (Valve Anti-Cheat).-insecure— Disable VAC (for testing only).+sv_region <num>— Server region (255=world, 0-7=specific regions).+fps_max <fps>— Server FPS limit.-threads <num>— Number of worker threads.-norestart— Don't restart server on crash.+log <on|off>— Enable/disable logging.-condebug— Log console output to file.+sv_logfile <0|1>— Enable server logging.+sv_logflush <0|1>— Flush logs immediately.
Ports
- Game: UDP 27015 (primary)
- RCON: TCP 27015 (same as game port)
- SourceTV: UDP 27020 (game port + 5)
- Steam Query: UDP 27016 (game port + 1)
Config Files & Locations
Windows:
steamapps/common/Garry’s Mod/cfg/server.cfg— Main server configurationsteamapps/common/Garry’s Mod/cfg/autoexec.cfg— Auto-executed commandssteamapps/common/Garry’s Mod/mapcycle.txt— Map rotation liststeamapps/common/Garry’s Mod/motd.txt— Message of the daysteamapps/common/Garry’s Mod/banned_user.cfg— Banned userssteamapps/common/Garry’s Mod/banned_ip.cfg— Banned IP addressessteamapps/common/Garry’s Mod/logs/— Server logs directory
Linux:
~/.steam/steamapps/common/Garry’s Mod/cfg/server.cfg— Main server configuration~/.steam/steamapps/common/Garry’s Mod/cfg/autoexec.cfg— Auto-executed commands~/.steam/steamapps/common/Garry’s Mod/mapcycle.txt— Map rotation list~/.steam/steamapps/common/Garry’s Mod/motd.txt— Message of the day~/.steam/steamapps/common/Garry’s Mod/banned_user.cfg— Banned users~/.steam/steamapps/common/Garry’s Mod/banned_ip.cfg— Banned IP addresses~/.steam/steamapps/common/Garry’s Mod/logs/— Server logs directory
Key Configuration Files:
- server.cfg: Core server settings (rates, game rules, admin settings)
- autoexec.cfg: Commands executed on server start
- mapcycle.txt: Map rotation configuration
- motd.txt: Welcome message displayed to connecting players
Steam Workshop
Collection Mounting:
- Create Steam Workshop collection with server content
- Add to startup:
+host_workshop_collection <collection_id> - Set Steam Web API key:
+sv_setsteamaccount <token>
Resource Management:
- Use
resource.AddWorkshopFile(id)in Lua for required downloads - Large workshop collections may cause long loading times
- Consider FastDL for faster content delivery
Auto-Download:
- Players automatically download workshop content
- Monitor download progress in server console
- Some content may require manual subscription by players
Cache Location:
- Windows:
steamapps/workshop/content/4000/ - Linux:
~/.steam/steamapps/workshop/content/4000/
Common Mods (curated)
-
DarkRP
- Purpose: Popular roleplay gamemode framework.
- Install: Download from workshop or GitHub, extract to gamemodes directory.
- Configure: Edit
gamemodes/darkrp/gamemode/config.luafor server settings.
-
ULX/ULib
- Purpose: Admin framework with extensive user management.
- Install: Download both ULX and ULib, extract to addons directory.
- Configure: Admin groups and permissions in
data/ulx/directory.
-
Wiremod
- Purpose: Advanced contraption building with electronic components.
- Install: Subscribe via Workshop or manual installation to addons.
- Configure: No specific configuration required, workshop auto-download.
-
PAC3
- Purpose: Player appearance customization system.
- Install: Workshop subscription, auto-downloads to clients.
- Configure: Server settings in
cfg/pac.cfgif needed.
Database
Engine: SQLite/MySQL
Configuration:
- Database settings typically in main server configuration file
- Connection parameters: host, port, database name, credentials
- Enable persistence features in server configuration
Setup:
- Install database engine if required
- Create database and user with appropriate permissions
- Configure connection settings in server config
- Test connection before starting server
- Set up automated backups
Administration & Scripting
Remote Administration:
- RCON (Remote Console) access for server management
- Web-based admin panels (game-specific or third-party)
- In-game admin commands and permissions
Backup Strategy:
- Automated daily backups of save files and configuration
- Rotate backups (keep 7 daily, 4 weekly, 12 monthly)
- Test backup restoration procedures regularly
- Store backups in separate location/drive
Auto-Update:
- Use SteamCMD for automatic server updates (Steam games)
- Schedule updates during low-traffic periods
- Backup before applying updates
- Monitor for update announcements and patch notes
Monitoring:
- Server performance monitoring (CPU, memory, network)
- Player connection logs and statistics
- Error log monitoring and alerting
- Uptime tracking and availability reporting
Troubleshooting (game-specific)
Server not starting
- Cause: Missing dependencies, incorrect configuration, or port conflicts
- Fix: Check server logs, verify all required files are present, ensure ports are available
Players cannot connect
- Cause: Firewall blocking server port or incorrect network configuration
- Fix: Open required ports in firewall, verify server is binding to correct IP address
Performance issues/lag
- Cause: Insufficient server resources or suboptimal configuration
- Fix: Monitor CPU/memory usage, optimize server settings, reduce player/entity limits
Configuration not loading
- Cause: Syntax errors in config files or incorrect file paths
- Fix: Validate configuration file syntax, check file permissions, review server logs
Mod/plugin conflicts
- Cause: Incompatible mods or plugin version mismatches
- Fix: Test mods individually, update to compatible versions, check for known conflicts