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!

all 30 comments

sorted by: hot top controversial new old
[–] 1 point 23 hours ago*

Aside from Wireguard, you have Wireguard alternatives-but-not-really-since-they-are-based-on-Wireguard like Netbird and Tailscale. The latter is more well-known, but the main downside is that, to connect to the cloud servers, you need a Google, Microsoft, or Github account to login. It can be self-hosted with Headscale (community project) though (and you don't need an account for that, since it's your hardware)! Netbird is similar to Tailscale, but you can use normal email login to use their cloud servers, and they offer official self-hosting support.

  • source
  • [+] 1 point 2 days ago
    [removed by mod]
  • source
  • [–] 17 points 4 days ago

    It looks like a VPN, just reskinned as-a-service.

    If manual Wireguard is giving you trouble, try Netbird.

  • source
  • [–] 6 points 4 days ago (4 children)

    Use Tailscale, it's stupid simple. it is a Wireguard wrapper anyways.

  • source
  • hideshow 4 child comments
  • [–] [S] 5 points 4 days ago (3 children)

    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)

  • source
  • parent
  • hideshow 3 child comments
  • [–] 2 points 3 days ago (1 child)

    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.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 days ago

    I've spent the evening playing around with Netbird/Tailscale. Appears that UDP in Netbird requires Traefik, so I've switched over to that (wanted to do this anyway).

    Turns out that Traefik is perfectly able to do the proxying over my "stupid" wireguard setup, so I'll be running that for now and look more into it later.

  • source
  • parent
  • [–] 1 point 3 days ago

    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.

  • source
  • parent
  • [–] 5 points 4 days ago*

    i usually connect two machines with tailscale and use ssh forwarding

    use autossh if you want auto reconnect after ssh disconnects with broken pipe

  • source
  • [–] 3 points 4 days ago (12 children)

    Why do you need a VPN if you're just trying to expose game servers to the public?

  • source
  • hideshow 12 child comments
  • [–] 7 points 4 days ago (11 children)

    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.

  • source
  • parent
  • hideshow 11 child comments
  • [–] [S] 5 points 4 days ago (4 children)

    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!

  • source
  • parent
  • hideshow 4 child comments
  • [–] 1 point 3 days ago (3 children)

    Would that be CS 1.6? Can you get your game server to appear in the public list when you do it this way?

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 1 point 3 days ago (2 children)

    Yeah, CS 1.6!

    I'm not sure about the master server list just yet, sorry.

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 4 days ago (5 children)

    Are you unable to port forward?

  • source
  • parent
  • hideshow 5 child comments
  • [–] 5 points 3 days ago* (last edited 3 days ago) (4 children)

    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.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 2 points 23 hours ago* (1 child)

    Have the ISP place their gateway/router into bridge mode. This will pass the public WAN IP directly to your router, allowing it to handle NAT, firewall policies, and port forwarding without double NAT.

    I’ve been hosting public-facing servers for several years and regularly run dedicated servers for my son. I keep the ISP gateway in the setup because they provide a substantial discount for using their modem/router rather than connecting the UDM Pro directly to the fiber ONT.

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 21 hours ago

    I actually had that up and running before they changed our modem and threw us behind their regular CGNAT. I've tried bridging the modem, but it's no use if the bridge leads to their intermidiary network and not the public internet. :(

    They problably hadn't realized (or didn't care) that we had a unique IPv4 before, so I was lucky enough that simply opening up the provided modem and my router was enough. Now they want 15€ a month for the same service, but at least it'll be static...

  • source
  • parent
  • [–] 0 points 3 days ago (1 child)

    Gotcha by the balls, VPN would have the same problem unless you can host the VPN server on IPv6?

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 days ago* (last edited 3 days ago)

    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.

  • source
  • parent
  • [–] [B] 1 point 3 days ago* (last edited 21 hours ago)

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

    Fewer Letters More Letters
    CGNAT Carrier-Grade NAT
    DNS Domain Name Service/System
    ISP Internet Service Provider
    NAT Network Address Translation
    UDP User Datagram Protocol, for real-time communications
    VPN Virtual Private Network
    VPS Virtual Private Server (opposed to shared hosting)

    [Thread #99 for this comm, first seen 8th Sep 2026, 20:20] [FAQ] [Full list] [Contact] [Source code]

  • source
  • [–] 1 point 3 days ago

    You probably don't want to do this. People will get salty and DDOS your server. I ran a KF2 server for like 5 years and eventually the traffic overwhelmed my connection and I had to stop.

  • source
  • [–] 3 points 4 days ago

    @mrmaplebar might still be too complicated, but maybe take a look at https://github.com/fatedier/frp

  • source
  • [–] 2 points 4 days ago

    You could look at pangolin as well. There's a number of guides on YouTube. Essentially a wire guard tunnel to your VPS.

  • source
  • 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.

  • source
  • [–] 1 point 3 days ago* (1 child)

    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.

  • source
  • hideshow 1 child comment
  • [–] 2 points 3 days ago

    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.

  • source
  • parent
  • [–] 1 point 3 days ago

    You could use frp to proxy specific ports to your vps. https://github.com/fatedier/frp

  • source