Descent III

Server Config
This file is intended to be a consolidated help file for Descent 3 servers and to aid Midnight Squadron members in the commands and switches useful in the game. It constitutes an origional compilation work and can not be copi...Aww hell, give to anyone you want. Just EMail [MS]Testiculese if you want to add to, or change it, ok? Thanks & I hope it helps you out.   [MS]1Tech, [MS]Testiculese

 
Title of Contents:
     A.) Descent Command Line Switches
     C.) Dedicated Server Command List
     B.) Dedicated Server Configuration File Command
     D.) Dedicated Server Setup Recommendations


A.) Descent Command Line Switches
Use these parameters to turn on or off certain features of Descent III. To use, click setup from the launch menu. Enter these commands under the 'optional D3 command-line Switches' box in the 'Misc.' tab. Seperate multiple Commands with a space. All commands start with a dash "-". Also note that you can create a shortcut on your desktop to main.exe, and use any of these commands in that shortcut, and bypass the Launch menu entirely! To do so, create a blank shortcut and fill in the Target field with '[path]\main.exe -launched' where [path] is the location where main.exe is installed. You need '-launched' to allow main.exe to start. Then add all of the other command line options you wish. For example, my shortcut has this as the Target: C:\Games\Descent\Descent3\main.exe -launched -pilot [MS]Testiculese -framecap 250 -nointro -nooutragelogo -playermessages -nosparkles

Controls
 -alternatejoy  - Causes DirectInput to be used for the joystick or other game controller, instead of standard Windows API. Some joysticks need this option to work with Descent 3.
-chpro  - Enables a CH Flightstick Pro or compatible joystick.
-directinput  - Causes DirectInput to be used for the joystick or other game controller, instead of standard Windows API. Some joysticks need this option to work with Descent 3.
-deadzone0 [k]
-deadzone1 [k]
  - Specifies the size of the deadzone for a joystick. k is a value from 0.0 to 0.5 sets the deadzone to the specified fraction of the total joystick range. -deadzone0 sets the first joystick and -deadzone1 sets the second. For example, '-deadzone0 0.2' sets the deadzone for joystick 0 to 20% of its total range.
-invertmouseslide  - Undocumented -
-mlooksens [scale]  - Determines how much the player moves when the mouse is moved. The default value is 9.1; smaller values give more precision.
-mouseman  - Enables special handling for the Logitech MouseMan.
-mousesens  - 
-rjoy  - Undocumented -
-rocknride  - Undocumented -
-useseconddevice  - Undocumented -
 
Rendering
 -aspect [value]  - Specifies the screen aspect ratio for non-standard displays, such as wide-screen TVs. The aspect value is the width of the screen divided by the height, so if you want to play Descent 3 on a 16:9 wide-screen TV, use '-aspect 1.78'.
-bumped  - Enables hardware bump-mapping on cards that support it, such as the Matrox G400.
-direct3d  - Undocumented -
-forcelightmaps  - Forces the use of lightmaps, even the Default Detail Level is set to Low in the launcher setup.
-forcestatelimited  - Undocumented -
-framecap [fps]  - Limits the framerate to the number of frames per second specified. Descent 3 defaults to a cap of 50 FPS. To remove the cap, use the command-line option "-framecap 999". I use 90 and have vertical sink enabled with my resolution in screen properties set at 60 hz. This results in a constant 60 frames per second.
-glide  - Undocumented -
-height [height]  - Sets the screen resolution to the specified height, if possible.
-highvidmem  - Causes 2 MB Voodoo 1 cards to behave as if they had more memory. This will increase visual quality but may cause framerate problems. This option has no effect if you use OpenGL or Direct3D.
-himem  - Forces normal operations even when low memory conditions are detected.
-limitframe  - Undocumented -
-lowmem  - Uses scaled-down textures and lower quality (8-bit) sounds to conserve memory.
-motionblur  - Undocumented -
-nocompress  - Turns off S3TC texture compression for cards that support it (such as the Savage3D and Savage4). Texture compression is on by default for these cards.
-nolightmaps  - Disables lightmaps. This will improve performance on low-end video cards.
-nomotionblur  - Disables motion blur on robots (Pentium III only).
-nomultitexture  - Disables single-pass multitexturing. This option could fix problems due to buggy drivers on future video cards.
-nooutdoorfog  - Disables fog on the terrain under Direct3D. This may improve performance on some cards.
-norenderwindows  - Causes all windows to be fully transparent. Use this option if your card does not correctly render partially-tranparent windows.
-nosparkles  - Disables powerup sparkles (Pentium III only). I use this one.. they are distracting anyway...
-opengl  - Undocumented -
-subpixelcorrect  - Adjusts for subpixel correction under Direct3D for cards that do not support it. You can tell if subpixel correction is not supported if your main menu initially has lines in it like a tic-tac-toe board.
-superlowmem  - Uses the '-lowmem' settings and further scales down textures to conserve memory.
-vsync  - Turns on Vertical Sync. The flag will be enabled in the registry so it will be on when the game is run again.
-width [width]  - Sets the screen resolution to the specified width, if possible.
-z32bit  - Enables the 32-bit z-buffer on cards that support it, such as the Matrox G400.
 
Sound
 -nomusic  - Disables music.
-nosound  - Disables all sound, including music.
 
Network
-httpproxy [addr]
-httpproxy [addr:port]
  - Specifies an HTTP proxy server. Descent 3 uses HTTP to auto-download a mission; use this option if your ISP requires the use of a proxy server for HTTP connections. If the first form is used, the port value defaults to 80.
-nonetwork  - Disables all network multiplayer functionality.
-timeout  - Undocumented -
-tcplog  - Undocumented -
 
Dedicated server
-audiotauntdelay [time]  - Sets the time in seconds the a user must wait after sending an audio taunt before he or she is able to send another. This option is only active when starting a server.
-dedicated [dedi.cfg]  - Where [dedi.cfg] is the dedicated server configuration file. Starts a dedicated server.
-doonelevel  - 
-gamespyport [port]  - Specifies a port for to listen for GameSpy requests. The default is 20142.
-gspyfile [config file]  - Specifies a GameSpy configuration file to use (default is gamespy.cfg)
-nomultibmp  - Disables sending or receiving in-game custom bitmaps for ships (Shuts off ship logos and Audio taunts). This switch also prevents dedicated servers from crashing every 4 to 5 hours!!! I Always use this on my dedicated server!
-quitongoal  - Shuts down the server after either Kill goal or Time goal has been reached.
-setdir [path]  - Specifies the working directory for Descent 3.
-tempdir [path]  - The D3 temporary directory (custom/cache) can now only be used by one process at a time. When running multiple Games of Descent 3 on the same machine, use the -tempdir command-line option to specify an alternative directory for each game.
-useexedir  - Tells Descent 3 to use the directory in which the executable is located as the working directory.
-useip [IP]  - Binds Descent 3 to this IP address. Use this option to tell D3 which IP address to use if your computer has multiple IP addresses.
-useport [port]  - Specifies the port that TCP/IP and IPX will use. The default is 2092. Alternately you can use the useport line in a dedicated server config file.
-autoexec [file]  - Specifies the the full path and file name of the multiplayer config file (eg., autoexec.dmfc) to be loaded and executed when a multiplayer game is initialized. This is useful when running more than one dedicated server on one machine.
-fastdemo  - Causes a demo to play back at the highest speed your computer is capable of, and to display some performance information when it's done. This one enables the "play demo" option on the play screen. I always use this one.
-makemovie  - Causes the demo system to save a screenshot of every frame during playback. These saved frames can be used with video creation software to make a movie. NOTE: When recording a demo for use in making a movie, you should use the '-framecap' command-line option to specify the framerate of your movie.
-mission [name]  - Causes the specified mission file to be loaded at program start, and makes that mission the default when starting a new game.
-nointro  - Causes the intro movie to not play. I always use this one, then it doesn't matter which cd you use.
-nooutragelogo  - Disables the Outrage logo that is normally displayed for five seconds at the start of a multiplayer game. I always use this one...
-nopentium3  - Disables detection of the Pentium III processor. Some early P3 machines may not work correctly with Descent 3; if you have troubles, try this option.
-pilot [name]  - Specifies the pilot to use, skipping the pilot selection dialog when the game starts.
-playermessages  - Disables all weapon-related HUD messages in multiplayer games. I always use this one.. I don't need to know that I already have the plasma cannon...and that message may scroll an important player message off the screen. - To read a message that has scrolled off the screen, press Shift F9 . I always use this one...
-timetest [file]  - Causes Descent 3 to play back the specified demo file upon startup. When the demo is done, the game will exit and create a file called fps.txt which contains detailed performance information.
-usesmoothing  - 
-  - Undocumented -


A.) Dedicated Server Command List
You can type these commands in at any time while the server is running.

$allowteamchange [off/on]  -From the server, turn off or on the ability of clients to change their teams.
$autobalance [off/on]  -From the server, turn off or on the autobalancing of teams.
$autosavedisconnect [on/off]  -Turns off or on the saving of game stats to a file upon disconnect.
$autosavelevel [on/off]  -Turns off or on the saving of game stats to a file at the end of the level.
$balance  -From the server, automatically balance teams.
$ban [Pnum]  -From the server, ban a player from the game.
$banlist  -On a dedicated server, shows the list of banned players so you can remove the ban for that player.
$changeteam [Team_name]  -From the server, changes a player to a team. Pnum is the player number, and Team_name is the name of the team.
$endlevel  -From the server, ends the current level.
$help [command]  -Gives help on the specified command. If no command is specified, lists all the server commands.
$hudnames [full/team/none]  -In a multiplayer game, sets whether your HUD displays the pilot names of all other ships you see (full), only your team members (team), or no pilot names at all (none). This command may be restricted if the server has used the $serverhudnames command (below).
$kick [Pnum]  -From the server, kick a player out of the game.
$killmsgfilter [Full/simple/none]  -Changes the kill messages you get on this machine. "full" is the normal set of messages. "simple" will simply say who killed who. "none" will display no kill messages.
$mincount [count]  -A dedicated server command for Hoard to set the minimum number of hoard orbs needed to score, where 'count' is between 1 and 12.
$netgameinfo  -Shows net game info.
$observer [on/off]  -Enables or disables Observer mode.
$piggyback [Pnum]  -Enables Observer mode piggybacked to the specified player. Use "$observer off" to turn off piggyback mode.
$playerinfo [Pnum]  -From a client, request information about a player.
$players  -Shows all players in the game and the player number they are assigned.
$rehash  -Reloads the hosts.allow and hosts.deny files.
$removeban [Pnum]  -Removes a ban from a player. Playernum is the player number as listed when you typed $banlist.
$savestats  -Saves the game stats to a file.
$scores  -Shows the scores and stats of the game.
$serverhudnames [full/team/none]  -From the server, sets the maximum value that users can set $hudnames to.
$setgoallimit [Goal]  -Changes the level goal of a multiplayer game. Goal is the number of points at which the level will end.
$setmaxplayers [Max]  -Sets the maximum number of players in a multiplayer game. Max is the maximum number of players.
$setpps [Number]  -From the server, set the maximum number of packets per second that will be exchanged. Number is the maximum number of packets per second.
$setteamname [teamnum] [teamname]  -Changes the name of the specified team.
$settimelimit [Minutes]  -Changes the level time limit of a multiplayer game. Minutes is the number of minutes; the level will end after that many minutes (From when the level started - NOT from when the command was entered)
$setrespawntime [Seconds]  -Sets the respawn time of the powerups on the current level of a multiplayer game. After a powerup is picked up, after this many seconds, it will respawn.
$statmsgs [on/off]  -Turns on or off the stats messages during a multiplayer game.
$wait [on/off/seconds]  -Prevents players from moving >from their start position. On and off activate and deactivate the wait mode manually. Specifing a number will activate wait mode for the specified number of seconds. Useing "$wait 20" will force players to wait for 20 seconds at the begining of each level from then on. This gives 20 seconds for all players to enter the game before gameplay starts. I have noticed that when using this command, some players may quit the game thinking that their machine is 'messed up' when a new level starts.
$warp [level number]  -Ends the current level and starts at the specified level number.
quit  -Shuts down the dedicated server.
say [message]  -This command sends to all players in the game.



B.) Dedicated Server Configuration File Command List
Create your config file called Anything.cfg by using this list. Config examples are given further down this file. Click setup from the start screen in D3. Enter(-dedicated Anything.cfg) under the "optional D3 command-line Switches" box. You can use any config file instead of Anything.cfg, usually levelname.cfg, if you want a specific setup for each level, or whatever. Click "Play" from the start up screen, and You are up and running a Dedicated server!

AccurateCollisions=[num]  -If set to 1, uses polygon accurate collision detection.
AllowPowerup=[string]  -Allows the named powerup to be in your netgames.
AllowRemoteConsole=[num]  -If set to 1, the server can be administered remotely via Telnet.
AudioTauntDelay=[time in seconds]  -Sets the time in seconds the a user must wait after sending an audio taunt before he or she is able to send another.
BrightPlayers=[num]  -If set to 1, makes all the ships fully bright.
ConnectionName=[string]  -The name of the connection you want
ConsolePassword=[string]  -Specifies the password required to remotely administer the dedicated server. If no password is specified, a password will not be required to access the server.
DisallowPowerup=*[string]  -Disallows the named powerup from your netgames.
Killgoal=[num]  -End the level after this many kills.
Peer2Peer=[num]  -If set to 1, uses the peer-to-peer network model.
Permissable=[num]  -If set to 1, the dedicated server uses the permissable client server network architecture described in the Multiplayer Options section.
PPS=[num]  -Sets the packets per second that the server sends out. This should be the number of packets that the server can handle; the clients will set their own limits based on their connections.
Gamename= [string]  -The name of the game.
Gamespyport=[port number]  -If you're running multiple dedicated servers on the same computer, you will need to specify an alternate GameSpy port number for the additional servers.
MaxPlayers=[num]  -The max number of players. (server counts as 1)
MissionName=[string]  -The mission you're playing.
MOTD=[string]This will display your [string] to pilots as they enter the level.
MultiSettingsFile=[string]  -Loads the specified .mps (multiplayer settings) file.
PXOPassword=[string]  -Specify a Parallax Online password.
PXOUsername=[string]  -Specify a Parallax Online userid to login with.
RemoteConsolePort=[num]  -Specifies the TCP port number to use to remotely administer the server. The default port is 2092.
RespawnTime=[num]  -How long (in seconds) it takes powerups to respawn.
SetDifficulty=[level]  -Let's you set the difficulty level of a game. Where the [level] is the difficulty, ranging from 0 (trainee) to 4 (insane).
ScriptName=[string]  -The name of the netgame you want. (Anarchy, Team Anarchy, Monsterball, Entropy)
SendRotVel=[num]  -If set to 1, does smooth interpolation on ship rotations.
Timelimit=[num]  -How long (in minutes) each level lasts.


* Disallowed weapons summary Please do the Community a favor and ALWAYS disallow the items marked in red. They are bandwidth hoggers and lessen the experience of the game. Unless you have a really fast connection, or are 5 feet from the server, these items will be detrimental to the playability of the game. (Black sharks are just stupid) Save the bandwidth!

4 Pack Concussions4packconcInvulnerabilityinvulnerability
4 Pack Frags4packfragMass Drivermassdriver
4 Pack Homers4packhomingMass Driver Ammomassdriverammo
4 Pack Bettiesbetty4pack
AfterburnerafterburnerMega Misslemega
Black SharkblacksharkMicrowave Cannonmicrowave
Bouncing Bettys (this doesn't work)bouncingbettyNapalm Cannonnapalm
CloakcloakNapalm Rocketnapalmrocket
Single ConcussionconcussionNapalm Tanknapalmtank
Energy ConverterconverterOmega Cannonomegacannon
Cyclone MisslecyclonePlasma Cannonplasmacannon
EMD LauncheremdlauncherProximity Mineproxminepowerup
Energy SphereenergyQuadlaserquadlaser
Blue FlagflagblueRapid Firerapidfire
Green FragflaggreenSeeker Minesseekermine
Red FlagflagredBlue Ship Flagshipblueflag
Yellow FlagflagyellowGreen Ship Flagshipgreenflag
Single FragfragRed Ship Flagshipredflag
Fusion FagfusioncannonYellow Ship Flagshipyellowflag
Guided MissleguidedSmart Misslesmart
GunboygunboypowerupSuper Lasersuperlaser
Single HominghomingVauss Cannonvauss
Impact MortarimpactmortorVauss Cannon Ammovauss clip

 


D.) Dedicated Server Setup Recommendations
Be sure that you're running your server with the best settings for your connection and PC. The guidelines below will give you enough information to set up your server to provide as smooth as possible gaming experience for our pilot buddies who will be playing onthe server.

Bandwidth Considerations:
At 7-8 packet-per-second, I've found that a server ideally would provide 50kbps per player. That would leave overhead for intense battles and the data "rush" when a pilot joins the game. However, 40 kbps is almost as good, only occasionally and briefly will a client use more then this. I'm guilty of going as low as 32 kbps per player, and it's find - about 80% of the time. However, any large battle at 32 kbps can show in the game play as pronounced lag.

 

There are some items that are bandwidth hogs and should be removed from every netgame where there will be dial-up pilots playing. These are the Blacksharks, Bouncing Betties, Proximity Mines and Seeker Mines. Most levels have proxmines in them, so make sure you have the disallowpowerup=proxminepowerup line in your CFG file.

 

There has been some issues with Descent3 servers crashing due to unacceptable ship logos and\or taunts. If your server is crashing, put the -NoMultiBmp swtich in the command line. This has stopped many servers from crashing due to corrupted ship logos and taunts.

 

Cable Connects:
Note that cable connections are almost always limited to uploading at 128 or 256 kbps. The upload speed will determine your servers' capability, not that nifty 1.5 mbps download side.

 

Message of the Day: Use the MOTD command to let pilots know who to contact when they suspect your server has a problem.

 

A typical dedicated.cfg file would appear as follows:
[server config file]

PPS=7
TimeLimit=360
KillGoal=100
RespawnTime=30
MaxPlayers=5
GameName=[MS]DESCENT3.ORG #3
MissionName=pyroglyphic.mn3
Scriptname=Team Anarchy
ConnectionName=Parallax Online
SetLevel=1
SetDifficulty=3
AccurateCollisions=0
SendRotVel=0
BrightPlayers=0
Peer2Peer=0
Permissible=0
AllowMouselook=1
PXOUsername=<your PXO login name>
PXOPassword=<your PXO login passwork>
PXOHostingLobby=global
MOTD=This server provided by The Midnight Squadron
DisallowPowerup=Proxminepowerup
DisallowPowerup=Betty4Pack

Another typical dedicated.cfg file would appear as follows:
(this example is provided by Outrage with the game, however NoMultiBmp=1 does not work here! Use the -NoMultiBmp switch in the command line)

[server config file]
GameName=[MS]DESCENT3.ORG #4
MissionName=bedlam.mn3
ScriptName=ctf
ConnectionName=Direct TCP~IP
PPS=5
TimeLimit=0
KillGoal=0
RespawnTime=20
MaxPlayers=9
AudioTauntDelay=0
SetLevel=3
SetDifficulty=1
UsePort=2092
UseIP=208.154.148.116
SendRotVel=0
BrightPlayers=0
UseSmoothing=0
NoMultiBmp=1
AccurateCollisions=0
PlayerMessages=0
AllowRemoteConsole=1
RemoteConsolePort=2093
ConsolePassword=<Password>

 

lf You're into editing the CFG files manually, you can, it's no big deal once you know all the commands. Another option is a handy pointandclick frontend that selfless Descenters' have created. One is called the D3 Dedicated Server Utility. It's just been released and makes changes to CFG files a piece of cake. Or, for those with a need to keep servers up in addtion to remote configuration, D3AS is worth a look.