Halflife: [REQUEST] SRV DNS records support.

Created on 16 Feb 2013  路  17Comments  路  Source: ValveSoftware/halflife

I guess it was mentioned few times on mailling list already, but hey, this is the new tracker :-)

It would be nice if Steam would support SRV records. It already supports A records, so I guess it shouldn't be hard.

Pros:

  • transparent for end-user. They add to favourites/connect to same canonical name every time. They don't care if server moved to other GSP, changed port.
  • easier to remember address - we both know that "official.valve.com" is much easier than 178.27.237.27:27604
  • I guess Valve could use it for some kind of load-balancing between theirs servers.

Cons:

  • more DNS request.

[1] http://tools.ietf.org/html/rfc2782
[2] http://en.wikipedia.org/wiki/SRV_record

Counter-Strike Feature Request reviewed

Most helpful comment

Any progress on this? I don't think we will ever get this! :(

All 17 comments

How do you deal with the fact that you can have multiple SRV records for a given host, priorities and weight? You could have for example:

_tf2._udp.somehost.org 10 10 27015 tf2-1.somehost.org
_tf2._udp.somehost.org 10 20 27015 tf2-2.somehost.org
_tf2._udp.somehost.org 20 10 27015 tf2-3.somehost.org
_tf2._udp.somehost.org 30 10 27015 tf2-4.somehost.org
_tf2._udp.somehost.org 40 10 27025 tf2-4.somehost.org

Now let's say there are two players who both want to play on somehost.org's servers together. They both enter "somehost.org" into the box, and... what then?

That (and what will happend if there are two diffrent 'games' on one record - how the Steam (not in-game) Server browser should act) is the thing to discuss ;-)

I guess we should stick to priorites anyway and go from top to bottom if there is more records. Most of the setups will not contain more than one server and still you can invite people from Steam (which will report current IP adress) ;-).

I think this can be done. Look at TeamSpeak3 DNS tool.

This tool allows you to define A records on specific ports.
EX:

s1.counterstrike.com=12.13.14.15:27015
s2.counterstrike.com=12.13.14.15:27016
s3.somedomain.com=12.13.14.15:27017

And so on...

What this shoul do ?
Well.. when you type in console "connect s2.counterstrike.com" the "HLDS_DNS" (let's call it that way :D ) will know you wan to join the servername called s2.counterstrike.com and he will redirect you right to the specific server port.

This will be a great tool for those one that are hosting multiple cs servers on same ip and not only.

Any progress on this? I don't think we will ever get this! :(

This is actually a really good suggestion. I know, I am literally years behind lol.

The current workaround is to use iptables in linux. SRV records would be by far more stable and appropriate. I mean SRV records exist for a reason...

In response to @yaakov-h :
SRV records really dont work that way. I mean they do... However, they are intended to direct traffice for a service to the right host and port. So, multiple entries for the same result host, protocol, and port would be pointless. If you chose to load balance, pick a game that supports load balancing like Minecraft with BungeeCord?

SRV Record Format
_service._tcp.my.server.net. TTL IN SRV P W PORT final.host.net.

Proposed SRV Record format for Valve
_hl2-[gameid]._tcp.my.server.net. 3600 IN SRV 0 5 27015 my.server.net.

This is a necessary for providers. Enthusiasts would benefit as well.

This is actually a really good suggestion. I know, I am literally years behind lol.

The current workaround is to use iptables in linux. SRV records would be by far more stable and appropriate. I mean SRV records exist for a reason...

In response to @yaakov-h :
SRV records really dont work that way. I mean they do... However, they are intended to direct traffice for a service to the right host and port. So, multiple entries for the same result host, protocol, and port would be pointless. If you chose to load balance, pick a game that supports load balancing like Minecraft with BungeeCord?

SRV Record Format
_service._tcp.my.server.net. TTL IN SRV P W PORT final.host.net.

Proposed SRV Record format for Valve
_hl2-[gameid]._tcp.my.server.net. 3600 IN SRV 0 5 27015 my.server.net.

This is a necessary for providers. Enthusiasts would benefit as well.

How I can make a SRV record for garrysmod? Will this work?

Any updates on this ?

We need this, this would be so handy to protect your server with cloudflare to prevent DDoS attacks or to hide your IP if you wouldn't want that public. Just saying... :^)

In reply to realsnowy you can't really hide your IP with SRV records. They still have to be pointing to an "open" subdomain. You can't utilize Cloudflare for that task cause they don't proxy on any other ports than just 80 and 443 as far as I'm aware.

I can still put my Minecraft server behind cloudflare and it works. You have to make a proxied A record and make the SRV record point to that proxied domain.

any update ?

@mikela-valve Is this possible in a future update?

@zharding I agree. Do you have any idea on how to configure the iptables as this issue is still not fixed.. Would really appreciate the help!

It's not nice idea, better to use

steam server's api,

which allow update ip's just by server id and owner account.

Domain control can be taken by intruders.

So, we should just resolve server ip on server adding step, and save it as plain ipv4.

I'm shocked that this is still not supported.

I am too.

I would really like this feature. I've been working on a tunneling service for games and this would allow me to provide a much better experience for my users.

Was this page helpful?
0 / 5 - 0 ratings