For those who don’t know, playit.gg is a free/cheap service for exposing self-hosted local game servers to the wider internet.
But as someone who already has access to a cheapish VPS, I’m curious if anyone knows of any self-hostable alternatives that I could just run as a container on my VPS.
I’ve been toying with using Wireguard UDP tunneling, but it’s proving to be a little bit more difficult and complicated than I was bargaining for. So if anyone knows of anything out there that does something like this, I’d be grateful!
Netbird self-host. Install it on the VPS, add the server as a client, network the appropriate ports using their services, expose the required port via TCP or UDP in the docker deployment and reverse proxy.
Pangolin would work, it’s still wireguard underneath but with a webUI to set up things and simplify it. It’s fairly easy to install on your server with their docker compose examples.
I think Pangolin would be massively overkill for this. It’s designed to be a CDN layer orchestrator and it’s primarily a HTTP reverse proxy. You can do it with Pangolin but it complicates things and you’d need more resources too.
All you really need on the VPS is to run a tunnel (WG or OpenVPN) and forward whatever ports the games need from the VPS public IP into the tunnel. Maybe a DDNS tool/script if the public IP is dynamic.
You could use frp to proxy specific ports to your vps. https://github.com/fatedier/frp
It looks like a VPN, just reskinned as-a-service.
If manual Wireguard is giving you trouble, try Netbird.
Why do you need a VPN if you’re just trying to expose game servers to the public?
The game server is probably behind a NAT. I’m standing in the same situation.
Got a small VPS with a TCP VPN to access all my devices despite location, and a comparably powerfull server behind a NAT which I would like to host UDP services on.
It needs to be said that we are talking actual VPNs here, and not “VPN-as-proxy” to spoof your location etc.
Yeah, that sort of thing.
I should say that I’m finally having some luck with using wireguard, so I’m making progress. Got a few rounds of Counter-Strike in with a friend about an hour ago!
Would that be CS 1.6? Can you get your game server to appear in the public list when you do it this way?
Yeah, CS 1.6!
I’m not sure about the master server list just yet, sorry.
Cool! I miss the CS 1.6 days when you’d have a favorite server or two where you’d play with familiar faces.
Some games have query ports for stuff like that. Maybe check for one.
Are you unable to port forward?
Can’t port forward through the CGNAT of my ISP, only my own router’s NAT.
That is, unless I buy a unique IPv4 from my ISP.
Gotcha by the balls, VPN would have the same problem unless you can host the VPN server on IPv6?
As I said, I’ve got a VPS. The VPS is not on my local net, but in a datacenter. As part of being a VPS it has a unique IPv4.
My VPN (which I currently use for TCP traffic) is hosted on the VPS, giving me access to (and from) all devices connected to my VPN regardless of whether they are behind a NAT or not.
I’ve also got a beefy server which hosts more power hungry services, though this one is behind multiple layers of NAT. I can forward and reverse-proxy TCP services from the beefy server through the VPN and out to the public net using another server with a unique IPv4 just fine.
What I (and OP) need, is to also be able to forward\reverse-proxy UDP services from a beefy NATed/firewalled server through a VPN and out to the public internet using another server which has a unique IPv4.
Use Tailscale, it’s stupid simple. it is a Wireguard wrapper anyways.
I was hoping to have servers be more public, so visible on the master server list and able to be joined by random people. (I’m a glutton for punishment I guess. lol)
I am hosting 2 public game servers with my setup. My VPS exposes only those ports and I have my DNS on the same provider. That tailnet only has those servers and the VPS. The actual server boxes block all traffic except through the tailnet. The hard part is the reverse proxy on the VPS if you have never done it before.
I think I saw that tailscale (or netbird, the open source and selfhosted version) also can reverse proxy UDP traffic.
I’ll take a look at it later today.
i usually connect two machines with tailscale and use ssh forwarding
use autossh if you want auto reconnect after ssh disconnects with broken pipe
@mrmaplebar might still be too complicated, but maybe take a look at https://github.com/fatedier/frp
You could look at pangolin as well. There’s a number of guides on YouTube. Essentially a wire guard tunnel to your VPS.





