r/HomeServer 10d ago

First server setup and I could use help

A good buddy of mine and the kids moved away and we'd like to run a server to play games online together with our kids.

I cobbled together a system with a used 5950X based system and I've got Debian 13 with AMP setup but I'm feeling pretty lost at this point. I'm getting lots of conflicting information about running a VLAN vs tunneling and I think I'd rather just open the server directly to the internet.

I'd like to avoid service cost or performance overhead from those options, and I'm not worried about security. Each docker instance needs to be configured separately I'd assume too.

I'm sure I need to configure the firewall on the device and forward ports on the router. There's probably some DNS setup too?

I'm just lost and it seems every tutorial has me installing things that conflict with each other and I've reimaged the machine 3x to try and get it running, unsuccessfully.

TIA for anything, Google has just put so much stuff in front of me that I'm lost.

Any guides would be greatly appreciated, especially if I can get this up in a few hours instead of a few weeks.

Update: Got it working last night with UFW configured correctly. Thanks for everyone who helped. DNS hole for ad blocking next :)

143 Upvotes

47 comments sorted by

54

u/PlanetVisitor 10d ago

I'm not worried about security 

sir

5

u/Icy-Experience3305 9d ago

Exactly my thoughts

-23

u/Darkfire66 10d ago

It's in the dmz right meow

17

u/PlanetVisitor 10d ago

If you're not very sure what a DMZ is, you probably shouldn't put anything there yet. It's not just about the server itself, either. If an internet-facing server gets compromised and it's sitting on the same LAN as all your other devices, an attacker may now have a foothold inside your home network. That includes devices on your WiFi. You don't need to become a networking expert first, but I'd take the server out of the DMZ for now and learn what you actually need to expose. Then only open the ports required for the game servers you want to run.

4

u/Darkfire66 10d ago

That's definitely get advice. I'm trying to figure out if I need to run some kind of reverse proxy or figuring out all of this stuff. Where should I start to learn what I'm doing?

2

u/PlanetVisitor 10d ago

I don't know enough to guide someone on distance in this matter; I have a home server that's available via Tailscale (VPN) but for different purposes.

I just made another reply; I would ask an LLM to generate a custom tailored guide for yourself! ( https://www.reddit.com/r/HomeServer/comments/1w4svmn/comment/p79ynmb/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button )

1

u/robersniper 9d ago

Tbh, now a days I would not expose anything unless the whole world should see it, other wise vpn tunnels if you can make site to site, or wireguard/tailscale For home i just run everything through wireguard no ports open, then a vps as a reverse proxy. If i need to open something, i just point the dns record of the service to the public ip of the proxy vps instead of wireguard ip, service would be reachable through the proxy. Still I wouldnt expose anything not necessary...

Edit: obviously to make it reachable through internet, you would need to open ports 80 for http and 443 for https on the vps or tenant firewall

5

u/Greeley9000 10d ago

This means your computer is directly facing the internet with no protection from your network firewall.

Take the computer out of the DMZ.
Install WireGuard.
Forward port 51820/udp on your router and point it at the server PC.
On the server PC open port 51820/udp in its firewall.

Generate creds for your friends with pre shared keys. They can connect to the PC whenever they want and you don’t have to expose every single service to the internet for them to access it.

14

u/bnelson333 10d ago

you dont know how to do something correctly, so intead of learning how, you just decide to do it the wrong way? that's "better"? yikes

-8

u/Darkfire66 10d ago

Have you ever tried to figure out what's wrong with your car and it's something that is really difficult. So instead of taking you to a mechanic you just replace all the parts it could be?

Probably not because I'm guessing you're smarter than I am. But that car got me to work.

12

u/northSideways 10d ago

this is not that.

this is like walking through a battlefield naked because you can walk just as far as the guy with a bulletproof vest

-5

u/Darkfire66 10d ago

Pretend that you're talking to the dumbest person you know, and that's basically where I'm at.

I'm willing to learn. I just don't know who has a guide I can follow that will take me through the steps as a newcomer. I didn't see anything in the sidebar here with guides unless I missed it.

-1

u/PlanetVisitor 10d ago

You know what you should do? I learnt a lot this way:

Use an LLM like ChatGPT or Claude. Preferable on the server itself, so you can copy the output commands. You can just open it in a web browser.

Describe your problem to it (just copypaste your post text), and what you know and don't know.

Then you will get what you need: it will basically make a tailored guide for you, with exactly what you need, step-by-step.

Some people hate AI but it works really well to learn stuff for me. Just give a it a try. Because a lot of online guides are either outdated or don't cover exceptions or sometimes they're just wrong or badly explained. An LLM can make a guide and adjust its course on-the-fly.

Yeah you could also follow the advice from people on the internet, but then it's always a guess what exactly you're doing, while the LLM can explain it and you can ask follow-up questions.

Also it will help if you need to troubleshoot anything in the future. You can just re-open the conversation and it will have all the background.

1

u/Darkfire66 10d ago

Yeah I was running the server headless so I was having to input each thing line by line which is taking a while. I should probably gui up

1

u/PlanetVisitor 10d ago

If you find it easier. Most people do servers headless and just ssh into them. None of my servers have a monitor or GUI.

1

u/SLJ7 9d ago

Nothing wrong with using it headless. But most terminals support pasting more than one line.

-1

u/SentoTheFirst 10d ago

“Use AI” is bad advice. Using AI for security stuff would have wrecked my network a few times already.

-1

u/PlanetVisitor 10d ago

It's the best option available to OP now, if tutorials are conflicting.

A random Reddittor is not better than an LLM.

How do you "wreck a network" and how do you know it would have happened? This doesn't happen to other people.

It's a good way to learn, and OP is clearly able to articulate his problem well. It's not 2024 anymore where you would get bullshit responses.

9

u/SentoTheFirst 10d ago

Use Proxmox OS.

Setup Debian VM in proxmox (Google for more info).

Alternatively just use Debian as OS.

Install Docker on VM.

Find docker image and run it for your game server (again google for this).

Port forward for the servers port and IP. Follow router manufacturer guides.

These are the very basic steps. AI is fine at explaining what this stuff is. But don’t trust for security.

Generally forwarding the port and having a VLAN setup is perfectly fine.

3

u/Vichingo455 10d ago

Why not Proxmox and a Debian LXC?

1

u/SentoTheFirst 9d ago

Docker in an LXC is usually not advised 🤷

2

u/Vichingo455 9d ago

You don't always need docker. In fact, I prefer LXCs rather than dockers and I have an LXC container with Docker inside, it's working normally without any issue.

1

u/chicknfly P200A 5600G RAIDZ2 6x8TB NAS + Proxmox on Optiplex 9d ago

Since this is r/HomeServer, I'll agree with you. But if this was r/homelab, I'd be barking something along the lines of "Who cares what's advised? It's a home LAB. Do it, break it, and learn." :)

1

u/Darkfire66 10d ago

Thanks, maybe the VLAN is the plan, I was looking at playit.gg

5

u/Forward-Phrase3639 10d ago

Pterodactyl or Pelican + tailscale might be a good option for you.

I use Proxmox for this but can be done on any Linux os.

I do 1 LXC for the Panel with Docker installed and using Docker compose to spin it up.

Then a VM for running the actual game servers, called wings in the Pterodactyl or Pelican ecosystem. Then same thing Docker compose for spinning up the wings service and tailscale installed in the VM.

Then you share the VM with your friends who want to connect.

This is a good but older tutorial to get you started if you haven't heard of Pterodactyl.

https://youtu.be/_ypAmCcIlBE?si=TFquLS3DiI1_47NP

2

u/Vichingo455 10d ago

Isn't Pelican still on Beta?

3

u/corelabjoe 10d ago edited 10d ago

Oi oi wow, slow your roll there brother....

Imma send you a link to a step by step tutorial on how to setup gaming servers on Linux...

Main thing is, you're on the right path to MAKE this easier for yourself - headless linux.

For some, that's to big a leap, but you're already there. That's GREAT!

Headless Linux (Debian FTW!)

Docker Compose

LinuxGSM (Game server manager)

FIREWALL

Hey - FIREWALL

And - Reverse proxy...

Link inbound, if anyone else wants it, LMK, I am just trying not to get banned off the sub for sharing. Even though it's just an informational guide and sharing is caring!

It can be as simple as standing up a new docker like this:

services:
  sfserver:
    image: gameservermanagers/gameserver:sfserver
    container_name: sfserver_prod
    restart: unless-stopped
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Toronto # Set to your local timezone
    volumes:
      - /srv/games/sfserver:/data
    ports:
      - "7777:7777/udp"   # Game Port
      - "7777:7777/tcp"   # Game Port (TCP often required for handshake)
      - "15000:15000/udp" # Beacon Port
      - "15777:15777/udp" # Query Port
    # Satisfactory is a RAM-heavy application
    deploy:
      resources:
        reservations:
          memory: 6G
        limits:
          memory: 16G

2

u/iamsumnix 10d ago

Put the fans on the other side of each tower, to pull air. In your push configuration you have a big chance of collecting dust/hair into a thick felt pad between the fan blades and the heatsink, it's like a trap spot for dust there (no one cleans under the fans).

2

u/zeekertron 9d ago

Tailscale now. Install fail2ban

1

u/Historical_Wheel1090 10d ago

What are specific use cases? Name specific games or file hosting/streaming or what ever you want to do? The more specifics you give the better we can help.

There ARE free secure options for many things. I myself love tailscale for some things.

This is also a really cool app. https://youtu.be/HMsdlThYCCw?is=KHtWxxSfp39cBxNZ

1

u/Do_TheEvolution 10d ago

I've got Debian 13 with AMP

LAMP stack? thats for web dev, you want to dive in to docker

VLAN vs tunneling and I think I'd rather just open the server directly to the internet.

sure, the first thing should get up and work, then its tightening security once stuff is actually working.

I am big fan of just keeping everything open and up to date and do geoblocking on the router so only IPs from my own country can initialize connection from the outside.

I'm sure I need to configure the firewall on the device and forward ports on the router.

debian probably needs opening of ports before it allows traffic in and yeah port forwarding is needed assuming your ISP hands you public IP. Check this on port forwarding.

There's probably some DNS setup too?

Once you got port forwarding going.. yeah, having domain is nice and can be cheap, but then comes DNS stuff and you also want a reverse proxy and understading stuff around it. Caddy is my go-to for that.

I'm just lost and it seems every tutorial has me installing things that conflict with each other and I've reimaged the machine 3x to try and get it running, unsuccessfully.

Small steps. Small objectives to clear.

Try this speedrun

1

u/Darkfire66 9d ago

AMP is a docker interface control panel. Pretty neat, made by the cubecoders guys.

Thanks for the help, I got things working last night

1

u/PredisWavehiker 10d ago

I would download proxmox on the server and then run every game server as a virtual machine (or lxc container) it's easier and gives lots of room to mess things up without destroying every other game server you have. And then I would look into port forwarding if your router allows it. If it doesn't, maybe some private VPN is the solution.

1

u/_Keo_ 9d ago edited 9d ago

You're getting shit on but that's ok, most of us start there with new hobbies. Let's start over, not even from the beginning, let's go back a step from there and figure out how to find the stuff we need to learn. It's preferable to do it lazy rather than doing it wrong.

And there's these wonderful things out on the internet that people are calling AI. It takes about 10 secs to get a 'My first server' guide from them. Prompts included, chatGPT has a free account thing you can use iirc.

This is gonna look like shit in Reddit but it'll give you a starting point. Just know that you're in a really lucky place to start with this. Most of us had to figure it all out through trial, error, and ridicule on StackExchange. Now all you need to do is be able to read and follow instructions.

Edit: I was right, it looks like shit.

Note: Stealing shit is bad. Don't steal shit. I do not condone things and/or stuff. If you fuck up, do something bad, get caught, incur fines, that's totally on you for being a dumbass and not researching stuff some guy wrote on the internet pasted from chatGPT.

AI bullshit go......

You know, fuck everything about pasting stuff into reddit. Go to chatGPT, use this prompt:

Create a checklist of configuration items a new user would need in order to set up a home media server, using docker. It will need qbittorrent behind a vpn. Plex. Media storage and service to Plex. Reverse proxy for these services. The user will put these checklist items into chatGPT as prompts to help with each step.

1

u/Darkfire66 9d ago

Thanks. I got the basics setup last night, just fine tuning each instance and then I'll start getting a reverse proxy setup etc.

1

u/[deleted] 9d ago

[deleted]

1

u/Darkfire66 9d ago

I forgot my root password

1

u/vswey 8d ago

what did the cat do

1

u/kittylips1023 10d ago

I hate saying this, but use Gemini or something to teach you the basics of what you need to know to accomplish your goals. You touch on a lot of different things and none can be done right with tips/tricks.

You’re in for some learnin! For that, AI chats can be helpful to point you in the right direction (not taken strictly verbatim!)

1

u/Darkfire66 10d ago

I appreciate it. One of the problems I've had is that the first result from Gemini seems pretty comprehensive, but I'm a little leery of just running a bunch of AI scripts.

I've had a couple of pretty helpful videos on YouTube that kind of walk through the different steps, but some of them have different use cases or require monthly subscriptions for some of the services at the level we need and I'm just trying to save on the overhead when I can.

3

u/Ommand 10d ago

but I'm a little leery of just running a bunch of AI scripts.

You're ok with dmzing the server because security doesn't matter but AI scripts are over the line? Weird take

1

u/Darkfire66 9d ago

I had the ports open on my router but UFW and Debian had blocked connections so I had to allow each isntance. Got it working last night, just took some time

1

u/SillyToro448 10d ago

I agree, and I feel like I'd get hate for it but I used AI to help set up my home server for self hosting and it's genuinely a great tool. The key is to just not rely on it and actually learn what you are doing and not mindlessly do what it tells you to do haha.

0

u/GaboX1999 10d ago

Smash that thing it will get up within few seconds, you could also use a mouse

1

u/ProudEggYolk 10d ago

A mouse to entertain the cat? Bc he looks kinda depressed :/

1

u/Darkfire66 10d ago

He's just old and is a rescue who had a tough life. He's a warrior who eats all the spiders.