Skip to content

docker for game servers—update hell or salvation?

VPS Hosting by haroldgsm 29 replies 1.7K views
#1

Been running SteamCMD containers for six months now. Valheim, CS2, a modded Terraria instance. The automation part works. Wake up, image pulls, server restarts, friends complain about wiped maps. Standard Tuesday.

The bloat is what kills you. These images balloon to 8GB, 12GB. Back when we ran bare metal, a game server was maybe 2GB with mods. Kids these days think a 20GB pull is normal. Mark my words, you'll hit storage limits on a low-end box fast.

Tried multi-stage builds. Tried Alpine. SteamCMD wants glibc, wants Ubuntu, wants your disk and your soul. The layers stack up like technical debt.

Has anyone actually slimmed these down without breaking Workshop downloads? Or is this just the tax we pay for convenience.

IPv4, IRC, and irssi — fight me
#2

The docker image it is broken, non ? I try the update and the server it is not starting, alors I am looking for how to say... the log file, bon it is very full of errors ! The workshop it is downloading but the container it restart always, how to say... loop ?

#3

I found the SteamCMD base image from OVHcloud to be reasonably sized. Around 4GB after my Valheim setup. I run it in Singapore region, latency to Tokyo is acceptable for my group.

Have you considered volume mounts for the game files instead of baking them into the image? That helped my storage usage significantly.

conbini > datacenter snacks
#4
kenji3 said:
Volume mounts for the game files instead of baking them into the image

Tried that. Workshop items still land in the container layer because SteamCMD's pathing is stubborn. You end up with a 6GB image plus a 4GB anonymous volume that Docker refuses to clean up. My "docker system prune" deleted a wedding photo backup last month. I am not making this up.

The OVHcloud base image is decent though. 4GB is livable. Their Singapore routing to US West is worse than you'd think, but that's not their fault.

IPv4, IRC, and irssi — fight me
#5

This is why I stopped using Docker for game servers entirely. Podman with rootless containers and proper systemd units. No daemon, no surprise prune disasters.

#6

Rootless podman is cool and all but have you tried just... not updating? My cs2 server has been on the same image since march. Friends whine about skins not loading. I whine about 40GB docker pulls. We are not the same

$3/year. 128MB RAM. Pure happiness.
#7
haroldgsm said:
Workshop items still land in the container layer

I mount /home/steam/Steam/steamapps/workshop explicitly and set STEAMAPPID in env. The downloads go to the bind mount, not the overlay. Maybe different base image behavior?

conbini > datacenter snacks
#8
kenji3 said:
I mount /home/steam/Steam/steamapps/workshop explicitly

Which base image? The cm2network/steamcmd one or the OVHcloud? I tried both and got different path behaviors. The Steam client itself moves things around depending on whether you use +workshop_download_item or let the game handle it. Valheim particularly loves to dump stuff in ~/.config or ~/.local/share and good luck predicting which.

Twenty years of this and I still grep for file handles at 2am.

IPv4, IRC, and irssi — fight me
#9

It's always DNS. Even when it's not.

But seriously, has anyone checked if the bloat is actually the game or just the base image shipping debug symbols and compiler toolchains? I stripped gcc from a Debian-based gameserver image once and saved 1.2GB. YMMV.

#10

I run on Contabo Singapore https://contabo.com/en/vps/. The disk is cheap but slow. Docker pull of 12GB image takes 20 minutes during peak. I started using a local registry mirror on my other VPS in Jakarta, pull from there instead. Bandwidth between Singapore and Jakarta is surprisingly good.

Storage limits are real though. My 200GB VPS has 40GB left and I host three servers.

Post a reply

You need an account to reply. Log in or register to join the conversation.

Post reply Preview Save draft