Command line options: Difference between revisions
| No edit summary | m Ensure VoidSW sample commands for P2P mode are listed separately, and use code tags | ||
| (17 intermediate revisions by 4 users not shown) | |||
| Line 1: | Line 1: | ||
| = 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!! | ||
| |- | |- | ||
| | -addon  | | <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 | | 0 = none, 1 = Duke it out in D.C., 2 = Duke: Nuclear Winter, 3 = Duke Caribbean: Life's a Beach | ||
| |- | |- | ||
| | - | | <code>-cachesize [size]</code> | ||
| |Use an alternate configuration file | |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) | ||
| |- | |- | ||
| | - | | <code>-i#</code> | ||
| | | | Use networking mode (1/0) | ||
| | | | | ||
| |- | |- | ||
| | - | | <code>-nD</code> | ||
| | | | Dump default gamevars to gamevars.txt | ||
| | | | | ||
| |- | |- | ||
| | - | | <code>-rmnet</code> | ||
| |Use  | | 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. | |||
| | | |||
| |- | |||
| |} | |||
| === 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 23: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 -autonetfails 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 | 
