Jump to content

Announce Hostname / DDNS name instead of IP to clients


Killom

Recommended Posts

There is an issue, when hosting a server via private ISP connection with dynamic IP range.

When the IP changes, players will have to rename their local savegames.

 

For a workaround, players will have to manually change the IP to the correct hostname of the server in the favourite bookmarks.

 

Please change the behaviour of the server, so he announces the hostname first and falls back to IP address if no hostname was configured.

Edited by Killom
Adjusted title to make it more appropiate
Link to comment
Share on other sites

Do you mean using an address like www.mypzserverhere.com?  That should already work.

 

Otherwise I’m pretty ignorant on networking, but wouldn’t this fail the moment there was more than one server on the same dns? Or do you mean hosting your own dns server through a service? Those, too, should already work without need to specify the target machine’s ip.

Link to comment
Share on other sites

I don't know the current situation of the recent IWBUMS release (due to deactivated MP). I'm referring to the latest stable 40.43

 

servertest.ini:

server_browser_announced_ip=zombietempel.evils.in

 

But serverbrowser on client side still shows up with IP:

 

image.png.2fb24fa5281fddd30293ba55cacd2400.png

 

Players who save the server, will add the IP - which itself is subject to change - instead of the hostname. When IP changes, players will loose progress (if they don't rename the savegame) and they will also need to rebrowse the public server queue to find the current IP

 

Expected result:

 

image.png.4b9b3416a0932ce751c6e9a42427eb25.png

 

Edited by Killom
Adjusted technical terms for consistency
Link to comment
Share on other sites

On 5/27/2020 at 9:40 PM, EnigmaGrey said:

Players can just type in the URL and save it.

Murphys Law is strong with this one. Not because they "can", but because they "must"

 

On 5/27/2020 at 9:40 PM, EnigmaGrey said:

The real solution for server hosting

Would be, if the gameserver reports his hostname (which has to be entered in config file) to the masterserver (the one, who hosts the game server list for the clients). So the masterserver can distribute the hostname to the game clients instead of the IP. Problem solved.

 

I've hosted quite some games in the past decade on my homeserver. PZ is the only one I know, which can't or "would not like to" handle hostnames.

 

On 5/27/2020 at 9:40 PM, EnigmaGrey said:

contacting your isp and getting a dedicated    Ip

Will come with a hefty increase in subscription costs. That's not a real solution for private server hosting. I am not even sure if there is an ISP in this country that leases a fixed IP to private individuals. Fixed IPs are usually part of business contracts

Edited by Killom
Adjusted technical terms for consistency
Link to comment
Share on other sites

You're the first who's ever asked for this! The server browser is a bit janky, at some point it could use some TLC. This is one of it's limitations, caused by one of the features urgently patched on after it was put live, to prevent abuse.

server_browser_announced_ip

Was actually a feature put in place on request of some of the mass server hosts, who had the servers on private LANs, game traffic punched through via NAT/DNAT.

 

At this point, it's a good idea, but it's not gonna happen for now. We'll think about putting it on the list for the next time the browser/MP system is looked at. In the meantime, as a utterly-awful work around if you needed, you could proxy traffic through a tiny dedicated VPS, something like a linode nanode, or 'ramnode' looks pretty cheap as well. As long as you got all traffic routed, using NAT it should work fine, with a static ip on the vps end. You can then use server_browser_announced_ip to announce your proxy. As long as browser can get to your actual server, and not take too long getting there, it should work. Make sure to pick a server location closeish to your ISP hub.

 

Edit: As a bonus, would provide an easy central point to update your IP when it changed. Downside, would need linux 'admin skills.

 

Link to comment
Share on other sites

Note that some of the above may only apply to the nosteam version of the server list, from which I’m fairly sure that setting hails. PZ is provided its server list through Stream by default, which I don’t think has the capacity to transmit domain names instead of IPs to clients. It’s possible there’s some way to do it, but note that this is different from a developer rolling master server that you may be used in the past (most games featuring a lobby do this or use a paid service to provide it). It’s not as simple as you may think, even if many other games do it differently.

 

If your isp is that restrictive, then it’s quite possible it’s done to make it difficult for you to host a server, not us. The frustration is misplaced.

 

Link to comment
Share on other sites

9 hours ago, Kirrus said:

You're the first who's ever asked for this!

 

I have to kindly disagree to this, these individuals requested it way before me:

These are just my 2 grains of salt here, but in the past there were quite some issues indirectly arising from not being able to supply a hostname via server browser:

[...]

 

 

Edited by Killom
Link to comment
Share on other sites

Game with over a million players, 3-4 people asking == virtually none, even when you factor in that there is such a volume of content pushed that its impossible to recall it all. Your disagreement may be technically correct, but it serves no purpose; if anything, it weakens the argument for this due to the rarity of the request.

 

I’m saying that as someone that ran servers for the game and tried to solve the issue when changing ips for my dedicated server moves via a domain name some four years ago now ... It’d be nice to have, but it’s not essential. Various workarounds have already been suggested.

Link to comment
Share on other sites

 

16 hours ago, Kirrus said:

We'll think about putting it on the list for the next time the browser/MP system is looked at.

Sounds good. I really appreciate that. 👍

 

3 hours ago, EnigmaGrey said:

Game with over a million players, 3-4 people asking

 

Generally speaking, with no intention of insulting you:

Zomboid is not very demanding in terms of bandwith. You simply don't need an 1Gbit upstream to maintain 32 players. In my area, residential internet connection has an upstream of 50 Mbit (6250 kB/s). According to you, PZ needs a bandwith of about 50kbit rounded up (6.25 kB/s). Theoretically I should be able to maintain 1000 players. Practically this number is somewhat lower. So in reverse, one does not simply need to throw out money to rent a server, provided you have the appropriate hardware at home. The crux here is, that residential internet always comes with dynamic IPs. Not only here, but also in the rest of the world. Not because ISPs doesn't want us to host stuff, but because the lack of public ipv4 addresses available to ISPs. (IPv4 pools are depleted) Then there is you, telling me to get an static IP instead. So you're telling me in a roundabout way to either pay money to rent a server or pay money to rent a VPS so the players on my server doesn't have to manually adjust their favourite bookmark. From my point of view this just sounds like an excuse to avoid (the hassle) of implementing hostname support "just because some odd people" reqesting this. I am not the only one who is affected by this. Theoratically every customer of you, who has an internet access with dynamic IP is affected. I am just one of the few who have taken the trouble to point the finger at this topic 😉 

 

Edited by Killom
Link to comment
Share on other sites

The demands imposed by the game do not matter.

 

Residential internet can either be fixed or dynamic, depending on the isp. I’ve not personally had a dynamic up (or at least one with less than a 31 day lease) since dialup. It is incorrect to assume everyone is stuck on ipv4 or that mitigation strategies don’t exist in 2020 for the problem of limited addresses.
 

Your isp is at fault, just as they would be if they blocked most ports aside from port 80 in an attempt to prevent server hosting and force you to buy a business plan (also happens). Expecting the developers to work around your isp because you’re either unwilling to ask about a fixed ip, look up a free service, or pay for something is pushing it.

 

Regardless, if we can do this or a workaround is implanted, it’s unlikely to happen for quite a while. Look into the other methods.

Link to comment
Share on other sites

Sorry, I’m the sort of person that needs to make all their mistakes up front before getting to the point. Now I finally remember why it was disabled. This might have saved us both some words ...
 

TLDR:

 

- urls already work; the user has to manually type them into their favourites as the server doesn’t broadcast them

- back when broadcasting was enabled (pre-steam), it was abused to flood the list with inappropriate links

- to “fix” that would have meant word filters and possibly a manual blacklist,  as well as some form of verification scheme (URL provided in fact resolved to the server transmitting it)

- this was unnecessary as we moved to the Steam master server shortly afterwards

- unlike the home brew version, Steam will not pass urls; it only works on ip addresses 


So yes, broadcasting could certainly be added back, but I suspect it’d be pretty hacky to do so. TIS and it’s server would need to moderate the broadcast uris otherwise we’d be right back where we were prior to Steam. That’s the hurdle, not transmitting the URL itself or somehow forcing Steam to forward it. 
 

That’s quite a commitment compared to the affected server owner using a forwarding service, requesting a fixed ip, or asking users to edit their favorites/filenames once to use the URL.

Link to comment
Share on other sites

3 hours ago, Enoahe said:

Yup. Server owners will never be a significant fraction of your playerbase.

Yeah, you’re right: I did not consider that there’s maybe, at best, 30-40 servers intending to be more than occasional co-op. Certainly a small  group.

 

Most of them rent a dedicated server from the chats I’ve had with them. Others are like myself are on dsl, cable, fibre, or such that provides a continuous connection to the internet so this problem doesn’t tend to come up. I don’t think it’s necessarily wrong to expect the same from others, though.


 I need to double check (been sitting  too long on build 41) but co-op might be a good work around for this. I believe it uses the Steam id of the host? If not, it surely can be changed to do so.  Right now, dedicated servers assume an anon Steam account, but perhaps it could be changed to gave an optional login and thus a useful steam id to get around changing ips. The downside is this would mean owning the game, but if it’s optional, well.

Link to comment
Share on other sites

20 hours ago, EnigmaGrey said:

- urls already work; the user has to manually type them into their favourites as the server doesn’t broadcast them

Yes, that was never part of the discussion. Hostname resolution by Client is working flawlessly, if given manually. 👍

 

20 hours ago, EnigmaGrey said:

- back when broadcasting was enabled (pre-steam), it was abused to flood the list with inappropriate links

- to “fix” that would have meant word filters and possibly a manual blacklist,  as well as some form of verification scheme (URL provided in fact resolved to the server transmitting it)

This could have been prevented by something like the masterserver doing nslookup to check, if the hostname resolves to the actual IP of the enlisting server. Nothing too fancy I guess. Never seen the flooding by myself, so its a bit difficult to comprehend. I guess, somebody had reversed the protocol, and kept spamming "new servers" with malicious URL in its description text. I dont see, why anybody should spam URLs inside of the IP tab - it's not like a browser window will suddenly open up, when someone tries to connect to such "faked" servers. But on the other hand, spammers arn't the brightest candle on the cake ... 

 

20 hours ago, EnigmaGrey said:

- unlike the home brew version, Steam will not pass urls; it only works on ip addresses 

Is the Steam Master Server a part of the "Steamworks Integration"? Or how ist this Steam backend called? I'm not really familiar with their backend tools

How ist the current nosteam / GoG version getting its server list? Does it also interact with the steam backend?

 

20 hours ago, EnigmaGrey said:

TIS and it’s server would need to moderate the broadcast uris otherwise we’d be right back where we were prior to Steam.

Im not sure, if we are still talking about the same things. 🤔 It looks like, there is quite some confusing of terms. I'm just requested to deploy the hostname, not a complete URL 

 

20 hours ago, EnigmaGrey said:

That’s the hurdle, not transmitting the URL itself or somehow forcing Steam to forward it.

If the self-reported hostname doesn't resolve to the corresponding IP of the gameserver, simply screw it. Thats as easy as I can imagine it

Link to comment
Share on other sites

  • 2 years later...
  • 2 months later...

I'd like to know this too. I'm using dynamic dns name and this way, server status info is not shown. I somehow don't feel the need to purchase a server service while otherwise all the requirements are met at home.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...