setup-command-line-duke3d   Revised 2-28-2004  Release 6 © RTCM Corvin

Introduction | Command Line Help | Command Line Dictionary | Stacking/Hidden Flags
Free Memory Blocks | Playing with Prompts | Tips | 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. 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 '/m' switch used as an example. To use it, you would need to start the game like this:

DUKE3D /m

Type Duke3d /? to display all the command line variables in full!

Command Line Help

C:\DUKE3D\DUKE3D.EXE [/flags...]

?, /? This help message
/l## Level (1-11)
/v# Volume (1-4)
/ver Shareware 1.1 use only. Shows the version number of the game your playing
/s# Skill (1-4)  Shareware1.0(0-3)
/r Record demo
/oDIR Lameduke use only. Reroute game output to DIR.
/e Lameduke use only. Encode maps...
/d Lameduke use only. Activate DEBUG MODEs.
/dFILE Start to play demo FILE ATOMIC
/m No monsters
/ns No sound
/nm No music
/t# Respawn, 1 = Monsters, 2 = Items, 3 = Inventory, x = All
/c Shareware 1.1 only. Turns on Cooperative Play for Multi-Player Play.
/c# MP mode, 1 = DukeMatch(spawn), 2 = Coop, 3 = Dukematch(no spawn)
/q Lameduke use only. Turn on help quotes.
/q# Fake multiplayer (2-8 players)
/a Use player AI (fake multiplayer only) ATOMIC
/i# Network mode (1/0) (multiplayer only) (default = 1)
/f# Send fewer packets (1, 2, 4) (multiplayer only)
/gFILE, /g... Use multiple group files (must be last on command line)(default DUKE3D.GRP)
/g<file> Group <file>  
/xFILE Compile FILE (default GAME.CON) Compile FILE (default GAME.CON)
/o Shareware 1.1 use only. Allows you to use external CONs
/x<file>  
/u######### User's favorite weapon order (default: 3425689071)
/# Load and run a game (slot 0-9)
/z Skip memory check
-map FILE Use a map FILE
-name NAME Foward NAME
-8250 Slow serial card is in use (Passed from SETUP.EXE and COMMIT.EXE)
-net Net mode game (Passed from SETUP.EXE and COMMIT.EXE)
/j Display version with exit

Command line Dictionary

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. Commit can also be accessed with multiplayer switches. This applies to a MS-DOS Shortcut's from Windows. See the Prompt Command from your Windows Dos-Box near the bottom for more details.

Flags function with:
Duke3d
Commit
Setup

Here is a list of the command line parameters that you can use with Duke Nukem 3D.

?

Gives you a list of all the command line parameters.

/j

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.

/ns

Turns off all sound effects.

/nm

Turns off music.

/g<file> ATOMIC

Uses Group <file> (default is DUKE3D.GRP) If this is used, it must be last on the command line. Reports of this not functioning correctly in 1.3d  Requires a Batch File.

/x<file>

Compiles alternate con file with name of <file> (The default is game.con).

/o<file>

Shareware 1.1 use only. Compiles alternate con file with name of <file> (The default is game.con).

/r

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 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> ATOMIC

Play a demo file.
Replace <file> with the name of the demo file you want to play. /dnull to disable Atomic demo playback.

/q

Lameduke use only. Turn on help quotes. Hardcoded messages are displayed when the player nears specific sprites.

/q#

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 (for Testing Multiplay only) However the ATOMIC edition allows actual fake multiplayer a.i.)

/v#

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

/l##

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 = ß

/s#

Use Skill Level # (where # is a number from 0 to 3) Shareware1.0(0-3) In Lameduke this function is present but doesn't seem to work.

/m

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#

/t#

Respawning Things.
This is intended for DukeMatch games, and is not meant for single play. # can be either 1, 2, 3, or x. 1 means Monsters only, 2 means Items only, 3 means Inventory items, and x means all.

/c#

Defines which type of Multi-Play will be used.
# can be either 1, 2, or 3.
1 standard Dukematch.
2 Co-Op play
3 "old" Dukematch.  ?"old" dukematch?
Remember, if you want to switch the monsters off and use /c#,  The /m must go before the /c#

/f#

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 launchs the TEN screen as well)

/setupfile <name>

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

/i#

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 quites the game, all players exit.This paramter should not be used by the player, this is passed automatically by the setup program to commit.

-8250

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

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.

/u#########

User's Favourite Weapon order (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 commandline you will notice it will add the settings in the config file.

/#

Load and run a saved game (x is slot 0-9)

/z

Skip memory check. This is primarly for system setup and resources-avaliable. And address issues if needed.
DO NOT USE THIS!! THIS SHOULD ONLY BE USED IF ADVISED TO DO SO BY 3D REALMS.

-map <file>

Load an external .map file via the command line.

-name <name>

Change the player's name via the command line.

  • Some Notes:

Some of you may find the command /map turns off your Monsters 1.3
In version 1.4 and 1.5 ATOMIC 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.)

(Remember, if you want to switch the monsters off with /m The /m must go before the /c#)

Some users have success without using the slash(/) or dash(-).
Spacing, is an oversight. Remember to use the correct spacing.
If you stick with the proper "standard" then you should be alright.
(DO NOT FORGET THE SPACES IN BETWEEN EACH OF THE PARAMETERS)

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 this...

DUKE3D /m /t

Single-Player Startup with difficulty setting:

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

DUKE3D -map <level> /s#

Where # is a difficulty setting from 0-3.

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

SETUP /vx /lxx /sx -<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 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 Config file and a map:

DUKE3D <setupfile> -map <level> Where <setupfile> is an alternate config file.

Dukematch the computer: ATOMIC

Structure:

duke3d /q (the number of players) /m /a /l (the level) /v (the episode)

Explained:

This 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. Start the game with the following command line:

Example One, Type:

duke3d /q2 /m /a /l01 /v1

/q Is For The Number Of Players Including Yourself , x = no. Players
/m Sets "no monsters"
/a Enables The AI Players ATOMIC
/l Is For The Level To Start On , x = Episode xx = Level e.g /l101
/v Takes you to episode #

Example Two, Type:

duke3d /a /qx /lxxx

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

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 favourite level. Frees up a gamesave slot too.

>Find Out What Memory Blocks are in Free

Go to your Dos prompt (Windows 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.

Playing with Prompts

In DOS (Disk Operating System) the default prompt is C>, but most users have their prompt look like C:\>
You can add MORE, you can add: =, $, time, Dates, Drive, Path, MS-DOS version, >, <, | 

To begin goto the dos prompt in your start | programs menu. Once there type PROMPT, you get C> , now type PROMPT $P$G and you get C:\>

To add more stuff just type PROMPT paramaters. The paramaters are:

$Q = $$ $ $T Current Time
$D Current Date $P Current Drive
Path $V MS-Dos Version $N Current Drive $G > $L < $B

Advanced Usage:

$H Backspace (erases previous char)
$E Escape Code (ASCII code 27)
$_ Carriage return and line feed

Try this one:

PROMPT THE TIME$Q$T$H$H$H$H$H$H$_$P$G

Tips

MS-DOS Screen Toggle

To toggle between a windowed and full MS-DOS screen, press Alt+TAB. Beadvised 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.

MS-DOS App Parameters

Prompt Command from your Windows Dos-Box Shortcut
  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.