Command line options: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
Master O (talk | contribs)
No edit summary
Add -nocontroller, -noxinput parameters
 
(15 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Usage: eduke32 [files] [options]<br>
Example: eduke32 -q4 -a -m -tx -map nukeland.map


Files can be *.grp/zip/con/def
= EDuke32 Parameters =


----
Usage: <code>eduke32 [files] [options]</code><br>
Example: <code>eduke32 nukeland.map -usecwd -cfg myconfig.cfg </code>


To enable hi-def music packs, use the -g switch with eduke32.  
Files can be of types <code>{grp | zip | pk3 | pk4 | map | con | def | rts}</code>.
* Specifying a <code>{grp|zip|pk3|pk4}</code> file is equivalent to using the <code>-g</code> parameter.
* If a .map file is specified, it is immediately loaded and launched as a usermap (equivalent to <code>-map</code>).
* If a .con file is specified, it replaces <code>GAME.CON</code> (equivalent to <code>-x</code>).
* If a .def file is specified, it is used as the main DEF file (equivalent to <code>-h</code>).
* If a .rts file is specified, it is used as the main RTS soundbank (equivalent to <code>-rts</code>).


For example: eduke32 -g duke3d_flac_v4.zip
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-?</code><br><code>--help</code>
|Displays a help message listing the available parameters, then exits.
|
|-
| <code> -addon {0,1,2,3}</code>
| 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
|-
| <code>-cachesize [size]</code>
|Sets initial cache size, in kilobytes. Usually not needed, as cache size is adjusted dynamically.
| See also [[cachesize_(DEF)| cachesize (DEF)]].
|-
| <code>-cfg [cfg_path]</code>
| Use an alternate configuration file.
| Default is "eduke32.cfg".
|-
| <code>-clipmap [file.map]</code>
| Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with [[clipshape]]
| Default is <code>_clipshape0.map</code>.
|-
| <code>-d [file.edm][:arg1,arg2]</code>
| 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 <code>edemo001.edm</code>.
|-
| <code>-debughelp</code>
|Displays debug parameters and exits.
|
|-
| <code>-forcegl</code>
| Disables GL driver blacklist on Windows.
|
|-
| <code>-game_dir [dir]</code>
| Duke3d_w32 compatibility option. Set the directory from which to load files, which also changes where the cfg is created.
| See also '-j'
|-
| <code> -gamegrp [file.grp]</code>
| Defines which file to use as main grp.
|
|-
| <code>-grp [path]</code><br><code>-g [path]</code>
| Use an extra group (or .pk3 or .zip) file to load data from.
|
|-
| <code>-h [file.def]</code>
| Specify the main DEF file.
| By default uses 'duke3d.def' if present in the folder.
|-
| <code>-j [dir]</code>
|Adds a directory to EDuke32's search list. Does not alter the directory for config files.
|
|-
| <code> -map [file.map]</code>
| Starts the specified usermap on launch.
|
|-
| <code> -mh [file.def]</code>
|Include an additional DEF module, appended after the main DEF code.
|
|-
| <code>-mx [file.con]</code>
|Include an additional CON script module, appended after the GAME.CON code.
|
|-
| <code>-m</code>
|Disable monsters ([[m_monsters_off]] = 1) and sets [[m_player_skill]] and [[player_skill]] to 0.
|
|-
| <code>-nam</code><br><code>-napalm</code><br><code>-ww2gi</code>
|Run in [[NAM]] or [[WWII GI]] -compatible mode.
|
|-
| <code>-noautoload</code>
| Disables loading content from the [[autoload]] directory.
|
|-
| <code>-nocontroller</code>
| Completely disable controller support.
|
|-
| <code>-nodinput</code>
| Disable DirectInput (controller) support. (Windows)
|
|-
| <code>-noxinput</code>
| Disable XInput (controller) support. (Linux)
|
|-
| <code>-noinstancechecking</code>
| Prevents eduke32 from checking whether another instance is already running.
|
|-
| <code>-nologo</code> <br> <code>-quick</code>
|Skip all the startup animations and logos.
|
|-
| <code>-nosteam</code>
| Disables Steam community API integrations (such as achievements) if binary is compiled with parameter EDUKE32_STANDALONE.
| Currently only relevant for [[Ion Fury]] builds.
|-
| <code>-ns -nm </code>
| Disable sound and music respectively.
|
|-
| <code>-r</code>
| Enables demo recording.
|
|-
| <code>-rotatesprite-no-widescreen</code>
| Debug parameter. If set, screen tiles (such as weapons) logos and menu tiles will be stretched horizontally.
|
|-
| <code>-s# </code>
| 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.
|
|-
| <code>-setup</code><br><code>-nosetup</code>
|Enables/disables startup window
|[only on Windows, SDL, and/or GTK2 environments]
|-
| <code>-t#</code>
|Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All
|
|-
| <code>-usecwd</code>
| Force eduke32 to read game data and configuration files from working directory.
| See also [[user_profiles_disabled]].
|-
| <code>-u#########</code>
| Define the weapon switch order, as a string of 10 digits.
|(Default: <code>3425689071</code>)
|-
| <code>-v[X] -l[Y]</code>
| Warp to episode X, level Y if used together. If either is omitted, then warp assumes episode 1, resp. level 1.
|
|-
| <code>-w</code>
|Show coordinates as well as other debug information, including current sector num, lotag and hitag.
|
|-
| <code>-x [game.con]</code>
| Replace the main GAME.CON with the specified script file.
|
|-
| <code>-z# </code><br><code>-condebug</code>
|Enable line-by-line CON compile debugging at level #, and print the number of labels, variables and arrays used.
|
|}


Duke32_flac_v4.zip can be found here: http://sc55.duke4.net/games.php#duke3d
== Multiplayer Parameters ==


You can also substitute duke3d_flac_v4.zip with one of the other Duke3D music packs at the above link or other similar packs from other sites ending in those file extensions.
Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see [https://voidpoint.io/StrikerTheHedgefox/eduke32-csrefactor/-/releases NetDuke32].


Any further information regarding the Roland SC-55 music packs (outside of the above site obviously) can be found in the Eduke32 forum thread below:
The corresponding parameters are listed here for the sake of completeness.


https://forums.duke4.net/topic/2505-roland-sc-55-music-packs/
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-a</code>
| Use fake player AI (dukebots) (fake multiplayer only).
| Sets [[playerai]] to 1, which doesn't do anything as of r9392.
|-
| <code>-c#</code>
| Changes the value of [[m_coop]] to set the multiplayer mode.
|
|-
| <code>-connect [ip]</code>
| Connect to the specified IP address.
|(see [[multiplayer]])
|-
| <code>-dedicated</code>
| Start eduke32 in dedicated server mode.
|(see [[multiplayer]])
|-
| <code>-name [name]</code>
| Set the player name on startup. Can also be changed ingame.
|
|-
| <code>-net</code>
| Legacy P2P networking.
| Disabled as of r9392. Will exit with an error message.
|-
| <code>-noffire</code>
| Disables friendly fire in coop games (i.e. [[m_ffire]] set to 0).
|
|-
| <code>-password [pw]</code>
| Password required to authenticate when connecting to server.
| Default is no password.
|-
| <code>-port</code>
| Specify which UDP port to use for hosting the game or connecting.
|
|-
| <code>-q#</code>
| Fake multiplayer with # (2-16) players.
|
|-
| <code>-rts [file.rts]</code>
| Use the specified RTS soundbank for remote ridicule sounds.
| Defaults: {DUKE.RTS, NAM.RTS, NAPALM.RTS, WW2GI.RTS}
|-
| <code>-server</code>
| 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.


{| {{prettytable}}
{| {{prettytable}}
!Command!!Description!!Notes!!
!Parameter!!Description!!Notes!!
|-
| <code>-#</code>
| Load and run a game from slot # (0-9)
| EDuke32 no longer uses a fixed number of save slots, hence no longer works.
|-
| <code> -conversion [YYYYMMDD] </code>
| Selects CON script version for compatibility with older mods.
|
|-
| <code>-f#</code>
|Send fewer packets in multiplayer (1, 2, 4)
|(deprecated)
|-
| <code>-i#</code>
| Use networking mode (1/0)
|
|-
|-
| -addon [0,1,2,3]
| <code>-nD</code>
|Use one of the Megaton-edition packaged addons for duke3d
| Dump default gamevars to gamevars.txt
| 0 = none, 1 = Duke it out in D.C., 2 = Duke: Nuclear Winter, 3 = Duke Caribbean: Life's a Beach
|
|-
| <code>-rmnet</code>
| Use network config file.
| (OBSOLETE, see -net)
|-
|-
| -cfg [file.cfg]
| <code>-stun</code>
|Use an alternate configuration file
| Use UDP hole punching for multiplayer connections.
|
|
|-
|-
| -clipmap [file.map]
|}
|Load an additional clipping map for use with clipshape
 
= Mapster32 Parameters =
 
Usage: <code>mapster32 [files] [options]</code><br>
Example: <code>mapster32 nukeland.map -usecwd -cfg myconfig.cfg </code>
 
Files can be of types <code>{grp | zip | map | con | def}</code>.
* Specifying a <code>{grp|zip}</code> file is equivalent to using the <code>-j</code> parameter.
* 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 ==
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
|-
| -c#
| <code>-?</code><br><code>--help</code>
|Use MP mode #, 1 = Dukematch, 2 = Co-op, 3 = Dukematch (no spawn)
| Displays a help message listing the available parameters, then exits.
|
|
|-
|-
| -d [file.edm]
| <code> -addon {0,1,2,3}</code>
|Play a demo
| Load addon data like eduke32 equivalent.
| 0 = none, 1 = DukeDC, 2 = DukeNW, 3 = Duke Caribbean
|-
| <code>-cachesize [size]</code>
| Sets initial cache size in KB.
| Unlike eduke32, this parameter has an upper limit of 1 MB.
|-
| <code>-cfg [cfg_path]</code>
| Use an alternate configuration file.  
| Default is "mapster32.cfg".
|-
| <code>-clipmap [file.map]</code>
| Load an additional clipping map to define physical geometry for sprites, voxels and 3d models, for use with [[clipshape]].
| Default is <code>_clipshape0.map</code>.
|-
| <code>-forcegl</code>
| Disables GL driver blacklist on Windows.
|
|
|-
|-
| -g [file.grp/.zip]
| <code>-grp [path]</code><br><code>-g [path]</code>
|Use an extra group file
| Use an extra group (or .pk3 or .zip) file to load data from.
|
|
|-
|-
| -h [file.def]
| <code>-game_dir [dir]</code>
|Use an alternate def
| Set the directory from which to load files, which also changes where the cfg is created.
|
|
|-
|-
| -j [dir]
| <code> -gamegrp [file.grp]</code>
|Adds a directory to EDuke32's search list
| Defines which file to use as main grp.
|
|
|-
|-
| -l#
| <code>-h [file.def]</code>
|Warp to level #
| Specifies the main DEF file.
|see -v
|
|-
|-
| -map [file.map]
| <code>-j [dir]</code>
|Loads a map
|Adds a directory to Mapster32's search list.
|
|
|-
|-
| -mh [file.def]
| <code> -mh [file.def]</code>
|Include an additional def module
|Include an additional DEF module, appended after the main DEF code.
|
|
|-
|-
| -mx [file.con]
| <code> -mx [file.con]</code>
|Include an additional CON script module
| Include an additional M32 script module.
| See also the [[Console_commands#Editor-Specific| include command]].
|-
| <code>-nam</code><br><code>-napalm</code><br><code>-ww2gi</code>
|Run in [[NAM]] or [[WWII GI]] -compatible mode.
|
|
|-
|-
| -m
| <code>-noautoload</code>
|Disable monsters
| Disables loading content from the [[autoload]] directory.
|
|
|-
|-
| -nam<br>-ww2gi
| <code>-usecwd</code>
|Run in [[NAM]] or [[WWII GI]] -compatible mode
| Force mapster32 to read game data and configuration files from the current working directory.
| See also [[user_profiles_disabled]].
|-
| <code>-x [game.con]</code>
| Replace the main GAME.CON with the specified file.
| GAME.CON code is only needed for sound definitions.
|-
|}
 
== Unique Parameters ==
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-check</code> <br> <code> -nocheck </code>
| Enables/Disables map pointer checking when saving.
| Default is disabled.
|-
| <code> -namesfile [names.h]</code>
| Path to a different names file for tile numbers.
| Default is 'names.h'.
|-
|}
 
= VoidSW Parameters =
 
Usage: <code>voidsw [options]</code><br>
Example: <code>voidsw -addon1 -level3 -cheat</code>
 
VoidSW currently does not take files directly as arguments.
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-?</code>
|Displays a help message listing the available parameters, then exits.
|
|
|-
|-
| -server
| <code>-addon#</code>
|Start multiplayer server
| Launch one of the expansions included in Shadow Warrior Classic Complete.
|(see [[multiplayer]])
| 0 = SW v1.2,  1 = Wanton Destruction, 2 = Twin Dragon
|-
|-
| -r
| <code>-cheat</code>
|Record demo
| If combined with <code>-level#</code>, starts the game with all weapons, inventory items and god mode on.
|
|
|-
|-
| -s#
| <code>-dr[filename]</code>
|Set skill level (1-4)
| Records a demo with the given filename. Requires the <code>-level#</code> parameter to also be set.
| No space between param and filename!
|-
| <code>-dp[filename]</code>
| Starts playback of the given demo file.
| No space between param and filename!
|-
| <code>-extcompat </code>
| Controller compatibility mode. Multiplies movescale and turnscale by 5.
|
|-
| <code>-g[file.grp]</code>
| Load the specified GRP or ZIP file as main data.
| No space between param and filename!
|-
| <code>-h[file.def]</code>
| Load the specified file as the main DEF.
| No space between param and filename!
|-
| <code>-j [dir]</code>
| Adds the given directory to look for game data.
|
|
|-
|-
| -setup<br>-nosetup
| <code>-level# </code>
|Enables/disables startup window
| Load the specified level on startup (0-27).
|[only on Windows, SDL, and/or GTK2 environments]
| Does not use episodic structure unlike Duke.
|-
|-
| -t#
| <code>-map [file.map]</code>
|Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All
| Launch the specified usermap.
|
|
|-
|-
| -usecwd
| <code>-mh[file.def]</code>
|Read game data and configuration file from working directory
| Load the specified file as DEF module.
|[non-Windows only]
| No space between param and filename!
|-
| <code>-monst </code>
| Disables monsters.
|
|-
|-
| -u#########
| <code>-movescale [val]</code>
|User's favorite weapon order
| Adjusts the movement scale: 256 = 1 unit
|(default: 3425689071)
|
|-
|-
| -v#
| <code>-nodemo </code>
|Warp to volume #
| Disables demo playback on the title screen.
|see -l
|  
|-
|-
| -x [game.con]
| <code>-noinstancechecking</code>
|Load custom CON script
| Prevents voidsw from checking whether another instance is already running.
|
|
|-
|-
| -#
| <code>-nologo</code> <br> <code>-quick</code>
|Load and run a game from slot # (0-9)
| Skip all the startup animations and logos.
|
|
|-
|-
| -?<br>--help
| <code>-nometers</code>
|Display this help message and exit
| Prevents boss health bars and the air meter from being drawn onscreen.
|
|-
| <code>-s# </code>
| Defines the skill level (1-4).
|
|-
| <code>-setup </code> <br> <code>-nosetup</code>
| Enable/Disable the setup dialog.
|
|
|-
|-
| -debughelp
| <code>-turnscale [val]</code>
|Display debug parameters message and exit
| Adjusts the turning scale: 256 = 1 unit
|
|
|-
|-
| -a
| <code>-usecwd</code>
|Use fake player AI (fake multiplayer only)
| 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.
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-autonet [params]</code>
| The autonet parameter defines multiplayer game options, and takes exactly 10 arguments, separated by commas.
These are, in order:
* <code>[game_type]</code>: 0=WangBang, 1=WangBang (no item respawn), 2=Coop
* <code>[level]</code>: Which level should be played (0-27). No episodic separation.
* <code>[skill]</code>: Skill level (0-4). (0 being "no monsters")
* <code>[markers]</code>: If set to 1, will enable item respawn markers (0/1).
* <code>[team]</code>: Whether WangBang is Free-For-All (0) or Team Deathmatch (1).
* <code>[hurtteam]</code>: If set to 1, friendly fire is on (coop or TDM).
* <code>[kill]</code>: Defines the frag limit for Commbat.
* <code>[time]</code>: Index that defines the time limit, 0 being no limit. Available limits: <code>{0,3,5,10,15,20,30,45,60} minutes</code>.
* <code>[color]</code>: Player palette value. This determines the team colors.
* <code>[nuke]</code>: If 0, will replace nuke pickups with railgun ammo. (0/1)
| Example Use: <code> -autonet 0,0,1,1,1,0,3,2,1,1 </code>
|-
| <code>-col #</code>
| Forces the player palette for joining players.
| Workaround because <code>-autonet</code> fails to do so.
|-
| <code>-f#</code>
| Packet duplication, i.e. how many "moves" are sent per packet. Choose higher values for lossy connections.
| Valid values: <code>{2,4,8}</code>
|-
| <code>-name [pname]</code>
| Sets the connecting player's name to the given value.
|
|-
| <code>-nopredict</code>
| Disables network prediction method, i.e., player position is no longer predicted.
|
|-
| <code>-short </code>
| Divides the frag limit by 10 and halves the time limit.
|
|
|-
|-
| -cachesize #
|}
|Sets cache size, in Kb
 
=== Connection Establishment ===
 
The following parameters define which game to connect to, and MUST be listed last.
 
Any other parameters that follow <code>-net</code> will be ignored.
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-net</code>
| Required to use the parameters listed below.
|
|
|-
|-
| -fNUM
| <code>[ip]:[port]</code> <br> <code>[hostname]:[port]</code>
|Send fewer packets in multiplayer (1, 2, 4)
| Connect to the given IP/hostname and port.
|(deprecated)
|
|-
|-
| -game_dir [dir]
| <code>-n0:# </code> <br> <code>-i0:#</code>
|Duke3d_w32 compatibility option
| Host a netgame in master-slave mode, expecting # players to join before launch.
|see -j
|
|-
|-
| -gamegrp 
| <code>-n1</code> <br> <code>-i1</code>
|Selects which file to use as main grp
| 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.
|
|
|-
|-
| -i#
| <code>-p#</code>
|Use networking mode (1/0)
| Defines the port # to use for hosting. Valid range: 1025-65534
|
|
|-
|-
| -name [name]
|}
|Player name in multiplay
 
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.
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-allsync </code>
| Sets sync bytes to 8 outside of demo recording. (purpose?)
|
|-
| <code>-cam</code>
| Enables camera view during normal gameplay, as if a demo recording is playing.
|
|-
| <code>-commbat#</code>
| Enables fake WangBang with the specified number of players.
|
|
|-
|-
| -nD
| <code>-coop#</code>
|Dump default gamevars to gamevars.txt
| Enables fake coop with the specified number of players.
|-
| <code>-debug </code>
| Only enabled for DEBUG builds. Shows debug help options.
|
|-
| <code>-debugactor</code>
| Disables all monsters. (same as <code>-monst</code>)
|
|-
| <code>-debuganim</code>
| Disables all animations.
|
|-
| <code>-debugpanel</code>
| Disables panel update. (?)
|
|-
| <code>-debugsecret</code>
| Displays debug info whenever an enemy is killed.
|
|-
| <code>-debugsector</code>
| Disables sector movement.
|
|-
| <code>-debugso</code>
| Disables sector objects.
|
|-
| <code>-ddr[filename]</code>
| Records a demo in debug mode with the given filename. Requires the <code>-level#</code> parameter to also be set.
|
|-
| <code>-demosyncrecord </code>
| Sets sync bytes to 8, records demo sync information to a file.
|
|-
| <code>-demosynctest</code>
| Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn't match.
|
|-
| <code>-randprint</code>
| Prints the output of krand() functions whenever they are called.
|
|-
| <code>-mono</code>
| Enables some debug output during gameplay.
|
|-
| <code>-nosyncprint</code>
| Disables the "out-of-sync" message in multiplayer.
|
|-
|}
 
 
== Inactive Parameters ==
 
The following SW parameters are disabled, or have been removed.
 
{| {{prettytable}}
!Parameter!!Description!!Notes!!
|-
| <code>-bots</code>
| Disabled. Would have added bots to fake multiplayer games.
|
|
|-
|-
| -noautoload
| <code>-broadcast</code>
|Disable loading content from autoload dir
| Replaced by -net
|
|
|-
|-
| -nologo
| <code>-cacheprint</code>
|Skip the logo anim
| Used to print to stdout whenever a sound effect is cached/loaded.
|
|
|-
|-
| -ns<br>-nm
| <code>-de[arg]</code>
|Disable sound or music
| Demo editing? Disabled.
|
|
|-
|-
| -q#
| <code>-dt[arg]</code>
|Fake multiplayer with # (2-8) players
| Temporary demo? Disabled.
|
|
|-
|-
| -rmnet
| <code>-m </code>
|Use network config file
| Replaced by -monst.
|(OBSOLETE, see -net)
|
|-
|-
| -stun
| <code>-masterslave</code>
|Use UDP hole punching for multiplayer connections
| Replaced by -net
|
|
|-
|-
| -w
| <code>-nocdaudio</code>
|Show coordinates
| Originally disabled the Redbook music.
|
|
|-
|-
| -z#<br>-condebug
| <code>-setupfile [arg]</code>
|Enable line-by-line CON compile debugging at level #
| Originally used by setup.exe
|
|
|-
|}
|}

Latest revision as of 04:41, 7 January 2024

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 -g parameter.
  • 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 -j parameter.
  • 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:

  • [game_type]: 0=WangBang, 1=WangBang (no item respawn), 2=Coop
  • [level]: Which level should be played (0-27). No episodic separation.
  • [skill]: Skill level (0-4). (0 being "no monsters")
  • [markers]: If set to 1, will enable item respawn markers (0/1).
  • [team]: Whether WangBang is Free-For-All (0) or Team Deathmatch (1).
  • [hurtteam]: If set to 1, friendly fire is on (coop or TDM).
  • [kill]: Defines the frag limit for Commbat.
  • [time]: Index that defines the time limit, 0 being no limit. Available limits: {0,3,5,10,15,20,30,45,60} minutes.
  • [color]: Player palette value. This determines the team colors.
  • [nuke]: If 0, will replace nuke pickups with railgun ammo. (0/1)
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