Command line options: Difference between revisions

From EDukeWiki
Jump to navigation Jump to search
NY00123 (talk | contribs)
m Ensure VoidSW sample commands for P2P mode are listed separately, and use code tags
 
(7 intermediate revisions by 2 users not shown)
Line 89: Line 89:
| <code>-noautoload</code>
| <code>-noautoload</code>
| Disables loading content from the [[autoload]] directory.
| Disables loading content from the [[autoload]] directory.
|
|-
| <code>-nocontroller</code>
| Completely disable controller support.
|
|
|-
|-
| <code>-nodinput</code>
| <code>-nodinput</code>
| Disable DirectInput (joystick) support.
| Disable DirectInput (controller) support. (Windows)
|
|-
| <code>-noxinput</code>
| Disable XInput (controller) support. (Linux)
|
|
|-
|-
Line 158: Line 166:
== Multiplayer Parameters ==
== Multiplayer Parameters ==


Note: Multiplayer is currently non-functional in mainline eduke32. For a working implementation, see [https://voidpoint.io/StrikerTheHedgefox/eduke32-csrefactor/-/releases EDuke32-OldMP].
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.
The corresponding parameters are listed here for the sake of completeness.
Line 368: Line 376:
|
|
|-
|-
| <code> -addon# </code>
| <code>-addon#</code>
| Launch one of the expansions included in Shadow Warrior Classic Complete.
| Launch one of the expansions included in Shadow Warrior Classic Complete.
| 0 = SW v1.2,  1 = Wanton Destruction, 2 = Twin Dragon
| 0 = SW v1.2,  1 = Wanton Destruction, 2 = Twin Dragon
|-
|-
| <code> -setup </code> <br> <code>-nosetup</code>
| <code>-cheat</code>
| Enable/Disable the setup dialog.
| If combined with <code>-level#</code>, starts the game with all weapons, inventory items and god mode on.
|
|
|-
|-
| <code>-nologo</code> <br> <code>-quick</code>
| <code>-dr[filename]</code>
| Skip all the startup animations and logos.
| 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>
| <code>-j [dir]</code>
Line 384: Line 408:
|
|
|-
|-
| <code>-turnscale [val]</code>
| <code>-level# </code>
| Adjusts the turning scale: 256 = 1 unit
| 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.
|
|
|-
|-
Line 391: Line 427:
| Adjusts the movement scale: 256 = 1 unit
| Adjusts the movement scale: 256 = 1 unit
|
|
|-
| <code>-extcompat </code>
| Controller compatibility mode. Multiplies movescale and turnscale by 5.
|
|-
|-
| <code>-nodemo </code>
| <code>-nodemo </code>
Line 400: Line 432:
|  
|  
|-
|-
| <code>-monst </code>
| <code>-noinstancechecking</code>
| Disables monsters.
| Prevents voidsw from checking whether another instance is already running.
|
|
|-
|-
| <code>-level# </code>
| <code>-nologo</code> <br> <code>-quick</code>
| Load the specified level on startup (0-27).
| Skip all the startup animations and logos.
| Does not use episodic structure unlike Duke.
|
|-
| <code>-s# </code>
| Defines the skill level (1-4).
|  
|-
|-
| <code>-nometers</code>
| <code>-nometers</code>
Line 416: Line 444:
|  
|  
|-
|-
| <code>-cheat</code>
| <code>-s# </code>
| If combined with <code>-level#</code>, starts the game with all weapons, inventory items and god mode on.
| Defines the skill level (1-4).
|
|  
|-
|-
| <code>-map [file.map]</code>
| <code>-setup </code> <br> <code>-nosetup</code>
| Launch the specified usermap.
| Enable/Disable the setup dialog.
|
|
|-
|-
| <code>-g[file.grp]</code>
| <code>-turnscale [val]</code>
| Load the specified GRP or ZIP file as main data.
| Adjusts the turning scale: 256 = 1 unit
| 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>-mh[file.def]</code>
| Load the specified file as DEF module.
| No space between param and filename!
|-
| <code>-noinstancechecking</code>
| Prevents voidsw from checking whether another instance is already running.
|
|
|-
|-
| <code>-dr[filename]</code>
| <code>-usecwd</code>
| Records a demo with the given filename. Requires the <code>-level#</code> parameter to also be set.
| Force VoidSW to read game data and configuration files from working directory.
| No space between param and filename!
| See also [[user_profiles_disabled]].
|-
| <code>-dp[filename]</code>
| Starts playback of the given demo file.
| No space between param and filename!
|-
|-
|}
|}
Line 474: Line 486:
| Example Use: <code> -autonet 0,0,1,1,1,0,3,2,1,1 </code>
| Example Use: <code> -autonet 0,0,1,1,1,0,3,2,1,1 </code>
|-
|-
| <code> -short </code>
| <code>-col #</code>
| Divides the frag limit by 10 and halves the time limit.
| 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>
| <code>-name [pname]</code>
| Sets the connecting player's name to the given value.
| Sets the connecting player's name to the given value.
|  
|  
|-
| <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>-nopredict</code>
| <code>-nopredict</code>
Line 490: Line 502:
|
|
|-
|-
| <code>-col #</code>
| <code>-short </code>
| Forces the player palette for joining players.  
| Divides the frag limit by 10 and halves the time limit.
| Workaround because <code>-autonet</code> fails to do so.
|
|-
|-
|}
|}
Line 506: Line 518:
|-
|-
| <code>-net</code>
| <code>-net</code>
| Required to set the parameters listed below.
| Required to use the parameters listed below.
|
|
|-
|-
| <code>[ip]:[port]</code> <br> <code>[hostname]:[port]</code>
| <code>[ip]:[port]</code> <br> <code>[hostname]:[port]</code>
| Connect to the given IP/hostname and port. If omitted, will instead host the game.  
| Connect to the given IP/hostname and port.  
|
|
|-
|-
| <code>-p#</code>
| <code>-n0:# </code> <br> <code>-i0:#</code>
| Defines the port # to use for hosting. Valid range: 1025-65534
| Host a netgame in master-slave mode, expecting # players to join before launch.
|
|
|-
|-
| <code>-N0:# </code> <br> <code>-I0:#</code>
| <code>-n1</code> <br> <code>-i1</code>
| Launch a netgame in master-slave mode, expecting # players to join before launch.
| 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>-N1</code> <br> <code>-I1</code>
| <code>-p#</code>
| Launch a netgame in peer-to-peer mode.
| 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 &lt;hostname2:port2&gt; &lt;hostname3:port3&gt;</code>
Player 2: <code>voidsw -net &lt;hostname1:port1&gt; -n1 &lt;hostname3:port3&gt;</code>
Player 3: <code>voidsw -net &lt;hostname1:port1&gt; &lt;hostname2:port2&gt; -n1</code>


== Debug Parameters ==
== Debug Parameters ==
Line 534: Line 554:
!Parameter!!Description!!Notes!!
!Parameter!!Description!!Notes!!
|-
|-
| <code>-debug </code>
| <code>-allsync </code>
| Only enabled for DEBUG builds. Shows debug help options.
| Sets sync bytes to 8 outside of demo recording. (purpose?)
|  
|  
|-
|-
| <code>-ddr[filename]</code>
| <code>-cam</code>
| Records a demo in debug mode with the given filename. Requires the <code>-level#</code> parameter to also be set.
| Enables camera view during normal gameplay, as if a demo recording is playing.
|  
|  
|-
|-
Line 549: Line 569:
| Enables fake coop with the specified number of players.  
| Enables fake coop with the specified number of players.  
|-
|-
| <code>-allsync </code>
| <code>-debug </code>
| Sets sync bytes to 8 outside of demo recording. (purpose?)
| Only enabled for DEBUG builds. Shows debug help options.
|  
|  
|-
|-
| <code>-demosyncrecord </code>
| <code>-debugactor</code>
| Sets sync bytes to 8, records demo sync information to a file.
| Disables all monsters. (same as <code>-monst</code>)
|  
|  
|-
|-
| <code>-demosynctest</code>
| <code>-debuganim</code>
| Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn't match.  
| Disables all animations.
|  
|  
|-
|-
| <code>-randprint</code>
| <code>-debugpanel</code>
| Prints the output of krand() functions whenever they are called.
| Disables panel update. (?)
|
|-
| <code>-cam</code>
| Enables camera view during normal gameplay, as if a demo recording is playing.
|  
|  
|-
|-
Line 573: Line 589:
|  
|  
|-
|-
| <code>-debugactor</code>
| <code>-debugsector</code>
| Disables all monsters. (same as <code>-monst</code>)
| Disables sector movement.
|  
|  
|-
|-
| <code>-debuganim</code>
| <code>-debugso</code>
| Disables all animations.
| Disables sector objects.
|  
|  
|-
|-
| <code>-debugsector</code>
| <code>-ddr[filename]</code>
| Disables sector movement.
| Records a demo in debug mode with the given filename. Requires the <code>-level#</code> parameter to also be set.
|  
|  
|-
|-
| <code>-debugso</code>
| <code>-demosyncrecord </code>
| Disables sector objects.
| Sets sync bytes to 8, records demo sync information to a file.
|  
|  
|-
|-
| <code>-debugpanel</code>
| <code>-demosynctest</code>
| Disables panel update. (?)
| Sets sync bytes to 8, reads previously recorded demo sync information and errors out if demo playback doesn't match.  
|  
|  
|-
|-
| <code>-nosyncprint</code>
| <code>-randprint</code>
| Disables the "out-of-sync" message in multiplayer.
| Prints the output of krand() functions whenever they are called.
|  
|  
|-
|-
| <code>-mono</code>
| <code>-mono</code>
| Enables some debug output during gameplay.
| Enables some debug output during gameplay.
|
|-
| <code>-nosyncprint</code>
| Disables the "out-of-sync" message in multiplayer.
|  
|  
|-
|-
Line 611: Line 631:
!Parameter!!Description!!Notes!!
!Parameter!!Description!!Notes!!
|-
|-
| <code>-setupfile</code>
| <code>-bots</code>
| Originally used by setup.exe
| Disabled. Would have added bots to fake multiplayer games.
|
|
|-
|-
| <code>-masterslave</code>
| <code>-broadcast</code>
| Replaced by -net
| Replaced by -net
|
|
Line 623: Line 643:
|
|
|-
|-
| <code>-broadcast</code>
| <code>-de[arg]</code>
| Replaced by -net
| Demo editing? Disabled.
|
|-
| <code>-dt[arg]</code>
| Temporary demo? Disabled.
|
|
|-
|-
| <code>-de</code>
| <code>-m </code>
| Demo editing. Disabled.
| Replaced by -monst.
|
|
|-
|-
| <code>-bots</code>
| <code>-masterslave</code>
| Disabled. Would have added bots to fake multiplayer games.
| Replaced by -net
|
|
|-
|-
Line 639: Line 663:
|
|
|-
|-
| <code>-m </code>
| <code>-setupfile [arg]</code>
| Replaced by -monst.
| 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 -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