English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Random Thumbnail
Who Is Online?
We have 144 guests online
Home Descent 3 Descent 3 dedicated server tool for Windows Release notes - Earlier changes - March 2014
Most Recent
Featured Articles
Joomla 1.5 Featured Articles
Home Descent 3 Descent 3 dedicated server tool for Windows Release notes - Earlier changes - March 2014
English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Release notes - Earlier changes - March 2014 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
  • A few more words and phrases added to the pofanity list again. Some words that don't make much sense have been removed.
  • In the dialog window for a server configuration, the setting "Accurate collision" has changed to "Accurate collisions", as mentioned in Descent 3's manual. The additional comment in brackets ("Use on LAN only") has been removed. Pretty much every internet connection nowadays should suit this requirement.
  • In the dialog window for a server configuration, the note in brackets ("Use on LAN only") for "Send rotational velocity" has been removed. Any modern internet connection should nowadays meet the requirement for rotational velocity. See page 57 of the Descent 3 pilot manual, "SendRotVel".
  • For new dedicated Descent 3 servers, the setting "Send rotational velocity" is now on by default. The tooltip help for this setting has also been updated.
  • The tooltip help for "Accurate collisions" in a Descent 3 server's configuration dialog window has been updated.
  • Minor changes to the file BuildD3Server3.txt. This file is supposed to provide some help on compiling and building D3Server3 from the source code package.
  • The file Install_and_uninstall.txt has been updated to reflect some changes to the tool.
  • The file Install_and_uninstall.txt is now copied in D3Server3's installation directory by the installation program. As its name suggests, the file contains some information regarding the software's installation and how it can be removed again (uninstalled).
  • The files XcopyExclusionList.dat and DownloadURIs.dat were missing from the source code package. The file Make_www_folder.cmd has been updated accordingly to copy the files into the folder for creating the package.
  • Some texts replaced with character string variables. This saves a few bytes inside the executable file.
  • The version/copyright year has changed to 2014.
  • New popup menu entry "Open log folder" in the list that shows the started servers (D3Server3's main dialog window). The item opens an Explorer view of the folder in which the logfiles are stored ("log").
  • The utility tail.exe is now part of the installation package. D3Server3 can use the software to tail logfiles.
  • Several new popup menu items within the list with the started dedicated Descent 3 servers. "Monitor main logfile with Tail" opens a tail.exe process to monitor D3Server3's main logfile. The windows closes when D3Server3 is closed. "Monitor main logfile with Tail detached" does the same but detaches tail.exe from the server tool. This means the window stays open when D3Server3 is closed, and the window does not roll over when the name of the logfile changes. There are additional popup menu entries with the same functionalities for dedicated servers. See "Opening and monitoring logfiles" for a detailed description of those new popup menu items.
  • Several new popup menu items within the list with the started dedicated Descent 3 servers. "Open main logfile" opens a Large Text File Viewer look at D3Server3's main logfile. The windows closes when D3Server3 is closed. "Open main logfile detached" does the same but detaches LTFViewr5u.exe from the server tool. This means the window stays open when D3Server3 is closed, and the window does not roll over when the name of the logfile changes. There are additional popup menu entries with the same functionalities for dedicated servers. See "Opening and monitoring logfiles" for a detailed description of those new popup menu items.
  • D3Server3 contained a small memory leak when writing into a logfile of a dedicated Descent 3 server. This leak has been fixed in the current version of the software.
  • Previous versions of D3Server3 used a subfolder "log" in the current working directory to store its logfiles. If this folder was not identical to the folder of the program's executable file, the logfiles were stored in a different directory/location. Now the logfiles are always written to a subfolder "log" inside the folder which holds the executable file D3Server3.exe. This change could either be considered a bug fix or dropping a feature. I consider it being a bug fix.
  • Some minor code optimisations in the logging function of a dedicated Descent 3 server.
  • Previous versions of D3Server3 had still been a bit negligent when it came to displaying an hourglass cursor whenever its Windows message queue was busy. This version of the tool now displays the hourglass cursor again a bit more frequently.
  • Bug fix: When the Descent 3 main directory was invalid and when the dialog window to locate Descent3.exe was closed without selecting the correct file, D3Server3 destroyed the current server configurations. This has now been fixed. The tool exits instantly when the dialog window is closed instead of overwriting the server configurations first. The issue had been fixed already in an earlier version of D3Server3, but the bug obviously somehow must have sneaked in again.
  • From now on, D3Server3 cannot run without the dynamic link library (DLL) logtext.dll anymore. The library is simply used for too many features of the software. If the DLL cannot be found, or is only available in an outdated version, D3Server3 fails with an error message and offers to open a browser window for alternatively downloading the latest version of its installation program. The messagebox with the error message stays always on top of all other windows, displays even when no user is logged on, and closes itself after 180 seconds, if the user doesn't react earlier.
  • The DLL (dynamic link library) logtext.dll has been updated to version If a less recent version of the DLL is found, D3Server3 cannot run due to compatibility issues. The installation program updates logtext.dll to the latest version upon installation.
  • Previous versions of D3Server3 stored the setting for using logtext.dll globally in the registry. This version stores the flag in the key UseGlobalLogtext of the section [Log] inside the file D3Server3.ini. The installation program deletes the obsolete registry key, if found.
  • The button "Go back" in the server configurations selector dialog window has been changed to "Cancel". The button "Add..." has been changed to "New...". I think this is more intuitive. The change has also been applied to the popup menu of the listbox. Subsequently, the alternative shortcuts (in combination with the ALT key) have changed. ALT-A is now valid for Cancel, and ALT-C is still the ALT shortcut key to copy a server configuration (Copy). ALT-N is now used to create the configuration for a new server. This had been ALT-A (for "Add...") in previous versions of D3Server3. Note that the popup menu does not support the ALT key shortcuts.
  • Bug fix: In the server configurations selector dialog window, two consecutive left mouse clicks (no double-click!) inside the listbox containing the configured servers enabled the buttons "Edit...", "Copy...", "Delete", and "Start, although no server had been selected. This is now fixed, and the buttons are only enabled when at least one server configuration is selected.
  • The same issue could have applied when a server was deleted. The buttons may have been enabled although no server was selected.
  • In the server configurations selector dialog window, the selections were not visible when the listbox control lost the focus.
  • In the listbox containing the started dedicated Descent 3 servers in D3Server3's main window, the selections were not visible when the listbox lost the focus.
  • When copying text from the event listbox into the Windows clipboard the message "Not enough memory for copy operation!" had been displayed in a messagebox. Now the message is added to the event listbox instead, and no messagebox pops up.
  • Several error messages have changed. Most of them have just been altered to be preceeded by the text "Error: ". This makes it easier to spot errors.
  • Many error messages that only popped up as messageboxes in previous versions of the server tool are now written to the main event listbox and the logfile.
  • The dialog window "Select port" has been widened a bit. The text that indicated that the port has been in use already was cropped.
  • When the acceleration key combination ALT-A was used to select all configured dedicated Descent 3 servers in the listbox of the server configurations selector dialog window, the buttons "Edit..", "Copy...", "Delete", and "Start" stayed grayed out. This has now been fixed and the buttons are enabled after using CTRL-A.
  • The button "Copy..." in the server configurations dialog window has been renamed to "Copy" (without "...") since there is no additional action equired by the user after initiating this operation. The selected server(s) is/are copied instantly to the top of the list.
  • Global options: D3Server3 always updated the file D3Server3.ini when the Ok button in the dialog window for the global options was pressed. Now D3Server3.ini is only updated when at least one configuration value has changed.
  • Online help for the server list popup menu created.
  • Online article "Opening and monitoring logfiles".
  • Bug fix with automatic restarts of the server tool and automatic updates. Earlier versions of D3Server3 could run in a situation where an automatic restart may be performed while an update process would start more or less at the same time, as well as the other way round (first update process, then automatic restart). Since both function could interfere with each other (update unsuccessful), only one of these functions can now be performed witin the same time period.
  • Major performance improvements when it comes to writing events to the logfiles. This applies to the main logfile as well as the logfiles for dedicated Descent 3 servers. The configuration file D3Server3.ini contains two more keys in the section [Log]. The value of the key LogtextQuickCounterMain specifies the amount of events that can be written to the main logfile without checking if rotation is required. The value of the key LogtextQuickCounterServer does the same for dedicated Descent 3 servers. The installation program creates both keys with a value of 500. If a key doesn't exist D3Server3 assumes its value to be 10.
  • The server configurations selector dialog window now contains a small bitmap in the left lower corner.
  • The global options dialog window got a small bitmap image too. It's probably not very nice, hence it might change again in one of the next versions of D3Server3. The buttons at the right bottom of the dialog window have been aligned.
  • When D3Server3 starts, the first thing that's written to the main logfile is an empty line. This makes the startup a bit more visible in case the previous instance has crashed and couldn't write an empty line upon its termination.
  • New bitmap image in the dialog window to configure a dedicated Descent 3 server.
  • Previous versions of D3Server3 didn't expect the configuration key NewWindowPositionOffset to exist in the section ServerControlPanel of the file D3Server3.ini. Previous versions created the key if it didn't exist. This version now expects the key to exist and doesn't create it anymore. The installation program creates it with a default value of 20. If the key still doesn't exist for whatever reason, D3Server3 assumes it to be 20. The value defines the X and Y pixel offset for new server control panel windows.
  • The key ConsoleFontHeight in section ServerControlPanel of the file D3Server3.ini is now created by the installation program. Previous versions of D3Server3 created the key if it didn't exist. The default value of this key is 8 and specifies the size of the font in the console control of the server control panel dialog window.
  • New commandline script ApplyManifest.cmd to apply the manifest file to the executable modules in the Debug and in the Release folder.
  • The communication between D3Server3 and ServiceExe has been slightly improved. This required a new version of ServiceExe (see below).
  • ServiceExe is now shipped in version 1.0.9. Previous versions of D3Server3 came with ServiceExe version 1.0.8. ServiceExe 1.0.9 fixes an issue on Vista and up (Windows 7, Server 2008, Windows 8, etc) and prevents a glitch that could allow D3Server3 to report its availablilty to be controlled as a Windows service before ServiceExe is entirely ready to take on this job.
  • The file ConfigD3Server3.cmd has been removed from the package. Since D3Server3 can stop and start a running service instance itself now (see below), the file is not required anymore.
  • When D3Server3 is running as a Windows service, starting the software as a normal application failed due to the running service instance. D3Server3 now tries to stop the service first before it starts up. The server tool remembers that it stopped the service when it is closed and therefore suggests to start the service again. If Yes is selected, D3Server3 then tries to start the previously stopped service again. If No is selected the software doesn't attempt to start the service. If no selection is made within a configurable time (see below), D3Server3 selects Yes automatically after the time has elapsed and attempts to start the service.
  • New key MessageBoxTimeout within section [GlobalOptions] in the configuration file D3Server3.ini. The value of MessageBoxTimeout specifies the time in seconds after which some messageboxes will be closed automatically. This usually performs a default action. The installation program sets MessageBoxTimeout=180, which means the standard timeout is 180 seconds (3 minutes). For example, if D3Server3 stopped a running service instance on startup, and asks if the service should be started again when the application is closed, the service is automatically started after 3 minutes if no selection (Yes or No) is made. This happens because the messagebox is automatically closed after the time value in MessageBoxTimeout has elapsed, and because the default action is to start the service again.
  • The zip archive has changed. It now contains the profanity list and the lists with the corrected download links. The batch file ConfigD3Server3.cmd has been removed (see above why). Note that the zip archive should not be used unless a certain file in it is required for whatever reason (maybe deleted accidentally). D3Server3 needs the installation program to run before it can work properly. Running D3Server3 without installing it is not supported (and doesn't work, by the way).
  • Interaction between D3Server3 as a Windows service and the application D3Server3 had a design flaw during an automatic update. Before, when the software was running as a service, and ConfigD3Server3.cmd was used to stop the service, the application D3Server3 would suggest to perform an update if a new version had been available. The automatic update would then restart D3Server3, which the batch file recognised as the command to start the service again. However, the installation program was running during the startup process of the Windows service, which could prevent some files from being updated. D3Server3 now doesn't start the service when it exits due to an automatic update. Instead, it suggests to start the Windows service again after the update process has fully completed.
  • The "quick logging counters" are now stored when D3Server3 closes and reused when the application (or the service) starts up again. This allows for very high values of the counters (values of the keys LogtextQuickCounterMain and LogtextQuickCounterServer within section [Log] of the configuration file D3Server3.ini). For the logfiles of dedicated Descent 3 servers the values are somewhat "normalised" to ensure that logfile rotation can take place. Before, the counters would not survive a server tool restart, which could lead to logfiles not being rotated at all when the values were higher than the amount of events written to a logfile during the lifetime of a single instance of D3Server3. Nah, you probably don't need to understand this right now. However, it works, and there will be an article explaining it in detail at some point. ;-)
  • Two more server events variables added. $MainLogfile evaluates to the full path and filename of D3Server3's main logfile. The variable $ServerLogfile is substituted with the full path and filename of a Descent 3 dedicated server's logfile. $ServerLogfile is only available if the event supports it. It won'be be substituted if the event is for example a D3Server3 startup event ([OnD3Server3Start]).
  • The example AutoIt script ServerEventsHandler.aui has been changed to support the two additional server events variables $MainLogfile and $ServerLogfile.
  • The popup menu in the event listbox control at the lower part of D3Server3's main window now contains a new item "Online help (open browser window)". The menu item opens a browser window with the online help for the popup menu.
  • Name server lookups implemented. The hostnames of IP addresses are looked up and used in several places together with the IP addresses. The suggestion for this feature came from Do_Checkor.
  • New popup menu entry in the event listbox control to copy a hostname to the Windows clipboard.
  • New popup menu entry in the event listbox to open a browser window with a 'whois' request for a given IP address. The suggestion for this feature came from Do_Checkor.
  • The window title of D3Server3's main window has changed. Earlier versions showed something like "D3Server3 v3.1 by (DE)Hunter & Thomas". From now on the window title only consists of the software's name and version number, for example "D3Server3 Ver. 3.2". I think it's not necessary to show the authors' names in the main dialog window's title bar. It is quite likely that "Ver. x.y" is going to be removed from future versions of the server tool, too. The name of the software should be enough text for the main window's title bar.
  • New popup menu entry in the event log window (the listbox that contains the events). The new item is "Clear event log window" and empties the window when used. Note that the events are not removed from the main logfile. Only the window is cleared. The popup menu is not shown when the event log window is empty.
  • The text for the tooltip of the event log window has been changed to reflect the changes made recently, which includes the key combination CTRL-A to select the entire list and the new popup menu items.
  • Bug fix: D3Server3 normally saves its configurations every 15 minutes. If the computer the software runs on had been up for more than 49.7 days D3Server3 would not save the configurations anymore. This version uses a 64 bit time counter to prevent an overrun after 49.7 days.
  • New configuration key LogSaveConfigs in section [Log] in the file D3Server3.ini. If the value of the key is 1 (LogSaveConfigs=1) D3Server3 writes the text "Saving configurations..." to the event log when it starts saving its configurations, which currently happens every 15 minutes. When the save operation completes, D3Server3 writes "Configurations saved." to the event log. If the key LogSaveConfigs doesn't exist, the two events are not logged by default. LogSaveConfigs is set to 1 by the installation program, if it doesn't exist, resulting in the mentioned two lines appearing in the event log list. To prevent the two events being logged, set LogSaveConfigs=0 in section [Log] of D3Server3.ini.
  • Fixed the 32 bit timer overrun issue with a Descent 3 dedicated server's remote console timeout and observer on/off checks. Previous versions of D3Server3 used a 32 bit counter while this version uses a 64 bit counter. This prevents the timer from an overrun, which occurs on Windows after approximately 49.7 days.
  • This is just a cosmetic fix as the function is currently not used by the server tool: D3Server3 could clean up players that hadn't played for more than 3 months. The (unused) function checked for these players too often. It has been reduced to once per day now, in case the function is used at some point. I think earlier versions of the server tool had a minor bug in this unused function that checked every few minutes, which didn't look intentional to me ("12 * 3600" ticks looks like it should have been "every 12 hours"). However, a daily check makes certainly more sense than the previous interval.
  • The timer to measure a dedicated server's runtime has been extended from 32 bit to 64 bit. This fixes an issue with an overrunning timer when the host machine had been up and running for more than approximately 49.7 days.
  • The switchover from 32 bit timers to 64 bit timers for dedicated servers has been made compatible to previous versions of the tool. The config files for the latest version of D3Server3 can still be read and understood by previous versions. The update transition also does not affect servers that had been started with a previous version and now, after a server tool update, need to be monitored and controlled by the most recent version of D3Server3. This has been a prerequisite for automatic updates and is working ok. While servers started with a 32 bit timer by a previous version of D3Server3 the software switches over to 64 bit after the next restart of the server (either automatic or manual).
  • File Readme_Thomas.txt removed from the source code package. The file was a (very old) subset of Readme.txt.
  • Fixed several bugs in the NS lookup feature, at least one of them had been severe enough to cause an application crash.
  • D3Server3 now looks up the IP names of the private and the public IP addresses of the machine it is running on (the own hostname).
  • New configuration key TimeWithoutPlayersBeforeAutomaticRestart in section [DedicatedServers] of the file D3Server3.ini. Previous versions of D3Server3 had not made this time period configurable. TimeWithoutPlayersBeforeAutomaticRestart sets the time period in seconds that must have elapsed since the last player left a server and then the server can be restarted automatically. The default value is 130 (130 seconds). This means that D3Server3 waits for 130 seconds after the last player of a server has left before it would restart a dedicated server due to its runtime (uptime) being exceeded. The runtime after which a dedicated server should be restarted by the server tool can be set in the global options dialog window.
  • Version already gave some clue that the support for Windows NT is going to be ceased sooner or later. Now the minimum required Windows operating system for D3Server3 is Windows 2000. The installation program does not allow the application to be installed on Windows lower than Windows 2000 with service pack 3.
  • The name server lookups created an event in the event log whenever a lookup was successful, which happened around every 3 hours for every IP address. Now IP addresses and names are only displayed and logged when they have changed.
  • If the list in the event log had been empty a click with the right mouse key had no function. Now the popup menu entry to start a browser with the online help for that menu appears.
  • When the remote console of a dedicated server contained more recent data than the current ticker, D3Server3 would assume that the remote console of the server is not available anymore and restart it. Most likely, this didn't happen very often, but it certainly must have happened. In other words, D3Server3 restarted a dedicated server because it assumed a crash. Now there's a 300 ms timeframe before the server tool assumes a dedicated Descent3 server's console to have crashed.
  • Since I'm pretty sure Martin (DE)Hunter doesn't want to receive emails regarding D3Server3 I've removed his email address.
  • The look of the About dialog window has changed. It now contains a running text and a floating logo. The previous D3Server3 logo bitmap has been removed. There's also two new buttons. The button "D3Server3 online" opens a browser window with D3Server3's homepage. The button "Dateiliste" opens a browser window that points to Dateiliste's main page (
  • The message "Excerpt of document..." changed to "Excerpt from document..." (correction). The message was logged when there was an error retrieving the public IP address.
  • Bug fix: When trying to retrieve the public IP address, the message "The document retrieved from ... doesn't seem to contain a valid IP address." was corrupted. This is now fixed.
  • The running About text from Pablo van der Meer ( needed some changes and adjustments for longer and underlined text.
  • Some more log details added when D3Server3 is stopping a running Windows service. Since the event log box is not available when D3Server3 stops or starts its own Windows service instance, the messages are only written to the logfile.
  • Several tooltips have been changed (global options, etc).
  • New ini key LogPortSelections in section [Log] of the file D3Server3.ini. If LogPortSelections=1 a message is written to the logfile if a server port number has been changed via the dialog window to select a new port. The key is set to LogPortSelections=1 by the installation program. If they LogPortSelections doesn't exist the default value is LogPortSelections=0 (don't log manual server port changes).
  • Bug fix: D3Server3 could crash if servers had not been started yet but their server control panel dialog had been opened already. Closing D3Server3 crashed the application under certain circumstances.
  • New key LogProcessPriorityChanges in section [Log] of D3Server3.ini. The key can have the values 0 or 1, and determines if D3Server3 should log process priority changes of dedicated Descent 3 servers. LogProcessPriorityChanges=1 logs the changes, LogProcessPriorityChanges=0 doesn't. The installation program creates the key with a value of LogProcessPriorityChanges=1.
  • D3Server3 now writes events to the logfile in a separate thread. Although the dynamic link library (DLL) logtext.dll has supported this since one of its first version years ago, D3Server3 never utilised this option (apart from some very few special builts). D3Server3 now takes full advantage of Logtext's asynchronous logging options. This means that whenever the server tool writes something to a logfile it is almost instantly ready to proceed with other tasks again. The message is queued and then forgotten, while logtext.dll takes care of the actual write operation into the logfiles.
  • Bug fix, although the bug didn't exist before D3Server3 used queued logging (see above): The functions to retrieve logfile names from Logtext used the wrong exported function. This caused the popup menu entries to open logfiles not to work anymore. Again, this bug didn't exist in any version of D3Server3 before beta version, however it would have turned up sooner or later.
  • Integration of RestWinIcons improved.
  • The port selection dialog window now has a timeout if no user interaction has been notices. It automatically closes (with Ok) if the value (in seconds) of PortSelectTimeout in the section [GlobalOptions] of the configuration file D3Server3.ini has elapsed. The installation program sets PortSelectTimeout=180 (3 minutes). If the key doesn't exist D3Server3 assumes a value of 3 minutes (180 seconds).
  • Bug fix with msn file extraction. The msn files were only extracted when the mission was part of Do_Checkor's Download Link Surgery. Now the msn files are always extracted, even if the mission is not in the link surgery, provided that CorrectDownloadURIs=1 in section [GlobalOptions] of the file D3Server3.ini.
  • An external application, like for example the installation program, could close D3Server3's main window even if a dialog window was open. In this case the main window of the software would close but the open dialog would stay open, leaving the software in an odd state. D3Server3 now refuses to close if it receives a WM_CLOSE message and another dialog window is open.
  • The installation program can now close D3Server3 even if not invoked from the software itself. After the installation, the software suggests to start D3Server3 again if it had closed it during the process.
  • The installation program is built with a new version of Inno Setup. The installation script required some slight changes for this update.
  • New key ShowBalloons in section [Log] of the file D3Server3.ini. If set to ShowBalloons=1, D3Server3 displays a little informational balloon in the icon tray on several occasions. If ShowBalloons=0, no message balloons are displayed. The installation program sets ShowBalloons=1. If the key ShowBalloons does not exist in section [Log] the default value is ShowBalloons=0.
  • Lots of "under the hood" changes.


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)