Skip to content

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.

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.

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_DEBUG enables the main development-only argument set and is controlled by the CMake RTS_BUILD_OPTION_DEBUG setting.
  • DEBUG_LOGGING enables debug-log controls such as -setDebugLevel and -clearDebugLevel.
  • DEBUG_CRASHING enables assertion-crash controls such as -ignoreAsserts.
  • DEBUG_STACKTRACE enables stack-trace controls such as -ignoreStackTrace.
  • DEBUG_LOGGING, DEBUG_CRASHING, and DEBUG_STACKTRACE can be configured independently, although debug-utility builds enable them by default.
  • DEBUG_CRC is enabled when debug logging is present unless NO_DEBUG_CRC is defined.
  • DUMP_PERF_STATS enables -stats, while ENABLE_CONFIGURABLE_SHROUD enables -noshroud; both currently accompany their containing RTS_DEBUG blocks.
  • _ALLOW_DEBUG_CHEATS_IN_RELEASE is enabled by the CMake RTS_DEBUG_CHEATS option.
  • A label joined with + requires every listed condition. A label joined with or is 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.

Run replay verification without opening a game window:

Terminal window
generalszh.exe -headless -replay "compat\*.rep" -jobs 4

Start a mod archive in a window and skip the animated startup sequence:

Terminal window
generalszh.exe -quickstart -win -mod "My Mod\mod.big"

Capture per-frame CRC details in a suitable diagnostic build:

Terminal window
generalszh.exe -ignoreAsserts -DebugCRCFromFrame 0 -LogObjectCRCs -SaveDebugCRCPerFrame crc