Garry’s Mod: Best autoexec.cfg for Server Admin Performance

The objective is to increase the client-to-server handshake frequency and ensure that your local client doesn’t “hang” while trying to render 2,000+ networked entities.

Setup & File Navigation

  1. Directory Path: Navigate to C:\Program Files (x86)\Steam\steamapps\common\GarrysMod\garrysmod\cfg\.
  2. The Target: Create or edit autoexec.cfg.
  3. Admin Tip: If you are the owner of the server, these settings should be mirrored in your server.cfg, but with the sv_ prefix where applicable.

Optimized “Admin Override” Configuration Block

// High-Bandwidth Networking
cl_cmdrate 67
cl_updaterate 67
rate 1048576
cl_interp 0
cl_interp_ratio 1

// Lua & Entity Optimization
gmod_mcore_test 1
cl_threaded_bone_setup 1
cl_threaded_client_leaf_system 1
r_queued_ropes 1
r_queued_decals 1

// Administrative UI Visibility
developer 1 // Shows script errors in the corner for debugging
net_graph 4 // Detailed networking and frametime breakdown

HowTo: Engineering the GMod Admin Pipeline

Follow these GameEngineer.net technical steps to stabilize high-pop administrative sessions:

  1. The Multi-Core Protocol: GMod’s engine is 20+ years old. To utilize 2026’s multi-core CPUs, you must force the engine’s experimental threading. Adding gmod_mcore_test 1 and the threaded variants in your autoexec.cfg can increase your FPS by 40−60% in areas with heavy prop density.
  2. Networking for High Entity Counts: Default Source engine rates are too low for modern 1Gbps+ connections. By setting rate 1048576 (1MB/s throughput), you ensure that the server can send you the data for every single prop on the map without “choking” your client-side buffer (Bclient​).
  3. The “Developer” Debugging Mode: As an admin, setting developer 1 is essential. It prints Lua errors and entity overflows directly to your HUD. This allows you to identify exactly which player’s “E2” script or “Star Wars” ship is causing the server’s Simulation Time (Tsim​) to spike.
  4. Cleaning the Render Buffer: Use r_cleardecals bound to a key (e.g., bind p r_cleardecals). After a massive gunfight or prop-collision event, clearing the blood and bullet hole textures frees up GPU Draw Calls, which is vital for maintaining fluid movement while teleporting around the map.
  5. Shadow & Light Culling: Find r_shadows and r_dynamic. While shadows look great, they are recalculated for every moving prop. For an admin managing a 64-player server, setting these to 0 provides a massive stability boost, preventing the “Frame-Time Spikes” (Sframe​) that occur when large objects are moved with the Physics Gun.

Technical Explanation: Lua JIT and The Main Thread

Garry’s Mod uses LuaJIT, but it is still largely bound to the Source Engine Main Thread.

Server_Lag∝Tick_RateActive_Entities×Networked_Variables​

When you increase the cl_updaterate, you are asking for more frequent snapshots of the world. By engineering your autoexec.cfg to optimize the Threaded Bone Setup and Leaf System, you are offloading the “Visual Logic” to your other CPU cores, leaving the Main Thread exclusively for processing the Lua networking packets (Plua​). This prevents your game from locking up when a “Prop-Minger” tries to crash the server.

Leave a Comment