mojira.dev
MC-266246

IP addresses in multiplayer server list takes 6 seconds longer

Using an IP address to connect to a server in the multiplayer server list takes 3-6 seconds longer than using a domain. This effects the server MOTD/Player count displaying in the server list and when connecting to the server.

 

  • This doesn't seem to effect all IP addresses, I noticed this when trying to run a Minecraft server with DigitalOcean.

  • When you setup a domain and point it at the IP address and then connect via the domain, the problem goes away and the server in the server list shows instantly.

  • I spoke to a friend and they said the reason for the delay could be due to the EULA blacklist checking the IP address, now I don't know anything about that but it might be worth looking at first as the cause.

 

The server IP address is a droplet I setup to demo, it's Vanilla 1.20.2 hosted in DigitalOcean London. Feel free to create your own droplet with DigitalOcean to demo and reproduce.

I have tried both San Francisco and Frankart DigitalOcean locations, along with 6 different droplets with different IP addresses, they all have the same problem.

 

Steps to reproduce

1. Multiplayer > Add server.

2. Put 209.97.179.190 in the server address field.

3. Count the seconds you've wasted waiting for the server MOTD to pop up or the extra long delay when you connect.

4. Compare it with another server like Hypixel and see the difference in how fast Hypixel pops up, or use the domain below to see the difference.

5. I setup a domain to demo/reproduce as well, "london.mcserver.gg" if you add this to the server list, it loads instantly.

 

The attachment below is a gif that demonstrates the issue using the IP address and domain above.

Attachments

Comments 20

[^086dd316986387043xEkH2130b[1].gif]

[media][media]

[^44f3311698984827OLbg1n171b[1].mp4]
[^48a7711699032444zTPvKt167b[1].png]
[^609a6316989845586TmDlP161b[1].mp4]

[media][media]

[^e9e71216990262453NJRyg165b[1].mp4]

[media][media][media]

Hi, I cannot reproduce the reported behavior; Hypixel even takes longer than your two test instances. Please verify that your internet connection isn't the problem.

I was able to reproduce the problem first attempt, and every attempt afterwards. 

The top two servers are my own, the third server down is the IP address, the last server is via the domain. The IP address takes SEVERAL seconds longer to load.

[media]

Hi, I tested with a few different methods, in an attempt to assure you it's not my internet connection. I will try to visit my local cafe next week using my laptop and their wifi and test on a fresh Minecraft client install as well, if you still have any concerns.

Tested on my desktop using a VPN with Ethernet: [^609a6316989845586TmDlP161b[1].mp4]

Tested on my desktop using mobile data over WIFI tether to my phone: [^44f3311698984827OLbg1n171b[1].mp4]

I can reproduce this issue on a wired connection in the USA.

[media]
10 more comments

I downloaded Wireshark to see what network packets were sent when you try with the direct IP, now I don't understand this and it would be helpful if someone else knew more. But it seems 3x "NBNS" - "Name query NBSTAT" packets are sent when you ping the IP, as you can see it works out to 6 seconds extra time it took before the first TCP packet to port 25565 was sent. Maybe this is due to the EULA check or reverse DNS/PTR, I have no clue why the 3 extra packets are sent, but I very strongly believe the Minecraft client is sending these packets for whatever reason.

In the screenshot below, I showed the Frankfurt IP but I tested all 3 IPs(London, San fran, Frankfurt) and they showed the same packets sent. The screenshot is from pinging the server with the 1.20.2 client, but the same things/packets happen when the 1.8.9 client is used.

[media]

(192.168.1.28 is my computers internal network IP, so there is also nothing to worry about it being exposed here)

I'm not sure how relevant this is but I'd like to add it - I used the command-line mcstatus Python script originally developed by Dinnerbone to get the status of the Frankfurt server with the direct IP and this was the Wireshark result, without any delay whatsoever, so clearly shows something is up with the Minecraft client.

(192.168.1.28 is my computers internal network IP, so there is also nothing to worry about it being exposed here)

[media]

Hi, could you tell me how this is "Works As Intended" and why it's resolved?

@unknown
The cause for slowdown is rDNS request when we have the IP but not the hostname.
We are doing that to check the hostname against the blocklists.
For most servers the request succeeds and there is no noticeable difference between how fast they are fully displayed in the server list.
For some (like the one from the bug description) though it takes a lot of time and fails. If it did not find anything it means it did not find anything in caches and had to actually query multiple DNS servers. It makes sense that it is slow in that case.

flyncodes

Timur Nazarov

Community Consensus

Platform

Important

Networking

1.20.2

Retrieved