Command line options
EDuke32 Parameters
Usage: eduke32 [files] [options]
Example: eduke32 nukeland.map -usecwd -cfg myconfig.cfg 
Files can be of types {grp | zip | pk3 | pk4 | map | con | def | rts}. 
- Specifying a 
{grp|zip|pk3|pk4}file is equivalent to using the-gparameter. - If a .map file is specified, it is immediately loaded and launched as a usermap (equivalent to 
-map). - If a .con file is specified, it replaces 
GAME.CON(equivalent to-x). - If a .def file is specified, it is used as the main DEF file (equivalent to 
-h). - If a .rts file is specified, it is used as the main RTS soundbank (equivalent to 
-rts). 
| Parameter | Description | Notes | |
|---|---|---|---|
-?--help
 | 
Displays a help message listing the available parameters, then exits. | ||
 -addon {0,1,2,3}
 | 
Launch one of the addons for Duke 3D (if present), packaged with the Megaton Edition release. | 0 = none, 1 = Duke it out in D.C., 2 = Duke: Nuclear Winter, 3 = Duke Caribbean: Life's a Beach | |
-cachesize [size]
 | 
Sets initial cache size, in kilobytes. Usually not needed, as cache size is adjusted dynamically. | See also cachesize (DEF). | |
-cfg [cfg_path]
 | 
Use an alternate configuration file. | Default is "eduke32.cfg". | |
-clipmap [file.map]
 | 
Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with clipshape | Default is _clipshape0.map.
 | |
-d [file.edm][:arg1,arg2]
 | 
Plays an eduke32 demo. Can take optional parameters "arg1" and "arg2" which represent "frames per tic" and "number of repeats" respectively, and are used for debug performance profiling. | By default, the game plays a loop starting at edemo001.edm.
 | |
-debughelp
 | 
Displays debug parameters and exits. | ||
-forcegl
 | 
Disables GL driver blacklist on Windows. | ||
-game_dir [dir]
 | 
Duke3d_w32 compatibility option. Set the directory from which to load files, which also changes where the cfg is created. | See also '-j' | |
 -gamegrp [file.grp]
 | 
Defines which file to use as main grp. | ||
-grp [path]-g [path]
 | 
Use an extra group (or .pk3 or .zip) file to load data from. | ||
-h [file.def]
 | 
Specify the main DEF file. | By default uses 'duke3d.def' if present in the folder. | |
-j [dir]
 | 
Adds a directory to EDuke32's search list. Does not alter the directory for config files. | ||
 -map [file.map]
 | 
Starts the specified usermap on launch. | ||
 -mh [file.def]
 | 
Include an additional DEF module, appended after the main DEF code. | ||
-mx [file.con]
 | 
Include an additional CON script module, appended after the GAME.CON code. | ||
-m
 | 
Disable monsters (m_monsters_off = 1) and sets m_player_skill and player_skill to 0. | ||
-nam-napalm-ww2gi
 | 
Run in NAM or WWII GI -compatible mode. | ||
-noautoload
 | 
Disables loading content from the autoload directory. | ||
-nocontroller
 | 
Completely disable controller support. | ||
-nodinput
 | 
Disable DirectInput (controller) support. (Windows) | ||
-noxinput
 | 
Disable XInput (controller) support. (Linux) | ||
-noinstancechecking
 | 
Prevents eduke32 from checking whether another instance is already running. | ||
-nologo -quick
 | 
Skip all the startup animations and logos. | ||
-nosteam
 | 
Disables Steam community API integrations (such as achievements) if binary is compiled with parameter EDUKE32_STANDALONE. | Currently only relevant for Ion Fury builds. | |
-ns -nm 
 | 
Disable sound and music respectively. | ||
-r
 | 
Enables demo recording. | ||
-rotatesprite-no-widescreen
 | 
Debug parameter. If set, screen tiles (such as weapons) logos and menu tiles will be stretched horizontally. | ||
-s# 
 | 
Set the skill level (0-4). Cannot exceed 4 even when more skill levels are defined. Setting this to 4 is hardcoded to enable respawn_monsters and m_respawn_monsters, regardless of what the skill itself defines. | ||
-setup-nosetup
 | 
Enables/disables startup window | [only on Windows, SDL, and/or GTK2 environments] | |
-t#
 | 
Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All | ||
-usecwd
 | 
Force eduke32 to read game data and configuration files from working directory. | See also user_profiles_disabled. | |
-u#########
 | 
Define the weapon switch order, as a string of 10 digits. | (Default: 3425689071)
 | |
-v[X] -l[Y]
 | 
Warp to episode X, level Y if used together. If either is omitted, then warp assumes episode 1, resp. level 1. | ||
-w
 | 
Show coordinates as well as other debug information, including current sector num, lotag and hitag. | ||
-x [game.con]
 | 
Replace the main GAME.CON with the specified script file. | ||
-z# -condebug
 | 
Enable line-by-line CON compile debugging at level #, and print the number of labels, variables and arrays used. | 
Multiplayer Parameters
Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see NetDuke32.
The corresponding parameters are listed here for the sake of completeness.
| Parameter | Description | Notes | |
|---|---|---|---|
-a
 | 
Use fake player AI (dukebots) (fake multiplayer only). | Sets playerai to 1, which doesn't do anything as of r9392. | |
-c#
 | 
Changes the value of m_coop to set the multiplayer mode. | ||
-connect [ip]
 | 
Connect to the specified IP address. | (see multiplayer) | |
-dedicated
 | 
Start eduke32 in dedicated server mode. | (see multiplayer) | |
-name [name]
 | 
Set the player name on startup. Can also be changed ingame. | ||
-net
 | 
Legacy P2P networking. | Disabled as of r9392. Will exit with an error message. | |
-noffire
 | 
Disables friendly fire in coop games (i.e. m_ffire set to 0). | ||
-password [pw]
 | 
Password required to authenticate when connecting to server. | Default is no password. | |
-port
 | 
Specify which UDP port to use for hosting the game or connecting. | ||
-q#
 | 
Fake multiplayer with # (2-16) players. | ||
-rts [file.rts]
 | 
Use the specified RTS soundbank for remote ridicule sounds. | Defaults: {DUKE.RTS, NAM.RTS, NAPALM.RTS, WW2GI.RTS} | |
-server
 | 
Start multiplayer server for network games. | (see multiplayer) | 
Removed Parameters
The following parameters used to exist, but are no longer referenced in current eduke32 revisions.
| Parameter | Description | Notes | |
|---|---|---|---|
-#
 | 
Load and run a game from slot # (0-9) | EDuke32 no longer uses a fixed number of save slots, hence no longer works. | |
 -conversion [YYYYMMDD] 
 | 
Selects CON script version for compatibility with older mods. | ||
-f#
 | 
Send fewer packets in multiplayer (1, 2, 4) | (deprecated) | |
-i#
 | 
Use networking mode (1/0) | ||
-nD
 | 
Dump default gamevars to gamevars.txt | ||
-rmnet
 | 
Use network config file. | (OBSOLETE, see -net) | |
-stun
 | 
Use UDP hole punching for multiplayer connections. | 
Mapster32 Parameters
Usage: mapster32 [files] [options]
Example: mapster32 nukeland.map -usecwd -cfg myconfig.cfg 
Files can be of types {grp | zip | map | con | def}.
- Specifying a 
{grp|zip}file is equivalent to using the-jparameter. - If a .map file is specified, it is directly opened in the editor.
 - If a .con file is specified, it is used as the main resource for M32 CON commands.
 - If a .def file is specified, it is used as the main DEF script.
 
The set of parameters for mapster32 has some overlap with eduke32. Below is the complete list.
Shared Parameters
| Parameter | Description | Notes | |
|---|---|---|---|
-?--help
 | 
Displays a help message listing the available parameters, then exits. | ||
 -addon {0,1,2,3}
 | 
Load addon data like eduke32 equivalent. | 0 = none, 1 = DukeDC, 2 = DukeNW, 3 = Duke Caribbean | |
-cachesize [size]
 | 
Sets initial cache size in KB. | Unlike eduke32, this parameter has an upper limit of 1 MB. | |
-cfg [cfg_path]
 | 
Use an alternate configuration file. | Default is "mapster32.cfg". | |
-clipmap [file.map]
 | 
Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with clipshape. | Default is _clipshape0.map.
 | |
-forcegl
 | 
Disables GL driver blacklist on Windows. | ||
-grp [path]-g [path]
 | 
Use an extra group (or .pk3 or .zip) file to load data from. | ||
-game_dir [dir]
 | 
Set the directory from which to load files, which also changes where the cfg is created. | ||
 -gamegrp [file.grp]
 | 
Defines which file to use as main grp. | ||
-h [file.def]
 | 
Specifies the main DEF file. | ||
-j [dir]
 | 
Adds a directory to Mapster32's search list. | ||
 -mh [file.def]
 | 
Include an additional DEF module, appended after the main DEF code. | ||
 -mx [file.con]
 | 
Include an additional M32 script module. | See also the include command. | |
-nam-napalm-ww2gi
 | 
Run in NAM or WWII GI -compatible mode. | ||
-noautoload
 | 
Disables loading content from the autoload directory. | ||
-usecwd
 | 
Force mapster32 to read game data and configuration files from the current working directory. | See also user_profiles_disabled. | |
-x [game.con]
 | 
Replace the main GAME.CON with the specified file. | GAME.CON code is only needed for sound definitions. | 
Unique Parameters
| Parameter | Description | Notes | |
|---|---|---|---|
-check  -nocheck 
 | 
Enables/Disables map pointer checking when saving. | Default is disabled. | |
 -namesfile [names.h]
 | 
Path to a different names file for tile numbers. | Default is 'names.h'. | 
VoidSW Parameters
Usage: voidsw [options]
Example: voidsw -addon1 -level3 -cheat
VoidSW currently does not take files directly as arguments.
| Parameter | Description | Notes | |
|---|---|---|---|
-?
 | 
Displays a help message listing the available parameters, then exits. | ||
-addon#
 | 
Launch one of the expansions included in Shadow Warrior Classic Complete. | 0 = SW v1.2, 1 = Wanton Destruction, 2 = Twin Dragon | |
-cheat
 | 
If combined with -level#, starts the game with all weapons, inventory items and god mode on.
 | 
||
-dr[filename]
 | 
Records a demo with the given filename. Requires the -level# parameter to also be set.
 | 
No space between param and filename! | |
-dp[filename]
 | 
Starts playback of the given demo file. | No space between param and filename! | |
-extcompat 
 | 
Controller compatibility mode. Multiplies movescale and turnscale by 5. | ||
-g[file.grp]
 | 
Load the specified GRP or ZIP file as main data. | No space between param and filename! | |
-h[file.def]
 | 
Load the specified file as the main DEF. | No space between param and filename! | |
-j [dir]
 | 
Adds the given directory to look for game data. | ||
-level# 
 | 
Load the specified level on startup (0-27). | Does not use episodic structure unlike Duke. | |
-map [file.map]
 | 
Launch the specified usermap. | ||
-mh[file.def]
 | 
Load the specified file as DEF module. | No space between param and filename! | |
-monst 
 | 
Disables monsters. | ||
-movescale [val]
 | 
Adjusts the movement scale: 256 = 1 unit | ||
-nodemo 
 | 
Disables demo playback on the title screen. | ||
-noinstancechecking
 | 
Prevents voidsw from checking whether another instance is already running. | ||
-nologo -quick
 | 
Skip all the startup animations and logos. | ||
-nometers
 | 
Prevents boss health bars and the air meter from being drawn onscreen. | ||
-s# 
 | 
Defines the skill level (1-4). | ||
-setup  -nosetup
 | 
Enable/Disable the setup dialog. | ||
-turnscale [val]
 | 
Adjusts the turning scale: 256 = 1 unit | ||
-usecwd
 | 
Force VoidSW to read game data and configuration files from working directory. | See also user_profiles_disabled. | 
Multiplayer Parameters
Options
The following parameters define multiplayer game options and must be listed first.
| Parameter | Description | Notes | |
|---|---|---|---|
-autonet [params]
 | 
The autonet parameter defines multiplayer game options, and takes exactly 10 arguments, separated by commas.
 These are, in order: 
  | 
Example Use:  -autonet 0,0,1,1,1,0,3,2,1,1 
 | |
-col #
 | 
Forces the player palette for joining players. | Workaround because -autonet fails to do so.
 | |
-f#
 | 
Packet duplication, i.e. how many "moves" are sent per packet. Choose higher values for lossy connections. | Valid values: {2,4,8}
 | |
-name [pname]
 | 
Sets the connecting player's name to the given value. | ||
-nopredict
 | 
Disables network prediction method, i.e., player position is no longer predicted. | ||
-short 
 | 
Divides the frag limit by 10 and halves the time limit. | 
Connection Establishment
The following parameters define which game to connect to, and MUST be listed last.
Any other parameters that follow -net will be ignored.
| Parameter | Description | Notes | |
|---|---|---|---|
-net
 | 
Required to use the parameters listed below. | ||
[ip]:[port] [hostname]:[port]
 | 
Connect to the given IP/hostname and port. | ||
-n0:#  -i0:#
 | 
Host a netgame in master-slave mode, expecting # players to join before launch. | ||
-n1 -i1
 | 
Use in peer-to-peer mode. The [hostname]:[port] pairs must be listed in the same order for all players, with the exception that -N1 has to be specified instead of the current player's [hostname]:[port] pair. | ||
-p#
 | 
Defines the port # to use for hosting. Valid range: 1025-65534 | 
Usage example for 3-players game in peer-to-peer mode:
Player 1: voidsw -net -n1 <hostname2:port2> <hostname3:port3>
Player 2: voidsw -net <hostname1:port1> -n1 <hostname3:port3>
Player 3: voidsw -net <hostname1:port1> <hostname2:port2> -n1
Debug Parameters
The following parameters are used to debug VoidSW.
| Parameter | Description | Notes | |
|---|---|---|---|
-allsync 
 | 
Sets sync bytes to 8 outside of demo recording. (purpose?) | ||
-cam
 | 
Enables camera view during normal gameplay, as if a demo recording is playing. | ||
-commbat#
 | 
Enables fake WangBang with the specified number of players. | ||
-coop#
 | 
Enables fake coop with the specified number of players. | ||
-debug 
 | 
Only enabled for DEBUG builds. Shows debug help options. | ||
-debugactor
 | 
Disables all monsters. (same as -monst)
 | 
||
-debuganim
 | 
Disables all animations. | ||
-debugpanel
 | 
Disables panel update. (?) | ||
-debugsecret
 | 
Displays debug info whenever an enemy is killed. | ||
-debugsector
 | 
Disables sector movement. | ||
-debugso
 | 
Disables sector objects. | ||
-ddr[filename]
 | 
Records a demo in debug mode with the given filename. Requires the -level# parameter to also be set.
 | 
||
-demosyncrecord 
 | 
Sets sync bytes to 8, records demo sync information to a file. | ||
-demosynctest
 | 
Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn't match. | ||
-randprint
 | 
Prints the output of krand() functions whenever they are called. | ||
-mono
 | 
Enables some debug output during gameplay. | ||
-nosyncprint
 | 
Disables the "out-of-sync" message in multiplayer. | 
Inactive Parameters
The following SW parameters are disabled, or have been removed.
| Parameter | Description | Notes | |
|---|---|---|---|
-bots
 | 
Disabled. Would have added bots to fake multiplayer games. | ||
-broadcast
 | 
Replaced by -net | ||
-cacheprint
 | 
Used to print to stdout whenever a sound effect is cached/loaded. | ||
-de[arg]
 | 
Demo editing? Disabled. | ||
-dt[arg]
 | 
Temporary demo? Disabled. | ||
-m 
 | 
Replaced by -monst. | ||
-masterslave
 | 
Replaced by -net | ||
-nocdaudio
 | 
Originally disabled the Redbook music. | ||
-setupfile [arg]
 | 
Originally used by setup.exe |