305 lines
10 KiB
Groff
305 lines
10 KiB
Groff
.TH EDUKE32 "6" "May 2009" "EDuke32 1.5.0devel 20090313" "User Commands"
|
|
.SH NAME
|
|
EDuke32 \- Enhanced Duke Nukem 3D Build engine
|
|
.SH SYNOPSIS
|
|
.B eduke32
|
|
\fI[options]\fR \fI[files]\fR
|
|
.SH DESCRIPTION
|
|
EDuke32 is a fork of the JFDuke3D port of Duke Nukem 3D (aka Duke3D),
|
|
merging it with EDuke to provide many new features for mod authors.
|
|
.PP
|
|
For normal single\-player gameplay, \fBeduke32\fR will usually be run with no
|
|
command\-line options. This will display a graphical interface
|
|
allowing the user to choose the game and options.
|
|
.SH OPTIONS
|
|
\fBeduke32\fR is sensitive to spaces between command\-line options
|
|
and their arguments. Use the spacing shown here, e.g. \fI\-l2\fR,
|
|
not \fI\-l 2\fR. Generally speaking, single\-character options may
|
|
not have a space, while multiple character options (e.g. \-cfg)
|
|
require a space.
|
|
.PP
|
|
Options may not be bundled (\fI\-rc1\fR is invalid, use \fI\-r \-c1\fR).
|
|
Options are case\-insensitive (\fI\-d\fR and
|
|
\fI\-D\fR do the same thing, e.g.)
|
|
.PP
|
|
Options marked with \fI[*]\fR are disabled when playing the shareware
|
|
version of Duke Nukem 3D.
|
|
.TP
|
|
\fB\-?\fR, \fB\-help\fR
|
|
Show the list of command line options.
|
|
.TP
|
|
\fB\-cfg\fR \fI[file.cfg]\fR
|
|
Use an alternate configuration file
|
|
.TP
|
|
\fB\-c\fR\fI#\fR
|
|
Use multiplayer mode #, where 1 = Dukematch, 2 = Coop, 3 = Dukematch (no spawn)
|
|
.TP
|
|
\fB\-d\fR\fI[file.dmo]\fR
|
|
Play a demo. By default, \fBeduke32\fR looks for \fIdemo1.dmo\fR,
|
|
\fIdemo2.dmo\fR, etc. in the \fB~/.eduke32\fR directory, and plays
|
|
them in order if they're found.
|
|
.TP
|
|
\fB\-g\fR\fI[file.grp]\fR
|
|
Use an extra group file
|
|
.TP
|
|
\fB\-h\fR\fI[file.def]\fR
|
|
Use an alternate def
|
|
.TP
|
|
\fB\-j\fR\fI[dir]\fR
|
|
Adds a directory to EDuke32's search list
|
|
.TP
|
|
\fB\-l\fR\fI#\fR
|
|
Warp to level #, see \-v
|
|
.TP
|
|
\fB\-map\fR \fI[file.map]\fR
|
|
\fI[*]\fR Loads a map
|
|
.TP
|
|
\fB\-m\fR
|
|
Disable monsters
|
|
.TP
|
|
\fB\-nam\fR
|
|
Run in NAM\-compatible mode
|
|
.TP
|
|
\fB\-ww2gi\fR
|
|
Run in WW2GI\-compatible mode
|
|
.TP
|
|
\fB\-net\fR, \fB\-n\fR, \fB\-p\fR
|
|
Networked multiplayer options (see \fBNETWORK PLAY\fR, below)
|
|
.TP
|
|
\fB\-r\fR
|
|
Record demo. The output file will be \fB~/.eduke32/demo1.dmo\fR
|
|
(or demo2.dmo if demo1.dmo already exists, or demo3.dmo if 1 and
|
|
2 both exist). Unfortunately, there's no way to specify the filename
|
|
to record to, and no way to find out from eduke32's log file or
|
|
standard output/error messages. Try "ls -t ~/.eduke32/*.dmo | head -1".
|
|
.TP
|
|
\fB\-s\fR\fI#\fR
|
|
Set skill level (1\-4)
|
|
.TP
|
|
\fB\-setup\fR, \fB\-nosetup\fR
|
|
Enables/disables startup window
|
|
.TP
|
|
\fB\-t\fR\fI#\fR
|
|
Set respawn mode: 1 = Monsters, 2 = Items, 3 = Inventory, x = All
|
|
.TP
|
|
\fB\-usecwd\fR
|
|
Read game data and configuration file from working directory
|
|
.TP
|
|
\fB\-u\fR\fI#########\fR
|
|
User's favorite weapon order (default: 3425689071)
|
|
.TP
|
|
\fB\-v\fR\fI#\fR
|
|
\fI[*]\fR Warp to volume #, see \-l
|
|
.TP
|
|
\fB\-x\fR\fI[game.con]\fR
|
|
Load custom CON script
|
|
.TP
|
|
\fB\-\fR\fI#\fR
|
|
Load and run a game from slot # (0\-9)
|
|
.SS Debug Options
|
|
The following options are considered debugging options, but may be
|
|
useful for general play.
|
|
.TP
|
|
\fB\-a\fR
|
|
Use fake player AI (fake multiplayer only; \fB\-q\fR required)
|
|
[yes, this means eduke32 has bots]
|
|
.TP
|
|
\fB\-cachesize\fR \fI#\fR
|
|
Sets cache size, in Kb (default: 32768)
|
|
.TP
|
|
\fB\-f\fR\fI#\fR
|
|
Send fewer packets in multiplayer (1, 2, 4) (deprecated)
|
|
.TP
|
|
\fB\-game_dir\fR \fI[dir]\fR
|
|
Duke3d_w32 compatibility option, see -j
|
|
.TP
|
|
\fB\-gamegrp\fR
|
|
Selects which file to use as main grp
|
|
.TP
|
|
\fB\-i\fI#\fR
|
|
Use networking mode (1/0) [appears to be the same as \fB\-n\fR?]
|
|
.TP
|
|
\fB\-name\fR \fI[name]\fR
|
|
Player name in multiplay
|
|
.TP
|
|
\fB\-nD\fR
|
|
Dump default gamevars to gamevars.txt
|
|
.TP
|
|
\fB\-noautoload\fR
|
|
Disable loading content from autoload dir [e.g. to disable
|
|
the High Resolution Pack]
|
|
.TP
|
|
\fB\-nologo\fR
|
|
Skip the logo animation
|
|
.TP
|
|
\fB\-ns\fR
|
|
Disable sound
|
|
.TP
|
|
\fB\-nm\fR
|
|
Disable music
|
|
.TP
|
|
\fB\-q\fR\fI#\fR
|
|
Fake multiplayer with # (2-8) players (with \fB\-a\fR, the other
|
|
players are "bots"; without it, they stand there like punching bags).
|
|
.TP
|
|
\fB\-rmnet\fR
|
|
Use network config file (OBSOLETE, see -net)
|
|
.TP
|
|
\fB\-stun\fR
|
|
Use UDP hole punching for multiplayer connections
|
|
.TP
|
|
\fB\-unstable\fR
|
|
Force EDuke32 to execute unsafe CON commands (and crash)
|
|
.TP
|
|
\fB\-w\fR
|
|
Show coordinates
|
|
.TP
|
|
\fB\-z\fR\fI#\fR
|
|
Enable line-by-line CON compile debugging at level #
|
|
.TP
|
|
\fB\-condebug\fR \fI#\fR
|
|
Equivalent to \fB\-z1\fR
|
|
.SH NETWORK PLAY
|
|
Multiplayer games are started via command-line parameters passed to
|
|
\fBeduke32\fR This is a short guide to getting a multiplayer game running
|
|
between these three hypothetical computers:
|
|
.PP
|
|
.nf
|
|
Host name IP address
|
|
faye 192.168.1.2
|
|
asuka 192.168.1.5
|
|
kaoru 192.168.1.6
|
|
.fi
|
|
.PP
|
|
Keep in mind that the networking features are still being refined and
|
|
there are certain issues and caveats to be aware of when using it. The
|
|
basic syntax of the network command line is like so:
|
|
.PP
|
|
\fBeduke32\fR \fI(normal game parameters)\fR \fB\-net\fR \fI(network parameters)\fR
|
|
.SS Network parameters
|
|
.TP
|
|
\fB\-n\fR\fIx\fR:\fIy\fR
|
|
Game comm type. x = 0 for master/slave or 1 for peer-to-peer.
|
|
If unspecified, y defaults to 2. For more than two players in a
|
|
master-slave game, you have to indicate the number on the master. eg:
|
|
\-n0 or \-n0:4
|
|
.TP
|
|
\fB\-p\fR\fIx\fR
|
|
Overrides the default port (23513) with x being the new port value.
|
|
.TP
|
|
\fBaddress:port\fR
|
|
An address of a machine. See the items below for more information.
|
|
.SS Master/Slave mode
|
|
This mode is the easiest mode for use with Internet play since it requires
|
|
only the address of the master of the game (the person hosting the game)
|
|
be specified by each slave who joins. Here are example command lines each
|
|
machine must run to join the game hosted by the machine named 'asuka':
|
|
.PP
|
|
\fIuser@asuka$\fR eduke32 \-net \-n0:3
|
|
.br
|
|
\fIuser@faye$\fR eduke32 \-net \-n0 192.168.1.5
|
|
.br
|
|
\fIuser@kaoru$\fR eduke32 \-net \-n0 192.168.1.5
|
|
.SS Peer-to-peer mode
|
|
This mode is often useful for playing on a LAN where it is easier to
|
|
coordinate and organise the order of peers in the game. This mode will
|
|
become simpler to set up in the future but for now this is how to do
|
|
it. Peer-to-peer mode requires each machine specify the addresses of
|
|
each other machine in the game in the same order, but indicating its
|
|
own position in the sequence with the \-n1 option.
|
|
.PP
|
|
\fIuser@asuka$\fR eduke32 \-net \-n1 192.168.1.2 192.168.1.6
|
|
.br
|
|
\fIuser@faye$\fR eduke32 \-net 192.168.1.5 \-n1 192.168.1.6
|
|
.br
|
|
\fIuser@kaoru$\fR eduke32 \-net 192.168.1.5 192.168.1.2 \-n1
|
|
.SS Addresses and ports
|
|
The networking code is capable of resolving
|
|
DNS names to their corresponding addresses, so if your network
|
|
is configured with such services, instead of having to specify raw IP
|
|
addresses, you can give the computer's DNS host name. (Actually,
|
|
the standard system resolver is used, so things like \fB/etc/hosts\fR
|
|
or NIS should work fine, as well).
|
|
.PP
|
|
The default port the game communicates on is 23513. Some users may find it
|
|
necessary to set up a forward through their Internet firewall in order to
|
|
get games working when playing across the Internet. You can override the
|
|
default port via the \-p??? switch where ??? is the new port number. If
|
|
a master is running a game on a port other than the default, the slaves
|
|
will have to specify the alternative port with address:port notation,
|
|
eg. 192.168.1.5:20000
|
|
.SH FILES
|
|
.TP
|
|
\fBduke3d.grp\fR
|
|
The primary game data file, containing all the game graphics, art, sound,
|
|
music, levels, etc. \fI*.grp\fR files will be searched for in both
|
|
\fB/usr/libexec/eduke32/eduke32\fR and \fB~/.eduke32\fR. The startup menu
|
|
offers the user a choice of games under the "Game" tab, if multiple .grp
|
|
files are found. .grp files are checksummed; if yours doesn't appear
|
|
in the menu, it's probably not recognized due to an invalid checksum
|
|
(either the file is damaged, or it came from a pirated/hacked/modified
|
|
copy of the game).
|
|
.TP
|
|
\fB/usr/games/eduke32\fR
|
|
Shell script wrapper, to make the eduke32 binary appear to work more
|
|
like a standard Linux program.
|
|
.TP
|
|
\fB/usr/libexec/eduke32/eduke32\fR
|
|
The actual game binary. Called by the shell script wrapper.
|
|
.TP
|
|
\fB/usr/share/games/eduke32\fR
|
|
System\-wide game data. The High Resolution Pack is normally installed
|
|
in \fB/usr/share/games/eduke32/autoload/duke3d.grp/\fR. The last
|
|
directory name must match the .grp filename.
|
|
.TP
|
|
\fB~/.eduke32\fR
|
|
Per\-user game data, config files, savegames, and logs.
|
|
.SS ~/.eduke32 Contents
|
|
.TP
|
|
\fBeduke32.cfg\fR
|
|
Main config file. Normally not edited directly; use the in\-game
|
|
menus instead.
|
|
.TP
|
|
\fBeduke32_binds.cfg\fR
|
|
Key bindings; created by the in\-game setup menu.
|
|
.TP
|
|
\fBtextures\fR, \fBtextures.cache\fR
|
|
The texture cache.
|
|
.TP
|
|
\fBegam\fR\fI#\fR\fB.sav\fR
|
|
Saved games. \fI#\fR is a number between 0 and 9.
|
|
.SH LIMITATIONS
|
|
Because of its DOS/Windows heritage, the \fBeduke32\fR binary expects to
|
|
find its config files, savegames, etc. in the current directory from
|
|
which it was run (in fact, it expects to be able to write to the
|
|
current directory). To make it behave in a more UNIX\-like way, the actual
|
|
binary is called by a wrapper script, which creates and chdirs to a \fB~/.eduke32/\fR
|
|
directory, and runs the real binary.
|
|
This means that any options that take filenames (such as \fB\-map\fR
|
|
or \fB\-cfg\fR) treat them as relative paths from the \fB~/.eduke32/\fR
|
|
directory, \fBnot\fR the directory from which the wrapper script was
|
|
called.
|
|
.PP
|
|
In addition, most of the options that take filenames don't seem to
|
|
accept anything but a simple filename with no absolute or relative path
|
|
components. This means that e.g. demo files to be played back with
|
|
the \fB\-d\fR option \fImust\fR reside in the \fB~/.eduke32/\fR
|
|
directory.
|
|
.PP
|
|
It's also worth mentioning here that the game will not abort in case of
|
|
errors in command\-line syntax (e.g. nonexistent option, or extra
|
|
space between options and argument) or semantics (e.g. trying to warp
|
|
to non\-existent level with \-l). If you're trying to use
|
|
any of the options described here and they don't seem to work, check
|
|
your typing: many typos won't even cause a warning to be printed in
|
|
the game's debugging output.
|
|
.SH AUTHORS
|
|
The Build engine was originally written by Ken Silverman
|
|
.PP
|
|
EDuke32 includes code by many authors, including Richard Gobeille
|
|
and Jonathan Fowler.
|
|
.PP
|
|
Duke Nukem 3D is copyrighted by 3DRealms, Inc.
|
|
.PP
|
|
This man page was written by B. Watson, for the SlackBuilds.org project.
|