ServerIP as property in serverconfig.xml

I have an idea regarding dedicated servers and its configuration.

The idea is to have a configuration property in the serverconfig.xml file where you can enter the server's IP address or a URL for DynDNS servers that are running on the home network, for example.

Example:
XML:
<property name="ServerIP" value="dwarfmaster.noip.org"/> <!-- the ip or dns which the clients connects to in the server browser. Leave empty for default. -->

In my opinion, this will possibly increase the number of servers (regardless of operating system) available to users, as it is very expensive to rent a server these days, but running a small server in the home network is very cheap and with fiber optics or even Starlink, it is fast enough.

I'm probably not the first to have this idea, but I can't find any Posts like that. Maybe it isn't useful at all.
 
Why does the server need this setting? The client must know the server address and/or its name. The server does not connect to anything.
 
Why does the server need this setting? The client must know the server address and/or its name. The server does not connect to anything.
If you run your server on your home network and make it visible externally using DynDNS or NoIP, the client needs this information—the IP address behind the DNS entry—to connect to the server correctly.
If the server doesn't provide this information, the client will try to connect to the internal IP address (192.168. ...), which obviously won't work.
 
If you run your server on your home network and make it visible externally using DynDNS or NoIP, the client needs this information—the IP address behind the DNS entry—to connect to the server correctly.
If the server doesn't provide this information, the client will try to connect to the internal IP address (192.168. ...), which obviously won't work.
What kind of nonsense did you just write?
The client connects either by IP or by name. By IP, there is banal routing. When connecting by name, then the DNS server registered in the system is used to resolve the name. Most often, this is the server of your provider. It looks something like this:
- The client asks the DNS server: "What is the IP of this name?"
- The DNS server looks in its cache and looks for a record. If it has one, then it returns the IP. If not, then it looks to see if it has a record for the domain to which the given name belongs. If there is a record, then it forwards the request to the DNS that is responsible for this domain. If not, then the request is forwarded to the higher server.
- The next DNS server repeats all the same until the request reaches the server responsible for the domain to which the name belongs.
- The answer goes in the opposite order about the IP address.
- Having received the IP address, the client tries to connect using banal routing.

THAT'S IT. The game server does not participate in this whole process at all.
 
Okay. So I'm probably a little stupid, but how does the server browser in the game know the DNS address?
I understand how the resolving works. It's about the server being listed in the server browser, and optionally the DNS name is stored there instead of the IP.

So how does the server browser know the DNS name?
 
Somehow I have the feeling we're talking past each other.
Where can I store the DNS name information so that the server browser redirects to the correct IP address?

If my DNS is dwarfmaster.dnydns.org, but it's not listed or entered anywhere in the game or server, how is the client supposed to connect to the correct IP address?

I feel really stupid right now because I can't seem to explain the problem properly.
 
If my DNS is dwarfmaster.dnydns.org, but it's not listed or entered anywhere in the game or server, how is the client supposed to connect to the correct IP address?
dwarfmaster.dnydns.org is not a DNS server, it is a record of type A on the server responsible for the dnydns.org zone.

The only difference from regular DNS records is the lifetime of the record. Services providing name services for dynamic IP create a record with a short lifetime. This is done so that other DNS servers on the network do not cache it, but always request it with each request from the server responsible for the zone.
 
Back
Top