Direct answer
For a Java server on a non-default port, the SRV target must point to a hostname with an address record, not directly to an IP. Check the exact SRV name, target, port and DNS visibility.
What it means
SRV records tell clients which hostname and TCP port to contact. DNS lookup success is separate from whether the Minecraft server listens on that port and can be reached through a firewall.
If you are a player
- Test
host.example.com:25570with an explicit port; if that works, focus on SRV lookup rather than opening new ports. - Give the administrator the hostname entered in Minecraft, including any subdomain.
If you run the server
- Create the correct Minecraft Java SRV service name, normally
_minecraft._tcp, at the desired player hostname. - Point its target to an existing DNS hostname with a valid A/AAAA record and set the real server port.
- Use
dig SRV _minecraft._tcp.play.example.comornslookup -type=SRV _minecraft._tcp.play.example.comto inspect published data. - Verify Cloudflare or other web-proxy features are not being applied to an ordinary Minecraft TCP endpoint without a compatible proxy service.
Confirm the fix: Allow for DNS cache TTL and test from a second resolver. Bedrock discovery and Java SRV routing are separate concerns.
References
Use the documentation for the exact software and release you run. These sources support the settings or diagnostic behavior used in this fix.
Related fixes and guides
Help us improve this article
Tell us what is missing, unclear, outdated, or incorrect. You can also suggest something we should add.