zDoom Command Line

A typical command line looks like:

zdoom -skill 4 -warp 24

"-skill 4" and "-warp 24" are two of the command line parameters ZDoom supports. There are several others, described below:
Contents
[hide]

    * 1 Configuration options
    * 2 Play options
    * 3 Loading options
    * 4 Debug options
    * 5 Multiplayer options
    * 6 Other options

Configuration options

    -bits numbits

        Specifies the display depth. Currently, only 8 is supported.

    -width x
    -height y

        Specifies the desired resolution of the screen. If only one of -width or -height is specified, ZDoom will try to guess the other one based on a standard aspect ratio. If the specified resolution is not supported by your DirectDraw drivers, ZDoom will try various resolutions until it either finds one that works or gives up. To determine which resolutions ZDoom can use, use the vid_describemodes command from the console once you have started the game.

    -blockmap

        Causes ZDoom to ignore all the BLOCKMAP information a map provides and generate it instead. This is equivalent to +set genblockmap 1.

    -cdrom

        Causes ZDoom to look for savegames and zdoom.cfg in a directory called C:\ZDOOMDAT. Screenshots will also be saved in this directory.

    -config configfile

        Causes ZDoom to use an alternative configuration file. If configfile doesn't exist, it will be created.

    -iwad iwadfile[.wad]

        The IWAD file specified after this parameter will be used as the game IWAD file instead of the default one. Normally, ZDoom looks for IWADs in the following order and uses the first one it finds:

            * doom2f.wad
            * doom2.wad
            * plutonia.wad
            * tnt.wad
            * doomu.wad
            * doom.wad
            * doom1.wad
            * heretic.wad
            * heretic1.wad
            * hexen.wad
            * hexdd.wad
            * strife1.wad
            * strife0.wad

        ZDoom will look for the IWAD in the current directory, in the same directory as zdoom.exe, in the directory set in the DOOMWADDIR environment variable, and in the directory set in the HOME environment variable.

    -nocdaudio

        Disables CD audio. Since only the Windows version supports CD audio, other versions ignore this option.

    -noflathack

        Some wads were able to use new flats with the original Doom.exe. ZDoom will normally try and detect them. Use this switch to prevent that.

    -noidle (Windows only)

        When the user presses Alt-Tab to switch from ZDoom to another window, ZDoom will normally reduce its priority class so that it doesn't slow the rest of the system down. By specifying this parameter, ZDoom will try to run at full speed even when it isn't the active window.

    -nojoy (Windows only)

        Disables joystick support. If you have an old-fashioned gameport (non-USB) device attached, it can slow down the game even if you don't intend to use it. Use -nojoy to avoid the slowdown that comes from polling it for input. Only the windows version supports a joystick.

    -nomusic

        Prevents the playback of music.

    -nosfx

        Prevents the playback of sound effects. Because of the nature of MOD music, this also disables playback of MODs.

    -nosound

        Disables both music and sound effects.

    -oldsprites

        Disables sprite renaming. Unless you're playing a mod for Heretic or Hexen that replaced a few select sprites, you don't need this.

Play options

    -avg

        Stands for "Austin Virtual Gaming." Automatically advances to the next level after 20 minutes. This is equivalent to +set timelimit 20 or -timer 20.

    -fast

        Sets the dmflags cvar to make the monsters as fast as in nightmare mode even if you aren't playing nightmare.

    -nomonsters

        Sets the dmflags cvar so that monsters are not spawned on levels.

    -respawn

        Sets the dmflags cvar so that monsters respawn even if you aren't playing at nightmare difficulty.

    -timer x

        Causes ZDoom to automatically advance to the next level after x minutes. This is equivalent to +set timelimit x.

    -turbo x

        Causes player movement to be x% as fast as normal. Valid values are 10-256, with 100 being normal. Values larger than 100 are considered cheating. This is equivalent to +set turbo x.

Loading options

    -deh dehfile[.deh]

        Causes ZDoom to apply a DeHackEd or .bex patch to the game. This must be a text patch; binary patches are not supported. (As far as I know, most patches are text patches so this shouldn’t be too much of a problem.) Also, only patch format 6 is known to be supported. Other formats may or may not work properly. If the .deh extension is omitted, ZDoom will automatically add it.

    -bex bexfile[.bex]

        This is the same as -deh, except the default file extension is .bex.

    -file file1[.wad] file2[.wad] file3[.wad] ...

        Used to load one or more PWAD files which generally contain user-created levels. Files listed further right take precedence to files listed before them, so as an example, if both file1.wad and file2.wad contain have a MAP01, the MAP01 in file2.wad would be used instead of the one in file1.wad If the .wad extension is omitted, ZDoom will automatically add it.

    -loadgame saveXX.[zds]

        Automatically loads the specified savegame. To find out a save's file name, press F1 while it is highlighted in the save or load menu. If you don't include the .zds extension, ZDoom will automatically add it for you.

    -playdemo demofile[.lmp]

        ZDoom will automatically play the specified demo when it starts. If the .lmp extension is omitted, it will automatically be added.

    -record demofile[.lmp]

        Records a demo. The -warp parameter or +map command should also be used if you don't want to record the demo on MAP01 or E1M1. You may only record from the start of a map. Loading a savegame and recording from there is unsupported.

        To stop the demo recording, use the "stop" console command. If the .lmp extension is omitted, it will automatically be added. Unlike regular DOOM, only one person in a multiplayer game needs to specify the -record parameter if they want to record a demo. However, if someone quits before the person recording the demo does, the person recording will automatically quit, too, because I didn't bother to give demos a way to record when a player leaves the game.

    +playerclass class (for HEXEN only)

        for example:

            +playerclass FIGHTER
            +playerclass CLERIC
            +playerclass MAGE
            +playerclass RANDOM

    -skill x

        Sets the initial skill level. This is overridden if you start a new game from the New Game menu.
        Note that this is different from the skill cvar, which ranges from 0-4

    -timedemo demofile[.lmp]

        Plays back a demo faster than -playdemo and displays a framerate when the demo is over. If the .lmp extension is omitted, it will automatically be added.

    -warp m
    -warp e m

        For Doom II, starts the game on map m. For other versions of doom, starts the game on episode e, map m. The +map command can also be used to perform this action, but it expects the actual name of the map. (i.e. MAP01, E1M1, ...)

Debug options

    -noblit

        Causes ZDoom not to update the display on the screen, but it stills draws everything to an internal buffer. Only useful with -timedemo.

    -nodraw

        Causes ZDoom not to draw anything at all. Only useful with -timedemo.

    -debugfile

        Causes ZDoom to write network debugging information to a file called debugN.txt where N is your player number.

    -devparm

        Prints a message telling you that you "useless mode is activated." With the original Doom, using -devparm was the only way to take screenshots. With ZDoom, screenshot is just another command, so -devparm serves no real purpose.

    +set developer 1

        Prints a bunch of debugging messages to the console.

    -0

        Resets the window position to the top-left corner of the screen.

Multiplayer options


    -altdeath

        Informs ZDoom that you will be playing a deathmatch game and sets the dmflags cvar so that items other than invulnerability and invisibilty respawn after being picked up. Only player 1 needs to specify this.

    -deathmatch

        Informs ZDoom that you will be playing a deathmatch game and sets the dmflags cvar so that weapons stay behind when a player picks them up. Only player 1 needs to specify this.

    -dup x

        Causes ZDoom to transmit fewer player movement commands across the network. Valid values range from 1-9. For example, -dup 2 would cause ZDoom to send half as many movements as normal.

    -extratic

        Causes ZDoom to send a backup copy of every movement command across the network.

    -host x

        This machine will function as a host for a multiplayer game with <x> players (including this machine). It will wait for other machines to connect using the -join parameter and then start the game when everyone is connected.

    -join host's IP address[:host's port]

        Connect to a host for a multiplayer game.

    -net console-number hosts ...

        Informs ZDoom that you will be playing a network game. Using the -host/-join parameters instead is strongly recommended because they are much easier to use.

    -netmode 0

        Uses Doom's classic peer-to-peer network model. In this model, every computer talks to every other computer in the game, so the amount of traffic generated by this model grows exponentially with the number of players in the game, to the point that if you have more than four players, you should seriously consider using -netmode 1 instead. Even with only three or four players, you might want to use -netmode 1. For only a two player game, it doesn't really matter which netmode you use.

    -netmode 1

        Uses a master/slave network model. Instead of every computer talking to every other computer, the slaves only talk to the master, and the master relays all the packets to the other computer. Hence, the amount of traffic generated by this model grows linearly with the number of players in the game. Perhaps the most important consequence of this is that with -netmode 1, firewalled computers can join in a network game so long as the master (player 1) is not firewalled. This netmode is incompatible with the -net option, so you must use -host/-join to use netmode 1 (which you should be doing anyway).

    -port x

        Specifies an alternate IP port for this machine to use during a network game. By default, the port 5029 is used.

Other options

In addition to the above parameters, console commands can be included on the command line by preceding them with a '+'. Some, however, will cause the game to crash if you use them (such as cheats). If you wish to change a cvar in this manner, it is a good idea to use the set command. This is because any set commands will be executed just after the config file is loaded, and all other commands are executed after every game subsystem has been initialized. For example, to turn on developer messages when you start ZDoom, use the command line:

   zdoom +set developer 1

instead of

   zdoom +developer 1

If you use the second line, you'll miss out on all the developer messages that get generated during the startup process.

Please also see:

    * CCMDs (Console Commands)
    * CVARs (Console Variables)
    * Frontend

Remember, if you are not comfortable with the frequent use of the command line, you may enter these commands into any text editor, then save the document with a .bat extension for future use.

Home