Steamcmd, proton & some other stuff for running windows native game servers.
2.2K
The github repo for developing the container.
RELEASE
Functionality working as required (tested with VRising windows steam server)
Check changelog for more information
cm2network/steamcmd as a base imageprotonThis is a base image for certain game servers that are not Linux native. Use default [cm2network/steamcmd] if Windows is not required (waaaaaaay more efficient))
Source container provided by Valve SteamCMD - Docker
This container has been built as part of the PEON project. The intention is to make deploying servers accessible to non-programmer container-skilled persons. It would be great if you'd be willing to test the PEON project and provide feedback. Go here to get started.
This recipe can be used without the wider PEON project components.
For this guide, please make sure you have Docker Compose installed and running.
docker-compose.yml in the directory with the content being described in the README.md file for that game.actions directory (i.e. server_start, init_custom) are executable by the docker user.chown 1000:1000 server_start
chmod u+x server_start
docker-compose up -d/docker compose up -d. You can then follow the deployment using docker-compose logs -fYou can change any of the settings in the docker-compose.yml file according to your needs.
e.g. Enshrouded
services:
server:
container_name: peon.warcamp.enshrouded
hostname: peon.warcamp.enshrouded
image: umlatt/steamcmd-proton
ports:
- 15636:15636/tcp
- 15636:15636/udp
- 15637:15637/tcp
- 15637:15637/udp
environment:
- PORT=15636
- QUERYPORT=15637
- STEAM_ID=2278520
- SERVER_NAME="Some Cool Servername"
- PASSWORD="Some Password"
volumes:
- $PWD/enshrouded/actions:/actions
- $PWD/enshrouded/data:/home/steam/steamcmd/data
- $PWD/enshrouded/config:/home/steam/config
- $PWD/enshrouded/user:/home/steam/steamcmd/data/savegame
user: 1000:1000
This can be deployed as a stand-alone container to run a Windows-based Steam game server, without the PEON integration. This can be done as follows.
# Start server
docker run -dit --entrypoint /bin/bash --name steamedproton -p [gameport_01]:[gameport_01] umlatt/steamcmd-proton:latest
# Access container
docker exec -it steameproton bash
The point of this container is to allow for Windows-based steamcmd game servers to run, which does mean a little fiddling to get going. As a general rule, the below code should get the final components up for you. Just start your game server as in the last line.
# For the most simple result, `cd` into the folder where the `*.exe` file lives, as proton can get confused by unix pathing
cd /home/steam/steamcmd/data
/home/steam/steamcmd/compatibilitytools.d/GE-Proton9-18/proton run thegameserver.exe
An OpenSource project to assist gamers in self-deploying/managing game servers.
Intended to be a one-stop-shop for game server deployment/management.
If run on a public/paid cloud, it is architected to try to minimise costs (easy schedule/manage uptime vs downtime)\
PEON is an open-source project that I am working on in my spare time (for fun). However, if you still wish to say thanks, please pick up a virtual coffee for me at Ko-fi.
Content type
Image
Digest
sha256:99ba605dd…
Size
1.3 GB
Last updated
10 days ago
docker pull umlatt/steamcmd-proton