Hypixel.net is both their website and mc server adress.

Is it just that https is on port 443 and minecraft is on port 25565?

And if that is the case, can i do something similar by making a reverse proxy have two seperate server blocks for the one domain, with different ports?

1 point

Redirects.

If you try to connect to hypixel.net via port 443, it redirects you to the html page.

If you try to connect to play.hypixel.net via port 25565, it redirects you to the minecraft server.

permalink
report
reply
66 points
*

The amount of confidently incorrect responses is exactly what one could expect from Lemmy.

First: TCP and UDP can listen on the same port, DNS is a great example of such. You’d generally need it to be part of the same process as ports are generally bound to the same process, but more on this later.

Second: Minecraft and website are both using TCP. TCP is part of layer 4, transport; whereas HTTP(S) / Minecraft are part of layer 7, application. If you really want to, you could cram HTTP(S) over UDP (technically, QUIC/HTTP3 does this), and if you absolutely want to, with updates to the protocol itself, and some server client edits you can cram Minecraft over UDP, too. People need to brush up on their OSI layers before making bold claims.

Third: The web server and the Minecraft server are not running on the same machine. For something that scale, both services are served from a cluster focused only on what they’re serving.

Finally: Hypixel use reverse proxy to sit between the user and their actual server. Specifically, they are most likely using Cloudflare Spectrum to proxy their traffic. User request reaches a point of presence, a reverse proxy service is listening on the applicable ports (443/25565) + protocol (HTTPS/Minecraft), and then depending on traffic type, and rules, the request gets routed to the actual server behind the scenes. There are speculations of them no longer using Cloudflare, but I don’t believe this is the case. If you dig their mc.hypixel.net domain, you get a bunch of direct assigned IP addresses, but if you tried to trace it from multiple locations, you’d all end up going through Cloudflare infrastructure. It is highly likely that they’re still leaning on Cloudflare for this service, with a BYOIP arrangement to reduce risk of DDOS addressed towards them overflow to other customers.

In no uncertain terms:

  1. Hypixel.net has Cloudflare DNS for their domain.
  2. For their website, it has orange cloud enabled to proxy traffic through CF’s global CDN and DDOS protection service.
  3. For their Minecraft server, they advertise mc.hypixel.net, but also have a SRV record for _minecraft._tcp.hypixel.net set for 25565 on mc.hypixel.net
  4. The mc.hypixel.net domain has CNAME record for mt.mc.production.hypixel.io. which is flattened to a bunch of their own direct assigned IP addresses.
  5. Traceroute towards those direct assigned IP addresses goes through Cloudflare infrastructure but final destination is obscured, just like their website, to protect them from DDOS attacks.
permalink
report
reply
19 points

TCP and UDP can listen on the same port, DNS is a great example of such. You’d generally need it to be part of the same process as ports are generally bound to the same process

They don’t even need to be the same process. I’m pretty sure that’s just a common practice if something needs both protocols, but there’s nothing stopping you from having a web server on TCP 443 and a VPN server on UDP 443. Ports are an abstraction brought by each protocol, they aren’t in anyway related.

permalink
report
parent
reply
1 point

Some protocols, like ICMP, don’t have the concept of ports at all!

permalink
report
parent
reply
11 points

This person networks

permalink
report
parent
reply
1 point

looks at community I hope so?

permalink
report
parent
reply
-4 points

Commercial IT’s overreliance on cloudflare will be the undoing of the internet.

permalink
report
parent
reply
1 point

Of the internet? Probably not. Of the independent internet? Maybe.

permalink
report
parent
reply
1 point

If all that is left is a shopping mall and propaganda, then as far as I am concerned, it would be dead.

permalink
report
parent
reply
76 points

Is it just that https is on port 443 and minecraft is on port 25565?

Yes

permalink
report
reply
50 points

Good to know i was right, i will now carry this newfound confidence into every subject

permalink
report
parent
reply
-12 points

Yes, and Minecraft is TCP not http

permalink
report
parent
reply
27 points

HTTP is TCP. And I’m pretty sure Minecraft uses UDP?

permalink
report
parent
reply
10 points

Oops you are right.

A quick search said mc uses tcp

permalink
report
parent
reply
1 point

HTTP/3 is UDP though.

permalink
report
parent
reply
10 points

You are sort of right

TCP is on layer 4 of the OSI model. Http is layer 7 which runs on top of layer 4 (TCP)

In sort Minecraft and http are both tcp

permalink
report
parent
reply
4 points
*

TCP is the way that you send information, HTTP is what it means.

The difference, in your case, is the port. You can’t CAN have TCP and UDP on the same port, but you can’t have the same protocol on the same port.

edit: I didn’t knew you could have different transfer protocols on the same port, ty!

permalink
report
parent
reply
12 points

You can’t have TCP and UDP on the same port.

Why not? They are 2 completely separated set of ports. You can have a service listening on port 88 TCP while having another listening on port 88 UDP and they never know about each other.

permalink
report
parent
reply
4 points

You can’t have UDP and TCP on the same port? I don’t think that makes sense, I have DNS listening on UDP and TCP both on port 53.

permalink
report
parent
reply
26 points

Minecraft can read a special DNS record type called SRV records. You can create a record like that to point Minecraft to a port that the server is running on. It doesn’t even have to have the same ip as the webserver.

This is for Namecheap, but the general principle applies everywhere: https://www.namecheap.com/support/knowledgebase/article.aspx/9765/2208/how-can-i-link-my-domain-name-to-a-minecraft-server/

permalink
report
reply
3 points

Does Bedrock support SRV records yet? I honestly haven’t checked in a year or two, but I tried to use SRV records to host a survival game and creative game on different ports but found out it didn’t quite support them yet where as Java edition did.

permalink
report
parent
reply
13 points

Minecraft allows for SRV records. It’s pretty nifty.

permalink
report
reply
1 point

TIL what SRV records are. Thank you.

permalink
report
parent
reply

Selfhosted

!selfhosted@lemmy.world

Create post

A place to share alternatives to popular online services that can be self-hosted without giving up privacy or locking you into a service you don’t control.

Rules:

  1. Be civil: we’re here to support and learn from one another. Insults won’t be tolerated. Flame wars are frowned upon.

  2. No spam posting.

  3. Posts have to be centered around self-hosting. There are other communities for discussing hardware or home computing. If it’s not obvious why your post topic revolves around selfhosting, please include details to make it clear.

  4. Don’t duplicate the full text of your blog or github here. Just post the link for folks to click.

  5. Submission headline should match the article title (don’t cherry-pick information from the title to fit your agenda).

  6. No trolling.

Resources:

Any issues on the community? Report it using the report flag.

Questions? DM the mods!

Community stats

  • 5.2K

    Monthly active users

  • 1.8K

    Posts

  • 19K

    Comments