I’m looking to host some gaming servers to play with my friends (minecraft, enshrouded, and others), and some apps (paperless-ng, jellyfin, seafile, etc.). Each game server must be accessible from the Internet, but only certain applications will be accessible (jellyfin, etc.)
I don't want to open any ports on my router or share my public IP. I already have a domain name, and I'm thinking of using some VPS to host a reverse proxy with tailscale or netbird.
For the VPS, I'm thinking of using OVH with unlimited bandwidth. I already have the domain name here, and I live in France where the servers are.
A few questions :
Is this a good idea ? Any better solution is welcome.
I don't really know how I'm going to redirect subdomains to use the correct reverse proxy. Local DNS on the VPS ?
Tailscale or Netbird ? (I actually don't have any idea)
Won't using Tailscale or Netbird like this cause performance losses on game servers ?
ZeroTier is also an option in the same vein as TailScale.
You will share your IP with something like TailScale or ZeroTier.
Reverse proxies can be good but with gaming ... there's only so much you can do because of the custom protocols. Most of that stuff isn't going to care about the DNS. You're also introducing additional latency if you use a VPS as a "middle man."
I think you need to consider who you're going to be giving access to and what threats you're trying to protect against.
My advice would be to set up ZeroTier on all the machines that are going to play together and set it up so it only allows connections between clients and the server (there's a guide for this in their documentation). Then give the gaming machine a ZeroTier IP you put in your DNS.
Most games use different ports so there really isn't a need for lots of DNS names. However, you could assign multiple ZeroTier IPs to the same machine and give each game server its own DNS and its own IP.
We've already tried ZeroTier a long time ago, and it works well, but if you want to add another person to the game, it's a "lot" of steps before you can play. You're probably right that the best solution would be to use ZeroTier, but it's not the most practical for everyone. At least that's my opinion.
And you need to install a new application just to play with others, which is not what I want.