ValveSoftware / halflife

Half-Life 1 engine based games
Other
3.6k stars 598 forks source link

[REQUEST] SRV DNS records support. #193

Open JabLuszko opened 11 years ago

JabLuszko commented 11 years ago

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:

Cons:

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

yaakov-h commented 11 years ago

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?

JabLuszko commented 11 years ago

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) ;-).

ghost commented 10 years ago

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.

ztjuh commented 7 years ago

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

unplugged216 commented 5 years ago

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.

RoofLee commented 5 years ago

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?

nikrozman21 commented 5 years ago

Any updates on this ?

realsnowy commented 5 years ago

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... :^)

nikrozman21 commented 5 years ago

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.

realsnowy commented 5 years ago

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.

burakataoglu commented 4 years ago

any update ?

oaus commented 4 years ago

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

mdammers commented 4 years ago

@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!

afwn90cj93201nixr2e1re commented 4 years ago

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.

mygrexit commented 4 years ago

I'm shocked that this is still not supported.

jsebean commented 4 years ago

I am too.

loriopatrick commented 4 years ago

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.

fabiocasolari commented 3 years ago

i thought Valve response to this is.... go play fortnite fuckers...

kubo6472 commented 3 years ago

Anything new?

Be1zebub commented 2 years ago

any progress?

kubo6472 commented 2 years ago

probably not

datemike972 commented 2 years ago

valve, please

Be1zebub commented 2 years ago

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.

iptables? please tell me how 🙏

2004seraph commented 2 years ago

Please can we have this

sphaxa commented 8 months ago

bump please this would make our lives so much easier when using services like dathost, which so many services do.

ztjuh commented 8 months ago

Too hard for Valve 😂

On Sun, Nov 19, 2023 at 6:02 PM Zach Skaistis @.***> wrote:

bump please this would make our lives so much easier when using services like dathost, which so many services do.

— Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/halflife/issues/193#issuecomment-1817916823, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB575Y6V73XNSRUXUTLEZ6TYFI3SZAVCNFSM4ADPQKLKU5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TCOBRG44TCNRYGIZQ . You are receiving this because you commented.Message ID: @.***>

EzioTheDeadPoet commented 4 months ago

This issue is now 11 years old 😭

2lag commented 3 months ago

would they accept a pr to add it 😭