Command line options: Difference between revisions
Helixhorned (talk | contribs) m fix usecwd  | 
				m Ensure VoidSW sample commands for P2P mode are listed separately, and use code tags  | 
				||
| (31 intermediate revisions by 6 users not shown) | |||
| Line 1: | Line 1: | ||
Files can be *  | = EDuke32 Parameters =  | ||
Usage: <code>eduke32 [files] [options]</code><br>  | |||
Example: <code>eduke32 nukeland.map -usecwd -cfg myconfig.cfg </code>  | |||
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>).  | |||
{| {{prettytable}}  | {| {{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.  | ||
|  | |  | ||
|-  | |-  | ||
| -s#  | | <code>-s# </code>  | ||
|Set skill level (  | | 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<br>-nosetup  | | <code>-setup</code><br><code>-nosetup</code>  | ||
|Enables/disables startup window  | |Enables/disables startup window  | ||
|[only on Windows, SDL, and/or GTK2 environments]  | |[only on Windows, SDL, and/or GTK2 environments]  | ||
|-  | |-  | ||
| -t#  | | <code>-t#</code>  | ||
|Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All  | |Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All  | ||
|  | |  | ||
|-  | |-  | ||
| -usecwd  | | <code>-usecwd</code>  | ||
|  | | Force eduke32 to read game data and configuration files from working directory.  | ||
|[  | | See also [[user_profiles_disabled]].  | ||
|-  | |-  | ||
| -u#########  | | <code>-u#########</code>  | ||
|  | | Define the weapon switch order, as a string of 10 digits.  | ||
|(  | |(Default: <code>3425689071</code>)  | ||
|-  | |-  | ||
| -v  | | <code>-v[X] -l[Y]</code>  | ||
|Warp to   | | 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.  | ||
|  | |  | ||
|}  | |||
== Multiplayer Parameters ==  | |||
Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see [https://voidpoint.io/StrikerTheHedgefox/eduke32-csrefactor/-/releases NetDuke32].  | |||
The corresponding parameters are listed here for the sake of completeness.  | |||
{| {{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}}  | |||
!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)  | |Send fewer packets in multiplayer (1, 2, 4)  | ||
|(deprecated)  | |(deprecated)  | ||
|-  | |-  | ||
| -game_dir [dir]  | | <code>-i#</code>  | ||
|  | | Use networking mode (1/0)  | ||
|  | |  | ||
|-  | |||
| <code>-nD</code>  | |||
| Dump default gamevars to gamevars.txt  | |||
|  | |||
|-  | |||
| <code>-rmnet</code>  | |||
| Use network config file.  | |||
| (OBSOLETE, see -net)  | |||
|-  | |||
| <code>-stun</code>  | |||
| Use UDP hole punching for multiplayer connections.  | |||
|  | |||
|-  | |||
|}  | |||
= 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!!  | |||
|-  | |||
| <code>-?</code><br><code>--help</code>  | |||
| Displays a help message listing the available parameters, then exits.  | |||
|  | |||
|-  | |||
| <code> -addon {0,1,2,3}</code>  | |||
| 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.  | |||
|  | |||
|-  | |||
| <code>-grp [path]</code><br><code>-g [path]</code>  | |||
| Use an extra group (or .pk3 or .zip) file to load data from.  | |||
|  | |||
|-  | |||
| <code>-game_dir [dir]</code>  | |||
| Set the directory from which to load files, which also changes where the cfg is created.  | |||
|  | |||
|-  | |||
| <code> -gamegrp [file.grp]</code>  | |||
| Defines which file to use as main grp.  | |||
|  | |||
|-  | |||
| <code>-h [file.def]</code>  | |||
| Specifies the main DEF file.   | |||
|  | |||
|-  | |||
| <code>-j [dir]</code>  | |||
|Adds a directory to Mapster32's search list.  | |||
|  | |||
|-  | |||
| <code> -mh [file.def]</code>  | |||
|Include an additional DEF module, appended after the main DEF code.  | |||
|  | |||
|-  | |||
| <code> -mx [file.con]</code>  | |||
| 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.  | |||
|  | |||
|-  | |||
| <code>-noautoload</code>  | |||
| Disables loading content from the [[autoload]] directory.  | |||
|  | |||
|-  | |||
| <code>-usecwd</code>  | |||
| 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.  | |||
|  | |||
|-  | |||
| <code>-addon#</code>  | |||
| Launch one of the expansions included in Shadow Warrior Classic Complete.  | |||
| 0 = SW v1.2,  1 = Wanton Destruction, 2 = Twin Dragon  | |||
|-  | |||
| <code>-cheat</code>  | |||
| If combined with <code>-level#</code>, starts the game with all weapons, inventory items and god mode on.  | |||
|  | |||
|-  | |||
| <code>-dr[filename]</code>  | |||
| 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.  | |||
|  | |||
|-  | |||
| <code>-level# </code>  | |||
| Load the specified level on startup (0-27).  | |||
| Does not use episodic structure unlike Duke.  | |||
|-  | |||
| <code>-map [file.map]</code>  | |||
| Launch the specified usermap.  | |||
|  | |||
|-  | |||
| <code>-mh[file.def]</code>  | |||
| Load the specified file as DEF module.  | |||
| No space between param and filename!  | |||
|-  | |||
| <code>-monst </code>  | |||
| Disables monsters.  | |||
|  | |||
|-  | |||
| <code>-movescale [val]</code>  | |||
| Adjusts the movement scale: 256 = 1 unit  | |||
|  | |||
|-  | |||
| <code>-nodemo </code>  | |||
| Disables demo playback on the title screen.  | |||
|   | |||
|-  | |||
| <code>-noinstancechecking</code>  | |||
| Prevents voidsw from checking whether another instance is already running.  | |||
|  | |||
|-  | |||
| <code>-nologo</code> <br> <code>-quick</code>  | |||
| Skip all the startup animations and logos.  | |||
|  | |||
|-  | |||
| <code>-nometers</code>  | |||
| 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.  | |||
|  | |||
|-  | |||
| <code>-turnscale [val]</code>  | |||
| Adjusts the turning scale: 256 = 1 unit  | |||
|  | |||
|-  | |||
| <code>-usecwd</code>  | |||
| 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.  | ||
|  | |  | ||
|-  | |-  | ||
| -  | |}  | ||
|Player   | |||
=== 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.  | |||
|  | |||
|-  | |||
| <code>[ip]:[port]</code> <br> <code>[hostname]:[port]</code>  | |||
| Connect to the given IP/hostname and port.   | |||
|  | |||
|-  | |||
| <code>-n0:# </code> <br> <code>-i0:#</code>  | |||
| Host a netgame in master-slave mode, expecting # players to join before launch.  | |||
|  | |||
|-  | |||
| <code>-n1</code> <br> <code>-i1</code>  | |||
| 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.  | |||
|  | |||
|-  | |||
| <code>-p#</code>  | |||
| Defines the port # to use for hosting. Valid range: 1025-65534  | |||
|  | |||
|-  | |||
|}  | |||
Usage example for 3-players game in peer-to-peer mode:  | |||
Player 1: <code>voidsw -net -n1 <hostname2:port2> <hostname3:port3></code>  | |||
Player 2: <code>voidsw -net <hostname1:port1> -n1 <hostname3:port3></code>  | |||
Player 3: <code>voidsw -net <hostname1:port1> <hostname2:port2> -n1</code>  | |||
== 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.   | |||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-coop#</code>  | ||
|  | | 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.  | |||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-broadcast</code>  | ||
|  | | Replaced by -net  | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-cacheprint</code>  | ||
|  | | Used to print to stdout whenever a sound effect is cached/loaded.   | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-de[arg]</code>  | ||
|  | | Demo editing? Disabled.  | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-dt[arg]</code>  | ||
|  | | Temporary demo? Disabled.  | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-m </code>  | ||
|  | | Replaced by -monst.  | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-masterslave</code>  | ||
|  | | Replaced by -net  | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-nocdaudio</code>  | ||
|  | | Originally disabled the Redbook music.  | ||
|  | |  | ||
|-  | |-  | ||
| -  | | <code>-setupfile [arg]</code>  | ||
|  | | Originally used by setup.exe  | ||
|  | |  | ||
|-  | |||
|}  | |}  | ||
Latest revision as of 22:09, 19 September 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-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 |