Installing a Valheim server

Now that I have Proxmox I can easily spin up VMs or containers for things I would ordinarily be suspicious of running on my real server. I’ve been enjoying the game Valheim recently so I ran a server there following these instructions. In detail.

First, I took a detour through Game Server Managers that ended up being a dead end. These are special OS installs optimized for installing game servers, often Linux-based. I was hoping for something with a button to press that said “install Valheim”. I didn’t find anything Proxmox specific. I liked the look of AMP but it’s proprietary. I installed this TurnKey GameServer and tried to get it working but ran into a lot of problems. I finally decided using a manager was adding unnecessary complexity, particularly since I have Proxmox as a VM manager already.

So I installed Debian 12.4 in a VM on Proxmox. Then I followed these instructions for installing Valheim which more or less worked although read the comments on the gist for some updates since the instructions were written. It’s all pretty straightforward except for the use of steamcmd, a new-to-me tool. That’s a command line version of Steam for running servers and the management of authentication, etc is a little opaque. Since these instructions were written Steam has added an anonymous mode for game servers that might be easier.

It all basically just worked. Last thing I had to do was forward port 2456 on my router so I could connect from elsewhere.

Proxmox makes this kind of tinkering a pleasure. I like how I can snapshot a guest OS and try something with a chance of recovery. I also like the full isolation of a VM. I should set up some sort of subnet so that I can install things like this that can’t access my main home LAN. Only it still has to be able to talk to the Internet through the router. That’s tricky but I think Proxmox has some help for doing that.

I’m trying to use Debian instead of Ubuntu for this kind of project. It’s surprisingly different, like it doesn’t use netplan for network config by default. Here’s a list of packages I installed that I’ll probably want in any Debian system:

sudo joe chrony curl screen net-tools avahi-daemon