View Issue Details

IDProjectCategoryView StatusLast Update
0006766New Feature Requests[All Projects] Generalpublic2017-06-18 20:56
ReportervEnom.skAssigned To 
PrioritylowSeverityfeatureReproducibilityN/A
Status newResolutionopen 
Summary0006766: [Request] Save servers by domain name, if available
Description

Like many server owners noticed, it is a pain to move from one host to another. Your server's IP is different, players have to re-add the server to their favourites, you have to leave new IP announce and auto-reconnect on old server, you loose some occasional players who missed the announce, and all in all it is not convenient. I suggest saving server by its domain name, if available. Current system always makes DNS lookup and saves server by IP, what is pretty useless.

In addition it could be useful to provide server domain name to client if he connected using server's IP address, so that he can get all the benefits mentioned above.

Whatever the IP is, players just connects to domain.tld:port with no hassle.

TagsNo tags attached.

Activities

W

2012-01-04 12:53

viewer   ~~0015602

I agree, but only by domain supplied by server, not the one resolving from IN PTR dns record.

lukasz@onomatopeja:~$ host mta.bestplay.pl
mta.bestplay.pl has address 91.204.162.80
lukasz@onomatopeja:~$ host 91.204.162.80
80.162.204.91.in-addr.arpa domain name pointer host-91-204-162-80.livenet.pl.

Client/master server browser could use server rule set by i.e.:

setRuleValue ( "Domain", "mta.bestplay.pl" )

JR10

2012-01-05 19:16

viewer   ~~0015632

What about duplicates?

CrowClaws

2012-01-05 19:39

viewer   ~~0015634

Duplicates? Just check the ip with the ip of the domain, there won't be duplicate.

vEnom.sk

2012-01-07 21:00

viewer   ~~0015673

I just want to add another idea that crossed my mind and is clearly connected to this. Port 22003 could be used as standard port. So, for example when you connect to mtasa://example.com without specifying the port, MTA will automatically try to connect to the default port 22003, just like you don't need to type :80 after every domain in your web browser. In addition "mtasa://" in server browser is really useless, you can't connect to any other game from there anyways. Everything not necessary can be omitted.

drifterCZ

2015-01-24 10:26

viewer   ~~0022912

Last edited: 2015-01-24 10:34

View 2 revisions

Idea how to do this:

  • Parameter <domain>mysite.com</domain> in mtaserver.conf
  • When player clicks on server, he will get the domain name from server (together with ping, player list, blabla)
  • client will check if IP matches domain, if not, it will show just IP - like now

Benefits:

  • better look in browser
  • last servers and favourite servers will be stored using domain name, so when IP of server changes, players wont even notice it and still will see the server, unlike now.

It will make server migrating much much less painful. When we changed host, we got about half of players then before and needed about 2 months to go back to previous player count.

Bpb_Xommko

2015-01-24 11:47

viewer   ~~0022913

Would be also useful if client used SRV records to resolve server address :)

AlexTMjugador

2015-01-25 10:51

viewer   ~~0022917

The problem of saving domain names instead of IPs is that it makes DNS faking possible, and faking DNS is a simple thing to do. However, I don't think that should be a problem: you need to spread a virus outside MTA, to fake DNS resolving, and then hope that the player will connect to that server. But, appart from being a not so simple proccess, what can you do with that? Stealing players from servers? I think that players would notice it and wonder what is wrong with the server, so it's pretty useless.

All in all, this is a good idea. And it's not neccesary to add a rule or setting for this. The only thing we should care of is making sure that the domain gets resolved legitimally.

drifterCZ

2015-01-25 12:33

viewer   ~~0022919

Virus fakind DNS... Really? And what if I make virus that fakes IP's in MTA server browser? Or virus that shows only my server?

And it's needed to have setting for domain. Some servers have multiple domains linked to same IP and some of the domains have nothing to do with MTA.

AlexTMjugador

2015-01-25 15:28

viewer   ~~0022920

You can't make a virus to fake IP resolution because they don't get resolved. The only thing you could do is to hijack the server which the IP points to. And MTA retrieves servers by using a master server, so you can't trick it neither.

And for that problem you say, you can use ports. MTA runs on port 22003, not 80 like HTTP servers.

drifterCZ

2015-01-26 00:27

viewer   ~~0022923

Everything is hackable, its just question of effort. And your worries are very very unlikely.

And how can I use ports to resolve Domain from IP? Assume I have these domains: www.mtasa.cz, www.someCompanyDomain.cz both linked to same ip.
Then mtasa://someCompanyDomain.cz:22003 will connect to MTA server aswell as mtasa://mtasa.cz:22003.

AlexTMjugador

2015-01-26 14:38

viewer   ~~0022926

If they resolve to the same IP and port, then that is intended... you can't run two MTA servers in the same IP and port, so no confusion will happen. The only problem is, like I said, that someone fakes DNS resolution, but that's very unlikely like you commented.

Bpb_Xommko

2015-01-26 21:41

viewer   ~~0022931

DNS faking possible

Everything is possible if you don't use AV. Even faking ip addresses in packets. And, of course, fake routing on border gateways possible too. Don't be so complex.

qaisjp

2016-07-12 02:48

administrator   ~~0024926

Why not just save the domain name the user inserted themselves...?

joaosilva099

2016-07-12 04:39

viewer   ~~0024928

Yes, I agree.

Now, if you insert a domain in the server browser, it automatically converts it to the IP through the DNS lookup. I always tell players to join by the domain (even knowing it will change...) so this is useful.

MGS

2016-07-19 13:36

reporter   ~~0024956

Last edited: 2016-07-19 13:37

View 2 revisions

Create a new tap called "domain" next to favorite or local tap

Issue History

Date Modified Username Field Change