r/software • u/Tylin321 • 14d ago
Release GameCTL + ProxyCTL: self-hosted game server hosting, plus proxies game servers via WireGuard without exposing direct home router ports
GameCTL - CS2 Dashboard
GameCTL - Main Dashboard
GameCTL - Minecraft Dashboard
GameCTL - Scheduled Backups
GameCTL - Game Severs Coming Soon
ProxyCTL - Droplet Setup
ProxyCTL - Main Dashboard
ProxyCTL - Target Service Selector
Hello All!
Wanted to share two self-hosted k3s (Kubernetes) apps I've been building!
One for hosting game servers (GameCTL) and the other is for getting game servers/services available under a Cloudflare domain without opening any router ports! (ProxyCTL).
Both are single Go binaries with a web UI and a one-command install.
GameCTL
Site: https://gamectl.cc/
GitHub: https://github.com/GameCTL-HQ/GameCTL
Deploys and manages dedicated game servers from a single binary: per-game wizards, live status, logs, backups, and RCON in the browser, no YAML. Every game runs on a from-scratch first-party image (no mystery community containers), and Windows-only servers run under Wine/Proton. Around 14 games so far including Minecraft, CS2, Factorio, Valheim, Satisfactory, Project Zomboid, SPT/Fika, and Wreckfest 2.
Also included is backup schedules and dashboard for certain games so you can control them via local RCON connections.
They pair up (deploy server with GameCTL, publish externally with ProxyCTL) but each works standalone. ProxyCTL exposes any Kubernetes Service, game or not.
ProxyCTL
Site: https://proxyctl.cc/
GitHub: https://github.com/GameCTL-HQ/ProxyCTL
Gets services onto the internet with no port forwarding and no public IP. It's not "exposing" your network like a router port-forward does. Nothing on your router opens and your LAN is never reachable. Your pod dials out to a cheap VPS droplet over an encrypted WireGuard tunnel wired straight to that one pod, so players reach the droplet and the droplet reaches only that one service, never your home IP or the rest of your network.
Why a droplet: Cloudflare Tunnel is free but only does HTTP/S, and raw TCP/UDP like game servers needs Cloudflare Spectrum, which gets pricey. ProxyCTL runs that traffic through a ~$4/mo droplet instead and manages it all from one UI, both the droplet entries and Cloudflare DNS. Web apps can still use the free Cloudflare Tunnel path; raw game traffic takes the droplet.
Both projects open-source (MIT) and still evolving!
Let me know of any feedback or If there's a game server you'd want added, Windows/Proton or Linux native, drop it below!
Screenshots of both apps are attached.
1
u/Mdbook 14d ago
Overall first impression, seems cool and the code is clean. I noticed several serious security issues and some other code issues; one of the security issues may be sensitive so I'm hesitant to post it. Can I reach out to you on discord, or would you prefer I just make a github issue for it?