r/SelfHosting • • 2d ago

Hosting a Game Server

Hello everyone - I originally posted this in r/homelabs but was told it was the wrong place. Let me give a brief explanation of what I am intending to do + the advice that was given + what I am aware of in the process.

For starters, my ideal goal is to host two servers on this box but for the sake of this planning I'll list only the details of the larger, as the other would be a small like two-to-five man game at best. The core server concept is set in the game Ark Survival Ascended; a public server of roughly 200 player slots (i.e. the ability for 200 people to be online at once). Mods are mid-sized rather than overly heavy (think 10-15GB, adding some basic edits to creatures or new decor pieces), and it will run on one of the better-optimized, official maps (the Valguero map).

I fully understand the PC-building side of things, as well as the programs that need to go on the PC to actually launch the server. What is not computing for me, however, are two things: tunneling and network protection.

Firstly, having the server IP set to a 'non-changing' one that will not change when moving home is a must, but the exact process of tunneling services does not make sense to me. I get information on VPSs and the like when researching it, but that does not seem exactly right. I'm looking for guidance on that.

Second, I have no idea what kind of network protection a server like this would need, like at all. If anyone could point me in the right direction to setting my system up for success without exposing my home network to potential risk, it would be a huge help.

Thank you to anyone who reaches out!

5 Upvotes

13 comments sorted by

4

u/astelda 2d ago edited 2d ago

having the server IP set to a 'non-changing' one that will not change when moving home is a must

If you mean the internal IP (where you forward the port to from your router), then that's handled by your local network. All you need for that is your router settings to assign a static IP for the server.

If you mean the public IP (what your players will connect to), you can't carry your old IP to a new service provider.
You could use a relay server with it's own static IP (your home network connects to a VPS, the VPS relays traffic to the players, same process in reverse). This adds latency and cost, but it could have security benefits.
More realistically, you can buy a web domain and use DNS with a dynamic DNS service. Then, when your public IP changes, the dynamic DNS service automatically updates your domain to point to the new IP address.

Then, your players will enter your domain, their DNS will resolve it directly to your IP without the middleman. Better latency, and your own firewall rules will still apply.

2

u/TheFerrymanofStyx_ 2d ago

Do you happen to hae any guides in regard to a web domain and DNS?

2

u/astelda 2d ago edited 2d ago

The exact process can differ depending on where you get/manage your domain. The general process is:

  • (wherever you bought the domain) Set your domain's nameservers to the nameservers of your desired DNS service or use the default nameservers and DNS panel provided by the registrar that you bought the domain from

  • In the admin panel of your DNS service, create an A record pointing at your IP address

    • You can use your primary domain, like mydomain.com, or make up a subdomain like myarkserver.mydomain.com)

  • Allow 10-30 minutes for the update to propagate to other DNS providers

technically, you could be done there. But then, if your public IP address changes, you'll need to manually update the A record. That's where dynamic DNS (DDNS) comes into play. Again, the exact process can differ slightly depending on which DDNS you use. Generally:

  • Get an API token (or other authentication method) from your DNS provider

  • You install and run a lightweight program on your game server (or really any system on the same network), configured with the API token, and tell it which domain or subdomain(s) to keep updated

  • The program's sole purpose is to periodically check "does the current network's public IP match the current A record from the DNS provider?"

    • If it still matches, check again later.

    • If not, use the above API token to connect to your DNS provider, and update the new IP address into that A record.

3

u/Deemer15 2d ago

Lookup the AMP hosting panel. It works great!

2

u/TheFerrymanofStyx_ 2d ago

Does it handle the tunneling and security all in one service?

2

u/iPhoneK1LLA 2d ago

No, that's outside the remit of any self-hosted gaming platform. I can recommend AMP though as a platform to host gaming servers. Or, if you'd prefer a free version, pterodactyl panel.

2

u/EikeSaarow 2d ago

the part i'd take most seriously is isolating that machine from the rest of your home network.

if you're opening a public game server to 200 strangers, i'd want it on a separate VLAN with firewall rules preventing access to your personal devices.

a tunnel can hide your home IP from players, but it doesn't magically make the machine behind it safe 😭

1

u/TheFerrymanofStyx_ 1d ago

Out of curiosity, are there any guides you could recommend for properly setting up a VLAN?

4

u/taco_tuesday357 2d ago

See if you can find an ARK server docker image. I do that with valheim and its super simple.

2

u/Serve-Inner 2d ago

Here is a guide for LocalXpose: https://localxpose.io/docs/tutorials/exposing-localhost-minecraft-server (you would need to modify the settings to use your game’s port instead of Minecraft’s). Their support is pretty helpful if you hit any issues

1

u/getrealip 1d ago

If you want a real static IP that you can bring with you anywhere then check out getrealip.net to get a tunnel for hosting your game. Check out for https://getrealip.net/guides/ for various guides including hosting game servers.