iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more
Playing with friends? Godlike.Host runs hosted Left 4 Dead 2 servers from 10 data-center locations, with free DDoS protection.
Set the z_difficulty console variable in the server’s left4dead2/cfg/server.cfg, then restart the dedicated server. For example, this line selects Expert-level gameplay: z_difficulty impossible. The accepted values are easy, normal, hard, and impossible.
If server.cfg is missing after a fresh installation, create it inside the cfg directory. On a typical Windows installation the directory is C:srcdsleft4dead2cfg; a common Linux SteamCMD location is /home/steam/l4d2/left4dead2/cfg/.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Left 4 Dead 2 - Xbox 360 (Renewed) | $59.79 | Buy on Amazon |
| 2 |
|
Left 4 Dead 2 | $74.24 | Buy on Amazon |
| 3 |
|
Left 4 Dead 2 | $9.66 | Buy on Amazon |
| 4 |
|
Left 4 Dead - Xbox 360 | $42.59 | Buy on Amazon |
What controls Left 4 Dead 2 server difficulty?
z_difficulty is the server variable that selects the campaign difficulty. It is configured on the dedicated server, not only in an individual player’s game options. A server-side setting therefore determines the difficulty used by clients who join that server.
The variable accepts four values:
| Value | Difficulty selected | Notes |
|---|---|---|
easy |
Easy | Use the lower-intensity setting. |
normal |
Normal | This is the setting to use when you want the standard baseline. |
hard |
Hard | Some hosting guides describe this menu tier as “Advanced,” but verify the label shown by your current game build. |
impossible |
Expert | Some hosting guides describe this menu tier as “Expert.” The console value is still impossible, regardless of the displayed label. |
Values are normally written in lowercase. Configurations found in the community also use capitalized forms such as Impossible; using the documented lowercase spelling avoids unnecessary parsing differences.
#1 Best Overall
- On day one, Left 4 Dead 2 features more co operative campaigns, more campaigns and maps for the versus game modes than the original Left 4 Dead did, plus support for Survival Mode right out of the box
- Left 4 Dead 2 features quality next generation co op action gaming from the makers of Half life, Portal, Team Fortress and Counter Strike
- Updated “AI Director 2.0 technology expands players’ ability to customize level layout, world objects, weather, and lighting to reflect different times of day, creating fresh gameplay every time
- Put a whole slew of melee weapons including axes, chainsaws, frying pans and baseball bats to use which allow you to get up close with the zombies
- The game features four different survivors, a new storyline and new dialog
Before editing the configuration
- Make sure you are changing the configuration for the dedicated Left 4 Dead 2 server, rather than a local client configuration.
- Stop the server before editing when possible. This prevents a running process from overwriting the file or leaving an old configuration in memory.
- Keep a backup copy of the existing file. If the server has other settings, changing only the difficulty line makes troubleshooting much easier.
- Use a plain-text editor. Rich-text formatting, smart quotation marks, and hidden extensions can prevent a configuration from being read correctly.
- Check that you have write permission for the server’s installation directory, particularly on Linux systems managed by a separate Steam user.
Windows: set the difficulty in server.cfg
- Stop the dedicated server process.
- Open the server’s
left4dead2cfgdirectory. With a typical installation this isC:srcdsleft4dead2cfg. - Look for a file named
server.cfg. A fresh installation may not include one. - If it is absent, create a new plain-text file named exactly
server.cfg. Ensure Windows has not silently saved it asserver.cfg.txt; enabling file-name extensions in File Explorer helps reveal this mistake. - Add one line for the desired setting. For Expert difficulty, use
z_difficulty impossible. Replaceimpossiblewitheasy,normal, orhardfor another level. - Save the file as plain text and close the editor.
- Start or restart the dedicated server. The restart is required for the saved configuration to take effect reliably.
Keep the command on its own line. Do not add a trailing explanation, quotation marks, or a leading command prompt character.
Linux SteamCMD: set the difficulty in server.cfg
- Stop the dedicated server service or screen/tmux process.
- Change to the server’s configuration directory. A common SteamCMD installation uses
/home/steam/l4d2/left4dead2/cfg/. - Check whether
server.cfgexists. If it does not, create it in this directory. - Open the file with a text editor available on the machine, then add the required line, such as
z_difficulty impossible. - Save the file and verify that the account running the server can read it. If you created it as another user, correct the ownership or permissions before starting the server.
- Restart the dedicated server process so it reads the updated configuration.
The important detail is the location: the file belongs in the game’s left4dead2/cfg/ directory used by the running server. Editing a similarly named client folder or a different Steam installation will not change the dedicated server.
Changing the value for another difficulty
Edit the single variable rather than maintaining several competing copies of the command. The line should contain one accepted value:
z_difficulty easyz_difficulty normalz_difficulty hardz_difficulty impossible
After changing the value, save the file and restart the server. If you change difficulty while the server is running, the process may continue using the value already loaded in memory until the relevant configuration is executed again.
Rank #2
- Officially Licensed Product
Why a server can appear to revert to Normal
Community forum reports describe dedicated servers that begin on the configured difficulty and later return to Normal, sometimes after players leave or when a new round starts. Those reports are old and do not establish that every current build has a reproducible bug, but they identify several checks worth making.
Confirm the file that is actually loaded
Make sure the line is in left4dead2/cfg/server.cfg, not only in a similarly named file elsewhere. A newly installed server may have no server.cfg at all, so creating the file in the correct cfg directory is part of the setup.
Free tools Windows power users keep installed
One-click scans. No signup required.
Check spelling and syntax
The variable name is z_difficulty, with an underscore. The value must be one of easy, normal, hard, or impossible. Remove typographical quotation marks, extra punctuation, and comments accidentally placed on the same line while diagnosing the problem.
Restart after every controlled change
Stop the server, save the file, and start it again rather than changing several files at once. Begin a fresh campaign or map after the restart so that you can distinguish a startup configuration problem from a setting that changes during play.
Rank #3
- On day one, Left 4 Dead 2 features more co-operative campaigns, more campaigns and maps for the versus game modes than the original Left 4 Dead did, plus support for Survival Mode right out of the box.
- Left 4 Dead 2 features quality co-op action gaming from the makers of Half-life, Portal, Team Fortress and Counter-Strike.
- Updated “AI Director 2.0" technology expands players’ ability to customize level layout, world objects, weather, and lighting to reflect different times of day, creating fresh gameplay every time.
- Put a whole slew of melee weapons including axes, chainsaws, frying pans and baseball bats to use which allow you to get up close with the zombies.
- The game features four different survivors, a new storyline and new dialog.
Prefer server.cfg over autoexec.cfg for persistent map loading
One community recommendation is to put the difficulty command in server.cfg rather than autoexec.cfg. The rationale is that server.cfg is executed on every map load, whereas autoexec.cfg is intended to run when the server starts. This is a forum-based recommendation, not a guaranteed fix for every build, but it explains why a setting present only in autoexec.cfg can be lost after a map transition.
Look for a later command that overrides it
If the setting is correct immediately after startup but changes at a round or map transition, another configuration, plugin, or vote may be issuing a new difficulty command. Temporarily reduce the setup to the base server configuration, restart, and add custom components back one at a time. This isolates an override without assuming that the engine itself is at fault.
Recommended Free Tools
SourceMod servers: the alternative command format
Some SourceMod forum discussions show the variable written with the SourceMod console-variable command:
sm_cvar z_difficulty "impossible"
This syntax is relevant only when SourceMod is installed and the server is processing SourceMod commands. The available forum guidance does not establish that it is required on an unmodified dedicated server, nor does it verify behavior on every current build. Start with the plain line z_difficulty impossible in server.cfg. If your managed SourceMod configuration specifically expects sm_cvar, use the format documented for that installation and test it after a full restart.
Rank #4
- Co-operative gameplay in epic struggle between survivors and zombies
- Choose to play as survivor or 4 types of infected mutants
- Set across 4 massive campaigns
- Game creates a unique and dramatic experience based on players' actions
- Multiplayer games for 1-to-8 players
Preventing players from changing the difficulty by vote
A correct startup value does not necessarily stop an in-game difficulty vote from changing the setting later. Community suggestions include using a vote-management plugin—Vote Manager2 was one name mentioned—to restrict or disable difficulty votes.
Plugin behavior and current compatibility are not established here, so treat this as an administrative option rather than a guaranteed fix. Before installing any vote plugin, confirm that it supports your server build, back up the configuration, and test on a private instance. If the difficulty changes only after a vote, inspect vote settings before replacing the base server.cfg command.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Scan for outdated or missing drivers - takes under a minute3Clear out junk files and repair common Windows errorsWhat is known about sv_cheats?
Available guidance does not establish whether setting z_difficulty on current Left 4 Dead 2 dedicated-server builds requires sv_cheats. Do not enable cheats merely as a troubleshooting step: doing so changes the server’s rules and can affect player access. Use the documented difficulty variable first, then consult documentation specific to the exact game and server build if the command is rejected.
Troubleshooting checklist
| Symptom | Likely check | Action |
|---|---|---|
| The server remains on Normal after editing. | Wrong directory or missing file. | Place server.cfg in the running installation’s left4dead2/cfg/ directory and restart. |
| The file exists but has no effect on Windows. | Hidden .txt extension or rich-text formatting. |
Show file-name extensions and save a plain-text file named exactly server.cfg. |
| The setting works after startup but changes after a map load. | Another configuration or plugin is overriding it. | Keep the command in server.cfg, then disable custom components temporarily to identify the override. |
| The setting changes when players leave or a round resets. | Reported dedicated-server reset behavior. | Reproduce it on a clean configuration, verify the startup file, and check for votes or plugins before treating it as an engine bug. |
| SourceMod logs show the command is not accepted. | The installation may expect SourceMod’s command wrapper. | Compare the plain command with sm_cvar z_difficulty "impossible" according to the SourceMod setup’s own documentation. |
| Players can still start a difficulty vote. | Vote controls are separate from the startup variable. | Review the server’s vote settings or evaluate a compatible vote-management plugin in a test environment. |
Changing difficulty on a hosted server
Hosted control panels may expose a file editor, a configuration manager, or neither. The underlying requirement is unchanged: the dedicated server must load z_difficulty from its active left4dead2/cfg/server.cfg. If a panel generates configuration files automatically, make the change through the panel’s supported editor or startup configuration and confirm which file it writes.
Do not assume that editing a local copy changes the hosted instance. Identify the installation associated with the running server, save the command there, and perform the provider’s full restart rather than only reconnecting to the game. If the panel regenerates server.cfg on restart, its template or custom-variable field must contain the difficulty command.
A reliable change-and-verify procedure
- Stop the dedicated server.
- Open the active
left4dead2/cfg/directory. - Create or edit
server.cfg. - Enter exactly one desired setting, for example
z_difficulty impossible. - Save as plain text and confirm the filename and permissions.
- Start the server and wait for it to finish loading.
- Join a new campaign or map and check the actual gameplay difficulty.
- If it later changes, record the event—map load, round transition, player departure, or vote—and troubleshoot that trigger separately.
This procedure separates a startup configuration failure from a later override. It also avoids relying on an in-game menu label that may differ between guides and current builds.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

