Command-Line Arguments
This source-audited reference contains all 97 active command-line arguments accepted by Command & Conquer: Generals and Zero Hour, including player-facing, development, and build-gated switches.
Command-line matching is case-insensitive but requires the whole argument name. The capitalization below follows the source.
Values
Section titled “Values”A blank Value cell means the argument is a flag and does not take a value. Text in angle brackets describes the
expected value rather than literal text: for example, <width> means an integer display width and <file.rep> means a
replay filename. Plain alternatives such as 0 or 1 show the accepted choices directly.
Use the next command-line token for the value. Quote spaces: -mod "My Mod\mod.big". If a required value is omitted,
the setting is left unchanged.
Browse all 97 command-line arguments
Showing all arguments
| Argument | Value | Availability | Category | Behavior |
|---|---|---|---|---|
-win |
All builds | Window and startup | Forces windowed mode before the game window is created. | |
-fullscreen |
All builds | Window and startup | Forces fullscreen mode before the game window is created. | |
-headless |
All builds | Replays and automation | Runs without a window, graphics, input, or audio. Also disables intro and sizzle playback; intended for replay simulation. | |
-replay |
<file.rep> |
All builds | Replays and automation | Queues a replay from the replay folder or a subfolder. May be repeated and accepts wildcards. Disables intro, sizzle, and shell-map startup and permits another game instance. |
-jobs |
<processes> |
All builds | Replays and automation | Sets the maximum concurrent replay-simulation processes. Accepts a positive integer, or -1 for sequential simulation; 0 and values below -1 terminate with an error. |
-nologo |
All builds | Shell and UI | Disables both startup intro and sizzle playback. | |
-noshellmap |
All builds | Shell and UI | Disables the animated shell map behind the main menu. | |
-noShellAnim |
All builds | Shell and UI | Disables shell and game-window animations. | |
-xres |
<width> |
All builds | Display and rendering | Sets the horizontal display resolution from an integer value. |
-yres |
<height> |
All builds | Display and rendering | Sets the vertical display resolution from an integer value. |
-fullVersion |
0 or 1 |
All builds | Shell and UI | Shows the full version string for a nonzero value and hides it for 0. |
-particleEdit |
All builds | Modding and tools | Enables particle-editor mode and forces windowed mode with Windows cursors. | |
-scriptDebug |
All builds | Modding and tools | Enables the script-debugger integration and Windows cursors. | |
-playStats |
<seconds> |
All builds | Statistics and performance | Sets the play-statistics collection interval. Values less than or equal to 0 disable collection. |
-mod |
<file-or-directory> |
All builds | Modding and tools | Loads a mod archive or directory. Relative paths are resolved under the game user-data folder; absolute paths are used as supplied. Missing paths are ignored. |
-noshaders |
All builds | Display and rendering | Forces the renderer onto its lowest-feature chipset path. | |
-quickstart |
All builds | Window and startup | Disables intro and sizzle playback, the shell map, and shell/window animations. | |
-useWaveEditor |
All builds | Modding and tools | Enables the water-track/wave editor mode. | |
-forcefullviewport |
All builds | Display and rendering | Forces ViewportHeightScale to 1.0 for full-viewport control-bar addons. |
|
-noaudio |
RTS_DEBUG |
Audio and video | Disables audio, speech, sound effects, and music. | |
-map |
<map-path> |
RTS_DEBUG |
Modding and tools | Sets the initial map and expands its short path to the map-file path. The handler only applies the value when this option and its value are the final two tokens. |
-nomusic |
RTS_DEBUG |
Audio and video | Disables music without disabling the other audio channels. | |
-novideo |
RTS_DEBUG |
Audio and video | Disables video playback. | |
-noLogOrCrash |
RTS_DEBUG |
Debugging and testing | Calls DEBUG_CRASH with “-NoLogOrCrash not supported in this build” and changes no setting. |
|
-FPUPreserve |
<integer> |
RTS_DEBUG |
Display and rendering | Sets the DirectX wrapper FPU-preservation value. |
-benchmark |
<seconds> |
RTS_DEBUG |
Statistics and performance | Sets both the benchmark duration and the play-statistics interval to the supplied integer. |
-stats |
<interval> |
RTS_DEBUG + DUMP_PERF_STATS |
Statistics and performance | Enables periodic performance-stat dumps using the supplied integer interval. |
-saveStats |
<directory> |
RTS_DEBUG |
Statistics and performance | Enables statistics saving and sets the base output directory. |
-localMOTD |
<file> |
RTS_DEBUG |
Networking | Loads the online message of the day from the supplied local file. |
-UseCSF |
RTS_DEBUG |
Modding and tools | Disables STR string-file loading so the game uses its CSF localization file. | |
-NoInputDisable |
RTS_DEBUG |
Debugging and testing | Prevents scripts from disabling player input. | |
-DebugCRCFromFrame |
<frame> |
DEBUG_CRC |
CRC diagnostics | Sets the first frame included in CRC debug logging; -1 disables it. |
-DebugCRCUntilFrame |
<frame> |
DEBUG_CRC |
CRC diagnostics | Sets the final frame included in CRC debug logging. |
-KeepCRCSaves |
DEBUG_CRC |
CRC diagnostics | Keeps the binary data saved during CRC calculations. | |
-SaveDebugCRCPerFrame |
<directory> |
DEBUG_CRC |
CRC diagnostics | Writes CRC debug logging to a separate file for each frame in the supplied directory. If the first logging frame is unset, it is changed to 0. |
-CRCLogicModuleData |
DEBUG_CRC |
CRC diagnostics | Includes logic module data in CRC diagnostics. | |
-CRCClientModuleData |
DEBUG_CRC |
CRC diagnostics | Includes client module data in CRC diagnostics. | |
-VerifyClientCRC |
DEBUG_CRC |
CRC diagnostics | Checks that client-only visual updates do not alter the game-logic CRC. | |
-ClientDeepCRC |
DEBUG_CRC |
CRC diagnostics | Writes deep CRC data before and after client updates to clientPre.crc and clientPost.crc. |
|
-LogObjectCRCs |
DEBUG_CRC |
CRC diagnostics | Logs object and weapon CRC values. | |
-NetCRCInterval |
<frames> |
DEBUG_CRC |
CRC diagnostics | Sets the multiplayer CRC-check interval only when RETAIL_COMPATIBLE_NETWORKING is disabled. With its current default of 1, the option is parsed but has no effect. |
-ReplayCRCInterval |
<frames> |
DEBUG_CRC |
CRC diagnostics | Sets the interval between CRC values written to single-player replay files. |
-saveAllStats |
<directory> |
RTS_DEBUG |
Statistics and performance | Enables statistics saving, sets the base directory, and requests all statistics. |
-noDraw |
RTS_DEBUG |
Display and rendering | When DEBUG_CRC is also compiled in, sets the no-draw frame value to 1; rendering is skipped while this value exceeds the current logic frame. Otherwise it has no effect. |
|
-nomilcap |
RTS_DEBUG |
Debugging and testing | Disables military-caption timing behavior. | |
-nofade |
RTS_DEBUG |
Debugging and testing | Disables scripted camera fades. | |
-nomovecamera |
RTS_DEBUG |
Debugging and testing | Disables scripted camera movement. | |
-nocinematic |
RTS_DEBUG |
Debugging and testing | Disables camera movement, military captions, camera fades, and scripted input disabling. | |
-packetloss |
<percent> |
RTS_DEBUG |
Networking | Sets the simulated percentage of received network packets to drop. |
-latAvg |
<milliseconds> |
RTS_DEBUG |
Networking | Sets the average simulated incoming-packet latency. |
-latAmp |
<milliseconds> |
RTS_DEBUG |
Networking | Sets the amplitude of the sinusoidal simulated-latency component. |
-latPeriod |
<integer> |
RTS_DEBUG |
Networking | Sets the multiplier applied to the clock in the sinusoidal simulated-latency calculation. |
-latNoise |
<milliseconds> |
RTS_DEBUG |
Networking | Sets the maximum random jitter added to simulated incoming-packet latency. |
-noViewLimit |
RTS_DEBUG |
Display and rendering | Disables camera constraints. | |
-lowDetail |
RTS_DEBUG |
Display and rendering | Forces the terrain level of detail to its minimum value. | |
-noDynamicLOD |
RTS_DEBUG |
Display and rendering | Disables dynamic level-of-detail adjustment. | |
-noStaticLOD |
RTS_DEBUG |
Display and rendering | Disables static level-of-detail settings. | |
-fps |
<limit> |
RTS_DEBUG |
Display and rendering | Sets the integer frame-rate limit. |
-wireframe |
RTS_DEBUG |
Display and rendering | Enables wireframe rendering. | |
-showCollision |
RTS_DEBUG |
Display and rendering | Shows object collision extents. | |
-noShowClientPhysics |
RTS_DEBUG |
Display and rendering | Disables client-physics debug visualization. | |
-showTerrainNormals |
RTS_DEBUG |
Display and rendering | Shows terrain-normal debug visualization. | |
-stateMachineDebug |
RTS_DEBUG |
Debugging and testing | Enables state-machine debugging. | |
-jabber |
RTS_DEBUG |
Debugging and testing | Reverses the letters in each translated UI-text word for localization testing. | |
-munkee |
RTS_DEBUG |
Debugging and testing | Replaces translated UI text with “Munkee” for localization testing. | |
-displayDebug |
RTS_DEBUG |
Debugging and testing | Enables the display-debug flag. | |
-file |
<map-path> |
RTS_DEBUG |
Modding and tools | Sets and normalizes an initial map path, primarily for World Builder launch integration. |
-preloadEverything |
RTS_DEBUG |
Assets and loading | Enables asset preloading and requests that everything be preloaded. | |
-logAssets |
RTS_DEBUG |
Assets and loading | Clears PreloadedAssets.txt and enables reporting of preloaded W3D assets. |
|
-netMinPlayers |
<players> |
RTS_DEBUG |
Networking | Sets the minimum player count used by network-game setup checks. |
-DemoLoadScreen |
RTS_DEBUG |
Shell and UI | Enables the load-screen demo movie mode. | |
-cameraDebug |
RTS_DEBUG |
Debugging and testing | Enables camera debugging. | |
-logToCon |
RTS_DEBUG |
Debugging and testing | Adds console output to the debug logger when debug utilities are enabled. | |
-vTune |
RTS_DEBUG |
Statistics and performance | Enables the VTune profiling path. | |
-selectTheUnselectable |
RTS_DEBUG |
Debugging and testing | Allows selection of objects normally marked unselectable. | |
-noshroud |
RTS_DEBUG + ENABLE_CONFIGURABLE_SHROUD |
Debugging and testing | Disables the shroud when configurable-shroud support is compiled in. | |
-forceBenchmark |
RTS_DEBUG |
Statistics and performance | Forces CPU benchmark detection even for a recognized processor. | |
-buildmapcache |
RTS_DEBUG |
Assets and loading | Requests map-cache generation during engine initialization. | |
-noshadowvolumes |
RTS_DEBUG |
Display and rendering | Disables both shadow volumes and shadow decals. | |
-nofx |
RTS_DEBUG |
Display and rendering | Disables FX processing. | |
-ignoresync |
RTS_DEBUG |
CRC diagnostics | Sets the global flag that ignores synchronization errors. | |
-shellmap |
<map-name> |
RTS_DEBUG |
Shell and UI | Overrides the shell-map name. |
-winCursors |
RTS_DEBUG |
Shell and UI | Uses standard Windows cursors. | |
-constantDebug |
RTS_DEBUG |
Debugging and testing | Updates debug statistics continuously instead of every two seconds. | |
-seed |
<integer> |
RTS_DEBUG |
Debugging and testing | Sets a fixed game-logic random seed; negative values disable the fixed seed. |
-noagpfix |
RTS_DEBUG |
Display and rendering | Enables the incremental AGP-buffer path. | |
-noFPSLimit |
RTS_DEBUG |
Display and rendering | Disables FPS limiting and sets the stored frame-rate limit to 30000. |
|
-dumpAssetUsage |
RTS_DEBUG |
Assets and loading | Enables asset-usage dumping. | |
-jumpToFrame |
<frame> |
RTS_DEBUG |
Replays and automation | Disables the FPS limit and skips rendering after the first frame until the supplied logic frame. |
-updateImages |
RTS_DEBUG |
Assets and loading | Requests updates of older TGA images to DDS during startup. | |
-showTeamDot |
RTS_DEBUG |
Display and rendering | Shows the colored team dot for the currently controlled team. | |
-extraLogging |
RTS_DEBUG |
Debugging and testing | Enables more expensive diagnostic logging used to investigate crashes. | |
-setDebugLevel |
<level> |
DEBUG_LOGGING |
Debugging and testing | Enables a named debug-log level when it matches an entry in TheDebugLevels. |
-clearDebugLevel |
<level> |
DEBUG_LOGGING |
Debugging and testing | Disables a named debug-log level when it matches an entry in TheDebugLevels. |
-ignoreAsserts |
DEBUG_CRASHING |
Debugging and testing | Makes debug assertion crashes ignorable. | |
-ignoreStackTrace |
DEBUG_STACKTRACE |
Debugging and testing | Disables debug stack-trace handling. | |
-preload |
RTS_DEBUG or _ALLOW_DEBUG_CHEATS_IN_RELEASE |
Assets and loading | Enables asset preloading. |
No arguments match the current filters.
Build availability
Section titled “Build availability”The Availability column describes which build configuration compiles an argument into the parser. It does not vary
by game: Generals and Zero Hour currently consume the same command-line table. All builds means the argument is
present in normal Release and Debug executables. Every other label records the exact preprocessor requirement:
RTS_DEBUGenables the main development-only argument set and is controlled by the CMakeRTS_BUILD_OPTION_DEBUGsetting.DEBUG_LOGGINGenables debug-log controls such as-setDebugLeveland-clearDebugLevel.DEBUG_CRASHINGenables assertion-crash controls such as-ignoreAsserts.DEBUG_STACKTRACEenables stack-trace controls such as-ignoreStackTrace.DEBUG_LOGGING,DEBUG_CRASHING, andDEBUG_STACKTRACEcan be configured independently, although debug-utility builds enable them by default.DEBUG_CRCis enabled when debug logging is present unlessNO_DEBUG_CRCis defined.DUMP_PERF_STATSenables-stats, whileENABLE_CONFIGURABLE_SHROUDenables-noshroud; both currently accompany their containingRTS_DEBUGblocks._ALLOW_DEBUG_CHEATS_IN_RELEASEis enabled by the CMakeRTS_DEBUG_CHEATSoption.- A label joined with
+requires every listed condition. A label joined withoris available when either condition is enabled.
An argument whose requirement is not compiled is absent from that executable’s parser table and is silently ignored. Unknown argument names are ignored in the same way; the game does not display a command-line error.
Usage examples
Section titled “Usage examples”Run replay verification without opening a game window:
generalszh.exe -headless -replay "compat\*.rep" -jobs 4Start a mod archive in a window and skip the animated startup sequence:
generalszh.exe -quickstart -win -mod "My Mod\mod.big"Capture per-frame CRC details in a suitable diagnostic build:
generalszh.exe -ignoreAsserts -DebugCRCFromFrame 0 -LogObjectCRCs -SaveDebugCRCPerFrame crc