English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Random Thumbnail
Who Is Online?
We have 184 guests online
Home Descent 3 Descent 3 dedicated server tool for Windows Name server lookups
Most Recent
Featured Articles
Joomla 1.5 Featured Articles
Home Descent 3 Descent 3 dedicated server tool for Windows Name server lookups
English (United Kingdom)French (Fr)Deutsch (DE-CH-AT)
Name server lookups E-mail
User Rating: / 0
Descent 3 - Descent 3 dedicated server tool for Windows
Written by Thomas   
Saturday, 15 February 2014 19:05


Recent versions of D3Server3 can perform name server lookups for IP addresses.

The Descent 3 server tool tries to resolve the names of recognised IP addresses and then uses both pieces of information together when shown or logged.


Excerpt from Wikipedia:

"NS lookup is a service for querying the Domain Name System (DNS) to obtain domain name or IP address mapping or for any other specific DNS record."
Some more information regarding DNS and nslookup can be found at the bottom of this article.


Since NS lookups (name server or name service lookups) could slow down the server tool, lookups are performed asynchronously and in a sequenced way.

D3Server3 understands some settings that can be adjusted if required. The settings are located in the file D3Server3.ini inside section [NSLookup]. D3Server3.ini can be found in the same folder as D3Server3.exe.



If the key PerformLookups has a value of 1, NS lookups are performed. Likewise, a value of 0 switches the lookups off. PerformLookups=0 lets the server tool behave like less recent versions that had no support for reverse IP address lookups.

The installation program sets PerformLookups to 1, if the key doesn't exist. If the key doesn't exist in the ini file's section [NSLooup], D3Server3 treats it as if it existed as PerformLookups=1, resulting in NS lookups switched on.


The value of this configuration key specifies the amount of IP address/name pairs D3Server3 stores in its internal NS table. If the size of the table exceeds the value of AmountIPs it is not defined which IP/name pair is discarded first. Discarded IP names are checked again if required. Each IP/name pair requires about 2 kB of memory (RAM). This means that if you have players coming from 20 different IP addresses D3Server3 needs around 40 kB to store their IP addresses and IP names. 128 IP address/name pairs require about 256 kB of memory. If you think you have enough memory available, and if your servers are played heavily by different players, you cat set AmountIPs to a higher value, like for example 2000 (AmountIPs=2000).

Note that the IP address/name pair table is discarded when D3Server3 closes or restarts itself, which it does automatically after about 50 hours. DNS records should be updated at least every 3 hours, which is the default value D3Server3 uses (see key NameLifeTime further down below). This means there's probably not much sense in setting AmountIPs to a value higher than 128.

The installation program creates AmountIPs=128. D3Server3 uses a standard value of 128 if the key cannot be found in the file D3Server3.ini inside the section [NSLookup].



When D3Server3 starts, a separate thread is started that performs the NS lookups. The first thing the separate lookup thread does is check for the key StartupPause in the section [NSLookup] of the configuration file D3Server3.ini. The value of this key specifies the time in seconds it waits before it starts performing NS lookups.

The installation program sets StartupPause=5, meaning that the NS lookup thread waits for 5 seconds before it starts checking for IP names of found IP addresses. This is a good value considering that it is quite unlikely that D3Server3 can find IP addresses before 5 or 10 seconds have elapsed after startup. If the key StartupPause doesn't exist, D3Server3 assumes a default value of 5 seconds.



The value of the key LookupPauseMS sets the amount of milliseconds D3Server3 waits between individual NS lookups.

D3Server3 takes the first IP address it has in its IP/name pair table for which no IP name is available yet, then performs an NS lookup on this IP address. After the lookup it waits LookupPauseMS milliseconds before it uses the next IP address for which it hasn't got an IP name yet. If there is no IP address without an IP name, D3Server3 waits for LookupPauseMS milliseconds and then waits for new IP addresses to be added to the internal IP address table.

A value of LookupPauseMS=0 would force the software not to wait at all between lookups
(apart from a possible process change due to a call to "Sleep (0)"). It is therefore not recommended to use values below 500 ms. That's why D3Server3 refuses to take values below 500 milliseconds. If for example LookupPauseMS=200, the server tool automatically assumes LookupPauseMS=500 as a minimum value.

The installation program creates LookupPauseMS=1500. That's a check every 1.5 seconds. If the key doesn't exist, D3Server3 assumes a value of 1500 too.



The value of this key specifies the amount of minutes an NS lookup will be treated as being valid. Entries that are older will be prepared for a new lookup.

The default value is NameLifeTime=180 (3 hours). The installation program sets NameLifeTime to 180. If the configuration key NameLifeTime does not exist in section [NSLookup] of the file D3Server3.ini, D3Server3 assumes a value of 180 minutes (= 3 hours).


See also the following web resources:


Other resources



Last Updated on Sunday, 16 February 2014 04:33
You need to login or register to post comments.
Discuss this item on the forums. (0 posts)

No Comments.