Command line arguments

This document describes the command line arguments of Outgun. Most of the arguments aren’t normally needed. If you are an advanced user and are running a server, you might want to learn about the server settings (most of which can better be set in the gamemod) and miscellaneous arguments, to better set up your server. Also less advanced users might want to run a dedicated server.

Arguments are case sensitive, and don’t accept ‘/’ instead of ‘-’. Those arguments that have a value associated with them, need to be followed by a space and the value. For example,outgun -ded -port 25001 -priv
is a valid command line.

This document applies to Outgun 1.0. There are many differences to older versions, and they aren’t documented here. See the Custom.bat that comes with version 0.5.0-E for an overview of its arguments.

Contents

Server settings

-ded

Run a dedicated server. The server starts in an independent small window or even without a window. No memory is used to load the client with its menus, sounds, and graphics. Also, no keypresses are needed to start the server – it’s running right away. If you want to play on your server, you will have to start another instance of Outgun without -ded, and the server will continue running even after the client is closed.

-nowindow

Make the server not open a window. This argument has effect only when combined with -ded. In Windows, a window title bar is created but nothing more. In Unix-like systems (Linux) there are no graphical elements, but instead the server dumps its status line to the console periodically. A deprecated alias of -nowindow is -text.

-priv

Make the server private. It will not be posted on the master list. Use it if you don’t want random players entering the server. For a dedicated server, this overrides the gamemod setting private_server; otherwise it unsets the “add to public serverlist” option in the local server menu which has the same effect.

-public

Make the server public. It will be posted on the master list. For a dedicated server, this overrides the gamemod setting private_server; otherwise it sets the “add to public serverlist” option in the local server menu which has the same effect.

-maxp

Range

an even number between 2 and 32

Default

16

Set the maximum number of players accepted to the server at once. This only has effect if the gamemod setting max_players is not set.

-port

The UDP port the server is run in. If you want to run multiple servers at once, you have to set a different port for each server. For dedicated servers, this overrides the gamemod setting server_port; otherwise it sets the “server port” setting in the local server menu which has the same effect.

-sport

Range

1 to 65535, ‘:’, 1 to 65535

Default

1:65535

Select the range of UDP ports for the server to use dynamically for client communication. The argument is the first port and the last port separated by a colon (‘:’). The purpose of this setting is to limit the range of ports so that those ports can be let through a firewall; this is needed if outbound traffic is filtered. You should reserve enough ports for this: some more than the maximal number of players. If the ports run out, additional clients can’t connect and to them the server just seems to not respond at all.

-ip

The server IP address that is sent to the master server for server listing purposes. Do not specify a port here, use -port for that. Only use this if your server doesn’t appear on the master list without. To determine what to put here, check whatismyip.com which will hopefully show your public IP address. For dedicated servers, this overrides the gamemod setting server_ip; otherwise it sets the “IP address” setting in the local server menu which has the same effect.

-unsafeserver

Enable threading in the server. There is a multitude of places in the server code where this is not perfectly safe, but running into problems is not frequent. Nevertheless, if you use this switch, you might have unexpected problems at random intervals. This is the way the Outgun server has always been in the previous versions, but 1.0 is slightly less tolerable to it. If you have problems with this option, please don’t report them as bugs. We are not sure if enabling this actually helps at all, but it is possible. If you have a slow computer (probably so slow that you can’t sensibly run the Outgun client in it) or a heavy load, and are having performance problems with the Outgun server, you might want to try this switch, but remove it if it doesn’t help.

Client rescue settings

The primary use for these settings is recovering from a situation where Outgun is stuck with a graphics mode it thinks works, but which doesn’t really work so you can’t see the menu and change it back. Hopefully, with a combination of these settings you can restore a working mode. When there’s no existing configuration, Outgun uses the equivalent of -win -defmode, so if the graphics worked when it was first run, that should cure it.

-win

Force Outgun to choose a windowed mode.

-fs

Force Outgun to choose a full screen mode.

-dbuf

Force Outgun to use double buffering instead of page flipping.

-flip

Force Outgun to use page flipping.

-defmode

Force Outgun to use the default graphics mode, which is 640×480 (or the smallest available mode if that is not available) with the desktop color depth.

-nosound

Disable sound. This is mostly useful if Outgun crashes at startup because of sound driver problems, since otherwise you can disable sound in the menu.

Miscellaneous

In addition to the settings listed here, there is the -fps setting, but it’s hard to imagine a use for it since it can be set in the menu.

-info

Get information about possible values for -prio and Outgun’s idea about your IP addresses.

-defaultprio

Using -defaultprio is equal to looking up the system default priority in the -info output, and using it with -prio. Basically that means that every thread in Outgun has the same priority as any non-prioritized processes. It is not recommended, as it will grow your ping and if you’re running a server, grow every player’s ping; the benefit for other processes is questionable.

-prio

Set the priority Outgun uses. Outgun has three different kinds of threads in both server and client side: client–server networking threads, low priority background threads and regular threads. Of these, the background threads as well as client side regular threads are always given the system default priority. The remaining threads (networking threads and server side regular threads) are critical for player pings and therefore quality of play. Their priority is set by this argument. It should never be less than the system default, but you can experiment if you feel the Outgun default (maximum priority minus 1) bothers other applications. Run with -info to find out the range and defaults on your machine.

-suppressmessages

Prevent Outgun from using message boxes which wait for the user to click OK. That way, assertion messages and others are only output to the console and saved in log/suppressed_messages.txt for future reference. This is useful if you’re running an unadministered dedicated server with a script automatically restarting it when it dies. That way, bugs in Outgun don’t keep the server down for more than is necessary. Just make sure that with some interval, you check the logs so that any errors can be fixed.

-debug

Range

0 to 2

Default

2 in beta versions, 0 otherwise

Set the level of detail for the log files Outgun creates. If the level is set to 2, all possible logs are created. This is useful in case there’s a bug: the logs can be used in finding the problem. With level 1, leetnet data logs (which contain all player–server network traffic) aren’t created. This saves a lot of disk space but removes a great aid to debugging. Level 0 disables leetnet textual logs too, again saving space. They aren’t useful in debugging very often, so the most sensible choices are 0 and 2. The more regular logs can’t be disabled, but if you absolutely need the last bit of space and are running a server for such a long time that it does create too much logs, you could set up a script to periodically remove the log files. Note that all the large-growing logs that can’t be disabled, are cleared when the server is started.

-cport

Range

1 to 65535, or 1 to 65535, ‘:’, 1 to 65535

Default

1:65535

Select a range of UDP ports for the client to use. It may be useful to limit the ports to one or a few so that those ports can be let through a firewall or forwarded over a NAT, although most firewalls and NATs work fine without this setting. In order for the setting to help, you need to alter the firewall/NAT configuration too. To choose more than one port to enable running many instances of Outgun, use as value the first port and the last port separated by a colon (‘:’).

-mappic

Activate the special map picture saving mode. Outgun will create a directory ‘mappic’ and store there a map picture (in PCX format) for each map in the maps directory. The pictures are named after the map files, with the extension .pcx. Their size depends on the map size: every room is assigned 60×45 pixels. -mappic can not be combined with any other options.