setup-command-line-duke3d   Revised 2-09-2016  Release 7 © RTCM Corvin

Introduction | Command Line Help | Stacking / Hidden Flags
Free Memory Blocks | Screen Toggle | Window Shortcut

Introduction

Command Line Parameters For Duke3d 1.0, 1.1, 1.3d, 1.4, 1.5
There are a few command line parameters (also known as switches or flags) you can use to alter game performance or event. Some of these will help speed up the game on slow computers, while others help to aid gameplay. A command line parameter is something that you type on the command line after the name of the program you're running. In this case it will be DUKE.EXE or SETUP.EXE. They both except input.

The /? switch used as an example, will display all the command line variables in full! To use it, you would need to start the game like this:

DUKE3D /?

 

Command Line Help

Here is a list of the command line parameters that you can use with Duke Nukem 3D. Please note that while these are intended for use with the Duke3D game, you can use them on the setup program. The setup program will pass any command line parameters that were given to it to the game exe. Commit can also be accessed with multiplayer switches. This applies also to a MS-DOS Shortcut's from Windows. See the Windows Shortcut section near the bottom of this document for more details.

 

Command Description
?  OR  /? A help message; Gives you a list of all the command line parameters.
/l## Warp to Level (1-11); Go directly to Level ## (Varies by Episode Number)
Default with no entry is Launch Facility, E1L6. 1.3d
Lameduke uses /l#  0-255  EX: 1 = 1, 177 = ß
/l### Warp to Level and Episode
x = Episode xx = Level  e.g  /l201 for Level One Of Episode Two
/v# Warp to Volume (Episode 1-4); Go directly to Episode # (1-4 or just 1 in shareware)
Lamedukes range: 0-255 EX: 1 = L, 0 = K, 255 = J
/ver Shareware 1.1 use only. Shows the version number of the game your playing
/s# Sets Skill (Difficulty 1-4)  Shareware1.0(Difficulty 0-3); In Lameduke this function is present but doesn't seem to work.
/r Record demo; Record a Demo.  (replaces the demo1.dmo file in your game directory). To play them back, just run the game, and they will be played back.  Do not end a level in a demo, or it will not be recorded properly(1.3d).  In order for this to work, you also have to use the /v and /l parameter, (and optionally the /s parameter).  For recording usermaps and more details on this command, See the .DEMO USAGE document.
/oDIR Lameduke use only. Reroute game output to DIR; Reroute game output to Directory. (o = oh)
/e Lameduke use only. Encode maps...
/d Lameduke use only. Activate DEBUG MODEs; Partially active upon game start, like a 'cheat' it gives you all weapons and inventory.
/d <file.dmo> ATOMIC use only. Start to play demo FILE; Play a demo file.
Replace <file> with the name of the demo file you want to play.
/dnull Disables Atomic demo playback.
/m No monsters; Turns off Game Monsters during play.
This would have no real purpose for single play, and is intended for DukeMatch games only. Remember, if you want to switch the monsters off with /m the /m must go before the /c#
/ns No sound; Turns off all sound effects.
/nm No music; Turns off music.
/t# Respawn, 1 = Monsters, 2 = Items, 3 = Inventory, x = All
/c Shareware 1.1 use only. Turns on Cooperative Play for Multi-Player Play.
/c# MP mode, 1 = Standard DukeMatch(spawn), 2 = Coop, 3 = old Dukematch(no spawn); Defines which type of Multi-Play will be used.
Remember, if you want to switch the monsters off and use /c#,  The /m must go before the /c#
/q Lameduke use only. Turn on help quotes; Hardcoded messages are displayed when the player nears specific sprites.
/q# Fake multiplayer (2-8 players); Turns on Fake Multi-Player.
This is used primarily by level designers to test add-on levels and various spawn related issues for multi-play only.
This command does not generate computer controlled opponents for DukeMatch games. This should not be used if you intend on playing a true multi-player game with other people. # is number of fake players to use (1-8).
/a Use player AI (fake multiplayer only) Use player AI (for Testing Multiplay only) ATOMIC use only; The ATOMIC edition allows actual fake multiplayer a.i.)
/i# Network mode (1/0) (multiplayer only) (default = 1); Defines which type of network mode is used. # can be either a 0 or a 1. 1 is meant for 2-4 players, and 0 is meant for 5-8 players. The difference is that packets with mode 0 are handled differently than in mode 1. In Mode0 if the master quiets the game, all players exit. This parameter should not be used by the player, this is passed automatically by the setup program to commit.
/f# Send fewer packets (1, 2, 4) (multiplayer only); Send Fewer Packets during Multi-Player Mode. (reduces the amount of packets sent every frame.)
This should never be needed during a modem, serial, or network game, and is intended only for Online services(virtual IPX or Network) who use a slightly different arrangement which requires less traffic for the game to perform correctly.
This would also be useful for programs such as Kali, iC, etc.
iC uses the term TCIDUP(tic duplication)
# can be 1, 2, or 4.
/f1 default no tic duplication, full 30 packets per second. -The Desired setting.
/f2 skip every other frame, reduces to 15 packets per second. (cuts the update rate in half)
/f4 skips 3 out of 4 frames, reduces to 7.5 packets per second. (cuts the update rate in quarter)
Note: v1.5 may handle /f4 incorrectly, and hang the game at sound init, This is the TEN 'optimized' setting. It also launches the TEN screen as well)
/g <file.grp> , /g... ATOMIC use only. Use multiple group files (must be last on command line); Users of 1.3d Require a Custom Batch File.
/x <file.con>    Compile FILE, Allows you to use external CONtrol scripts; Compiles alternate con file with name of <file> (The default is game.con).
/o <file.con> Shareware 1.1 use only. Allows you to use external CONs; Compiles alternate con file with name of <file> (The default is game.con).
/u######### User's favorite weapon order (Duke3D default: 3425689071); The game automatically switches to the next weapon when ammo is depleted from the current weapon. This command allows you to define the order in which they do so. It does not remap the keys. The first time you use this command line you will notice it will add the settings in the config file.
/# Load and run a saved game (slot 0-9)
/z Skip memory check; This is primarily for system setup and resources-available. And address issues if needed. DO NOT USE THIS!! THIS SHOULD ONLY BE USED IF ADVISED TO DO SO BY 3D REALMS.
-map <level> Use a map FILE name (no .map extension); Load an external level file via the command line.
-name <name> Forward NAME; Change the player's multiplayer name via the command line.
-8250 Slow serial card is in use (Passed from SETUP.EXE and COMMIT.EXE); Used by the setup program to tell the game that a slow serial card is in use. (8250 UART) it lowers video and sound quality aswell. You will get Best performance from 16550 UART or better. This should never be used on its own. Passed from setup to commit.
-net Net mode game (Passed from SETUP.EXE and COMMIT.EXE); Used by the setup program when a network game is being played. This should never be used on its own. Passed from setup to commit.
/n# Specify which network mode to use. The Build games support two different network modes, broadcast and client-server. By default, broad cast is used during 2-4 player games and client-server is used for games of more than 4 players.
/n0 specifies a client-server game.
/n1 specifies a broadcast game.
A broadcast game will probably be the most valuable network mode for games played outside of a local area network. Games over TCP/IP-tunnel.
/j Display version with exit; Shows the version of the game you are running. If you have Atomic v1.5 the result will be 1.4. This screen flashes up and closes on some systems.

/setupfile <file.cfg>

 

This is used to override the multiple config file question you are prompted with if you have multiple config files. Replace <file.cfg> with the actual name of the config file you wish to use. ( -setupfile may also work)

 

  • Some Notes you should be aware of:

Some of you may find the command /map turns off your Monsters 1.3
In ATOMIC version 1.4 and 1.5  this was "corrected." Its really not a mistake since the forward slash(/) tells the exe to expect a one or two character flag. The 1.3 exe assumed /m; instead of /map (or the correct way -map.)

Some users have success without using the slash(/) or dash(-).

(DO NOT FORGET THE SPACES IN BETWEEN EACH OF THE PARAMETERS)
Spacing, is an oversight. Remember to use the correct spacing.

 

Stacking / Hidden Flags

The command line parameters for Duke3D are stackable, which means that you can use more than one at a time, if you need to. An example of a stacked set of command line parameters would look like some of these...

 

Single-Player Startup with difficulty setting:

You can run SETUP and select a user map, but this will default to difficulty setting 1 (Piece of Cake). For more challenging play, execute Duke3D from the command line, Where # is a difficulty setting from 1-4:

DUKE3D -map <level> /s#

 

To Launch Setup, Load a Level, and apply a difficulty setting:

SETUP /v# /l## /s# -map <level>

This will also allow you to change any other settings in setup you would like.

 

Use Difficulty Settings Within the Game

In order to play a user map with difficulty settings other than the default setting, rename the map to e3l1.map and then play duke3d as you normally would and select episode 3. The game will select the new map in place of the raw meat level. To change it back so you can play the raw meat level simply rename the map back to its original name.

 

Loading a Configuration file and a map:

Where <file.cfg> is an alternate config file.

DUKE3D -setupfile <file.cfg> -map <level>

 

Dukematch The Computer (ATOMIC):

Structure:

duke3d /q <the number of players> /m /a /l <the level> /v <the episode>


Example One, Type:

Start the game with the following command line will play a One Player Dukematch game against one AI character on Episode 1 Level 1, with no monsters. You must include the Episode and Level number command line parameters, or it won't work. This option is for single play only. You cannot mix this function with modem, network, or serial play:

duke3d /q2 /m /a /l1 /v1

Explained:

/q  Is For The Number Of Players Including Yourself, we use number 2 here.
/m  Sets "NO monsters"
/a  Enables The AI Players ATOMIC
/l  Is For The Level To Start On, we use the built in level 01
/v  Takes you to volume, we use 1 for the first episode



Example Two, Type:

duke3d /a /q# /l###

/a Enables The AI Players ATOMIC
/q Is For The Number Of Players Including Yourself , # = Number of Players.
/l Is For The Level To Start On , x = Episode xx = Level  e.g  /l301 for Level One Of Episode Three

 

Auto load a user level (i.e. make it "Install" with Duke) by recording a demo in it)

Type:

Duke3d -map <level> /r /l08

This will take you straight to the level, with demo-record mode ON. When you subsequently start Duke, the level will load automatically, and when you start a game, a fifth option will appear: USER MAP ([name.map])

A useful way of auto-loading your favorite level. Frees up a game save slot too.

 

Find Out What Memory Blocks are in Free

Go to your Dos prompt (Windows 95/98/ME Dos or normal Dos) and type mem/f and it will tell what conventional segments and upper memory regions are free. You can use this to gain and optimize your memory for best performance.

Check Out Where Your Memory is Going

At Dos prompt (WindowsDOS or normal DOS) type mem/p/c and it will tell you where your conventional and upper memory is.

*Using MEMMAKER

Note: Don't use MEMMAKER if you use third party memory management software such as QEMM.

Getting more conventional memory.

Enter MEMMAKER at the DOS prompt (MS-DOS MODE).
Select Continue then pick the Custom Setup option. When asked about EMS memory, choose"No" to free up the most memory. However, if you know you'll need EMS memory, both for this game and for other DOS programs you normally run inside Windows 95, choose "Yes". Under Advanced Options, set "Scan the upper memory area aggressively?" to "Yes". Also set "Use monochrome region (B000-B7FF) for running programs?" to "Yes".


On the next screen, the program asks for your Windows directory. Enter your Windows 95 directory if the default is incorrect. After MEMMAKER does its thing, Windows 95 will restart. Click Start followed by Shutdown to reboot to your newly optimized configuration.


Now run your game.

 

Screen Toggle

For Windows 95/98/ME

To toggle between a windowed and full MS-DOS screen, press Alt+TAB. Be advised that doing so on some systems may crash or freeze your BUILD game. If so close the WinBox, its ideal to restart your systems (not just windows) to reinitialize your hardware.

 

Windows Shortcut; Command Prompt
  1. Locate the file duke.exe and right click on it.
  2. Choose properties and then click the Program Tab
  3. in the box for Working type in your path to your build engine game.
  4. EX: (Use Quotes)

    "C:/Games/Duke/"

  5. Now goto the CMD Line this is were you would type in the Command Line Flag(s) you would, place them after DUKE3D.EXE.
  6. EX:

    /DUKE3D.EXE /j

  7. Now goto the Batch File this is were you can use an external Batch file to launch.

Auto Prompt User

If you rather be prompted to add parameters when you start duke:

  1. Add a "?" to the end of the CMD Line. Place it after DUKE3D.EXE.
  2. EX

    /DUKE3D.EXE ?

  3. This in general applies to all MS-DOS application's command lines.