English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Random Thumbnail
Who Is Online?
We have 112 guests online
Home Descent 3 Descent 3 dedicated server tool for Windows Release notes - Earlier changes - June 2013
Most Recent
Featured Articles
Joomla 1.5 Featured Articles
Home Descent 3 Descent 3 dedicated server tool for Windows Release notes - Earlier changes - June 2013
English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Release notes - Earlier changes - June 2013 E-mail
User Rating: / 42
Descent 3 - Descent 3 dedicated server tool for Windows
Written by Thomas   
Saturday, 03 October 2009 13:34
Article Index
Release notes
Earlier changes - May 2014
Earlier changes - March 2014
Earlier changes - December 2013
Earlier changes - November 2013
Earlier changes - June 2013
Earlier changes - May 2013
Earlier changes - January 2013 - April 2013
Earlier changes - May 2012 - December 2012
Earlier changes - March 2012 - April 2012
Earlier changes - December 2010 - February 2011
Earlier changes - June 2010 - October 2010
Earlier changes - February 2010 - May 2010
Earlier changes - January 2010
Earlier changes - November/December 2009
Earlier changes - October 2009
All Pages




  • Version
  • New section in the ini file D3Server3.ini. The secion [Log] is created by the installation program. The section is meant for general logging and debugging options.
  • The first configuration key in the new section [Log] of D3Server3.ini is LogUpdateDetails. If set to 1 (LogUpdateDetails=1) the upate process is logged in detail. If LogUpdateDetails=0 only general information regarding the update process is stored in D3Server3's main logfile. The default of the key is 1 even if it doesn't exist. D3Server3 itself does not change the value of LogUpdateDetails or create it if it doesn't exist. It assumes that the key exists.
  • The key LogNetworkAddresses has been moved from the configuration section [GlobalOptions] to the section [Log] in the file D3Server3.ini. During the movement the previous value of LogNetworkAddresses is not preserved. The installation program sets the new key to 1 and removes the key LogNetworkAddresses from previous installations.
  • The current version number of D3Server3 had been written to the DynSettings.ini file in its short form (3.1.7 instead of Beginning with this version of D3Server3 the version number is stored in its long form, like "", to make it easier to compare new and previous versions within the ini file. The same applies to the server event script variable $D3ServerVersion. It too is now always expanded to the version number's long format.
  • Bug fix: Version of D3Server3 doesn't save any settings. This is considered a major bug.



  • Version
  • The tooltip for the selected level in the server configuration dialog window has changed. One typo has also been fixed.
  • The button "Online help" in the server control panel dialog was not working. It now points to a still empty article on Dateiliste.
  • New variable $D3ServerVersion for server events. The variable is substituted with the currently running version of D3Server3. The version number includes the build number. Example: "" (without the double quotation marks).
  • The tooltip text for the difficulty level of a game in the server configuration dialog window was wrong. It stated that the lowest difficulty is Rookie. However, the lowest difficulty level in Descent 3 is Trainee. The text now also explains the situation regarding difficulty level and effectiveness of powerups.
  • The tooltip for "mouselook" now contains a little explanation.
  • The dedicated server command $warp was missing in the server control panel. The command allows to end the current level and jump (or "warp") to another one in the mission, provided that the mission contains more than one level. If the mission only contains one level this level will be restarted.
  • Server control panel: The command "say" was broken. The command had been sent to the server without the accompanying parameter text.
  • New variable $DateTime for server events. The variable is substituted with the current date/timestamp of the event. Its format is YYYY-MM-DD HH:MI:SS.mis+/-Offs. Example: 2013-06-17 22:10:25.132+02:00.
  • The server control panel command $setmaxplayers had not been working. It's now fixed.
  • New key LogNetworkAddresses in the section [GlobalOptions] of the configuration file D3Server3.ini. When set to 1 it logs the available network addresses at application startup. The installation program creates this key if it doesn't exist. The default value is 0, which doesn't log the available network addresses in the main logfile. The addresses show up in the logfile as "Available network address #001:", "Available network address #002:" etc.
  • The server control panel command $priority was missing. The command is only available when Anticheat (AC) is installed.
  • The server control panel commands $minpps, $maxpps, and $servername had the wrong parameters used. This is now corrected. The commands are only available when Anticheat (AC) is installed.
  • Bug fix: The tool could crash when shut down due to the event listbox being utilised by the update thread. The bug prevents changes to be written to disk.
  • Server events are now additionally written to the main logfile as invoked without substituted variables. This helps find bugs in event scripts and the server tool itself. The (current) logging text may have to be changed again later because it might be to unprecise to track down nasty bugs. Example: Raw event call (OnD3Server3Start): "ServerEventsHandler.exe "$EventType" "$PortNumber" "$ServerName" "$PlayerName""
  • New server events variable $ProfanityText which is substituted with the entire text line the player sent when they used recognised profanity. It includes the "pilot xy says: " part. When the variable is used it is advisable to enclose it in double quotation marks since the text can contain blank (space) characters. Any other character that's not safe for batch files can be replaced with a question mark by setting the key MakeCommandsBatchSafe=1 in the section [General] in the file ServerEvents.ini.
  • New server events variable $D3ServerVersion. It is substituted with the version of D3Server3 that invoked the script or executable file. Example for this version: "" (without the double quotation marks).
  • The example AutoIt script file and its executable have been updated to deal with the newly added server events variables. There is still no example of ServerEvents.ini included in the distributable package. Do_Checkor and Thomas are currently the only users who are utilising the server events.
  • The file ServerEvents.ini in the debug folder has been updated to use the newly added server events variables. The file is only included in the source code package.



  • Version
  • Although D3Server3 doesn't need Descent 3's base directory to be in the old MS-DOS 8.3 filename format the file open dialog window used to set/retrieve D3's base folder always returned the short path to it. Now the folder's long path name is used and stored inside D3Server3.ini in section [GlobalOptions], key "BaseDirectory".
  • Previous versions of D3Server3 only stored Descent 3's base directory in the ini file D3Server3.ini when the user selected the folder manually with the file open dialog window. This version of the server tool writes the key BaseDirectory in the section [GlobalOptions] if it doesn't exist.
  • Bug fix: The event OnHostsDenyBanned had been triggered when the server tool went for a software update. In that case both events, OnD3Server3UpdateRestart and OnHostsDenyBanned, had been triggered. In other words and for programmers, the "break" statement within "switch" for OnD3Server3UpdateRestart had been missing, processing the code for OnHostsDenyBanned additionally.
  • Main window: The control that lists the servers as well as the event listbox now support the key combination CTRL-A to select all elements in the lists. Pressing CTRL-A in the server list control selects all servers while the same key combination selects all events in the event list.
  • Server configurations selector: The list control with the server configurations now also supports the key combination CTRL-A to select all server configurations.
  • Martin (DE) Hunter had originally started to implement a remote info server for Descent 3 dedicated servers. However, this server has never been used within D3Server3. Now all references to the remote info server have been removed but remain in the source code as comments. This means that the server could be activated again at some point in the future, but most likely it will not be activated ever again.
  • Hourglass cursor: Previous versions of the server tool never displayed an hourglass cursor although the software was not responding. D3Server3 for example cannot handle keyboard or mouse input when a server is started, when a server is stopped, or when a server control panel window opens. The tool is also not very responsive when the actual dedicated server monitoring and control process takes place, which happens around every 15 seconds. Although the time period(s) during which D3Server3 is not responding to input might be very short these periods do exist. Starting with version of D3Server3 the software now displays an hourglass cursor whenever it is not capable of handling keyboard or mouse input.
  • New message "Stopping server..." in the server event listbox (and of course the main logfile). The message is displayed when a Descent 3 dedicated server is about to be stopped, independent of why this is happening. The surrounding messages or the user input should usually provide enough clues on the reason why the server is stopping.
  • Again several new words and phrases added to the profanity filter. Thanks to Do_Checkor for the list containing the words and phrases, and thanks to Markus for his unwitting effort and participation in the progressive creation of the list.
  • A file named "Building D3Server3.txt" is now included in the source code package. It is supposed to provide some hints on how to build D3Server3. It is also meant to provide some background information about the included files and the folder structure of the source code tree. Still very small, I hope that the file grows bigger soon for the release of one of the next versions.
  • Bug fix: D3Server3 could crash with an access violation when the application was about to be closed. The thread for retrieving the public IP address could try to access a critical section object which had been freed earlier to prepare the application's shutdown. The thread now terminates before it has a chance to access the critical section object, which might not exist anymore at that point. The bug was reproducible several times after starting D3Server3 and then instantly closing it again, but only with the (very slow) debug version of the software. The release version seems to be fast enough to minimise the risk of running into this access violation down to zero. The bug could not be reproduced with the release version of D3Server3.
  • There's now a new file Stats.dat in the folder cfg. The file is used later for the statistics data D3Server3 stores in conjuction with the Descent 3 dedicated server control panel. At the moment the file is written but without any content. Its file size is 0.
  • A new batch file "Kill Descent 3 processes.cmd" added to the source code package. The file is used to kill orphaned Descent 3 instances independent of their executable file name. It turned out to be very useful after some initial testing.
  • The Descent 3 dedicated server control panel has been activated. It has been in the source code for several versions already but due to several bugs it hadn't been activated. This version now seems stable enough to be released. The server control panel is far from being complete. Many server commands are not implemented yet and the dialog window is still pretty empty. One of the next versions is going to extend the panel significantly. The server control panel can be reached with a right-click on a running server and "Open/show server control panel(s)". The panel windows can additionally be hidden, minimised, or closed within the same popup menu.
  • Bug fix: The application could crash when a server control panel is opened for a dedicated server that hasn't provided a remote console yet. In order for the access violation to show up it was required to start a server and instantly open its server control panel before its remote console is available.
  • The server commands that have options of which one of them needs to be selected (like $autobalance ) now remember the previous selection within the dedicated server control panel. The selected values are written to the file cfg\DynSettings.ini. It is not advisable to edit this file manually. Only keys, values and sections in D3Server3.ini should or can be edited by the server operator.
  • Bug fix: The window position offset for new server control panel windows was not written properly to the ini file. The name of the constant was written to the file instead of the actual offset value. Now the offset is stored properly. The bug had actually no consequences but caused the default value to be used all the time.
  • Bug fix: The version check didn't take the major version number into acount properly. It always found a major version of 0 instead of 3. This didn't matter so far since the other version numbers (minor and sub) had been compared too, and because it never happened that an installed version was actually higher than the version provided online for download.
  • The version check has significantly changed when it comes to version numbers. Now the build number is also used. This is required for the download of beta versions to work.
  • The software can now be configured to also download and install beta versions. In the file D3Server3.ini set the key DownloadAndInstallBetas to 1 (DownloadAndInstallBetas=1) within the section [GlobalOptions].
  • The installation program now creates a few more ini keys in the file D3Server3.ini if they don't exist. Before that, the software (D3Server3) had created the keys if they didn't exist. This is still the case but the installation program usually creates them before the software runs for the first time. They key CheckForUpdates within the section [GlobalOptions] is now always set to 1 by the installation program, independent of whether it exists already or not. Note that CheckForUpdates only checks for updates. It does not automatically download and install them.
  • Server control panel: The commands $servername, $minpps, and $maxpps have been added to the remote command list. Dedicated Descent 3 servers only understand these commands when AC (Anticheat) is installed and used.
  • Server control panel: Bug fix with commands that expect a parameter. The '$' character had not been sent before the actual command. That's because the 'say' command must not be used with a prepended '$' character. Looking at this in a more suspicious way, this is probably more of an oddity of a dedicated Descent 3 server instead of an issue with D3Server3. The 'say' command is the only command that cannot be prepended with a '$' character while the first character of all other commands must be the '$', followed by the actual command.
  • Source code tree: The file MoveToRecycleBin.h had been referenced from the wrong folder. This means that it was not possible to build D3Server3 with the provided source code package without adjusting the file D3Server3.vcproj manually. Because no one has reported this issues I assume that no one had tried to build the package.
  • This version of D3Server3 stores the PIDs and the current tickcount of started servers in the file cfg\DynSettings.ini. The tickcount indicates the timestamp when the server was started. When a server stops the PID and the tickount are removed again. The values are stored in the section [ServerPIDs] as PID/tickcount pairs. For example, the server with PID 1000 and a starting tickcount of 1234567 would be stored under the key "1000" withe a value of "1234567" (1000=1234567). This is a preliminary step to provide D3Server3 later with the option to remove orphaned dedicated Descent 3 servers automatically.
  • Several server control panel commands added/fixed and some of its dialog controls adjusted and aligned. In particular the commands "quit" and "say" had not been working properly before since they do not expect a dollar ('$') character to be typed or sent to the remote console first.
  • The minimum requirements for operating system and installation of Internet Explorer have changed with D3Server3 version The minimum version of Internet Explorer is now Internet Explorer 5.01. This prevents D3Server3 from running on an unpatched Windows NT 4.0, even if PSAPI.DLL is available since Windows NT 4 comes with Internet Explorer 4.0 only. Although it might be possible that Windows NT 4.0 can be patched or a newer version of Internet Explorer could be installed, the minimum supported operating system for D3Server3 is now Windows 2000 with the latest available service pack. If you still need Windows NT 4.0 support please refer to "How to Install Internet Explorer on Windows NT 4.0" (
  • D3Server3's behaviour has changed when the Descent 3 folder is not valid. Earlier versions just terminated the application process with ExitProcess (). This version shuts down the application gracefully but does not store any information in the data files to prevent data corruption.
  • Previous versions tried to add some messages to the event listbox of the main window in case the Descent 3 directory could not be found or was not accessible. D3Server3 version only writes the information in the logfile.
  • Bug fix: When the drive letter containing Descent 3 was not valid the filename to search for was prepended with a backslash character ("\"). This was actuaclly wrong as the filename to search for should have been "Descent 3.exe" only.
  • Bug fix: When the key DownloadAndInstallBetas in the section [GlobalOptions] of the file D3Server3.ini was set to 1 the software ignored the key DownloadAndInstallUpdates. Even if DownloadAndInstallUpdates was 0 D3Server3 still downloaded and installed updates. Now both, DownloadAndInstallUpdates and DownloadAndInstallBetas must be set to 1 for the automatic download and installation of beta versions to work.
  • Bug fix: When beta versions were supposed to be downloaded and installed it was possible that the update process was running in an infinite loop, continuously download the beta installer, starting it, exiting, then running again, etc. The reason is that the software downloaded the latest release version instead of the latest beta version.
  • The installer produces a logfile during the installation process. The file InstallationLogFile.log is located in the log folder. It can be used to identify installation issues. The file only contains the logging information of the most recent installation process. Less recent versions of the file are destroyed by new installations.


Last Updated on Wednesday, 22 October 2014 13:15
You need to login or register to post comments.
Discuss this item on the forums. (0 posts)
Discuss (0 posts)