Sign inSign up

bgubs/puck-steamcmd

By bgubs

•Updated about 1 year ago

Docker container that runs SteamCMD and Puck Dedicated Server. Optimized for Unraid.

Image
Web servers
0

979

bgubs/puck-steamcmd repository overview

⁠Puck Dedicated Server | SteamCMD | Docker | Optimized for Unraid

This Dockerfile will download and install SteamCMD and the Puck Dedicated Server (PuckDS).

ATTENTION: First startup can take a few minutes while the container updates, downloads, and installs SteamCMD and the relevant game server files.

INFO: You can run multiple servers with only one SteadCMD directory. Be sure to modify the SERVER_DIR, GAME_PORT, and PING_PORT variable values as those can't be reused.

⁠Template ENV Variables for PuckDS

NameDescriptionDefault/Example Value
STEAMCMD_DIRDirectory where SteamCMD is installed/serverdata/steamcmd
SERVER_DIRDirectory where the game server files are stored/serverdata/serverfiles
GAME_NAMEThe name of your game serverMy Puck Server
GAME_PASSWRDPassword for joining the server (if desired)supersecret
GAME_PORTMain game port7777
PING_PORTPing/Query port7778
MAX_PLAYERSMaximum number of players allowed10
VOIPEnable in-game voice chatfalse
IS_PUBLICWhether the server is publicly listedtrue
ADMIN_IDComma-separated list of Steam Admin IDs76561198237976801
START_PAUSEWhether the game match starts in paused statefalse
ALLOW_VOTEEnable or disable voting in-gametrue
GAME_IDSteam Game App ID (Don't change)3481440
VALIDATEForce validation of server filestrue
TARGET_FRTarget server frame rate120
SERVER_TRServer tick rate100
CLIENT_TRClient tick rate200
RELOAD_BAN_IDReload ban IDs on container restartfalse
USE_PUCK_BAN_IDUse Puck's official ban listtrue
PRINT_METRICPrint server performance metricstrue
KICK_TOKick timeout (seconds)300
SLEEP_TOServer sleep timeout (seconds)60
JOIN_MM_DELAYMatchmaking join delay (seconds)10
USERNAMESteam username for login (if desired)steamuser
PASSWRDSteam password for login (if desired)password (Avoid ,

NOTE: The USERNAME and PASSWRD variables are NOT required. Authentication for the SteamCMD portion is done anonymously. If you choose to still login with your username/password, then remember that Steam Guard needs to be disabled so it is highly advised to use an ALT Account. DO NOT disable Steam Guard on your primary Steam account.

⁠Server Name Text Formatting

If you'd like to add color, bold, or italic formats to the name of your server (shown in the server list in-game) then you'll need to modify server_configuration.json once the server has been ran at least once.

  1. From your server, navigate to the location of your game server files (e.g. /mnt/user/appdata/puck)
  2. Open server_configuration.json in your favorite text editor.
  3. To apply specific colors or text formatting, modify the GAME_NAME variables value to something similar to this:

<b><color=white>Example</color> <color=#008000ff>Server</color></b>

This is the result: Example Server properly formatted

Note: Refer to reference 4 below for more details on what colors and styles are supported.

⁠Run example

docker run -d --name='Puck' --net='host' --pids-limit 2048 \
  -p 7777:7777/udp -p 7778:7778/udp \
  -e 'GAME_NAME'='BigPucks' \
  -e 'GAME_PASSWRD'='password' \
  -e 'GAME_PORT'='7777' \
  -e 'PING_PORT'='7778' \
  -e 'MAX_PLAYERS'='12' \
  -e 'VOIP'='true' \
  -e 'IS_PUBLIC'='true' \
  -e 'ADMIN_ID'='76561198237976801' \
  -e 'VALIDATE'='' \
  -e 'USERNAME'='' \
  -e 'PASSWRD'='' \
  -e 'GAME_ID'='3481440' \
  -e 'TARGET_FR'='240' \
  -e 'SERVER_TR'='300' \
  -e 'CLIENT_TR'='300' \
  -e 'RELOAD_BAN_ID'='true' \
  -e 'USE_PUCK_BAN_ID'='true' \
  -e 'PRINT_METRIC'='true' \
  -e 'KICK_TO'='300' \
  -e 'JOIN_MM_DELAY'='10' \
  -e 'ALLOW_VOTE'='true' \
  -e 'START_PAUSE'='false' \
  -e 'SLEEP_TO'='60' \
  -v '/path/to/steamcmd':'/serverdata/steamcmd':'rw' \
  -v '/path/to/puck':'/serverdata/serverfiles':'rw' \
  'bgubs/puck-steamcmd:latest'

This Docker was mainly edited for better use with Unraid, if you don't use Unraid you should definitely try it!

A lot of this work was already done by ich777⁠ and damianisaacs⁠. I just modified and updated the projects for my use case so big thanks to both of you!

⁠References
  1. ich777 - docker-steamcmd-server⁠
  2. damianisaacs - steamcmdpuckserver⁠
  3. Puck Guide⁠
  4. Unity Rich Text Tags⁠

Tag summary

Content type

Image

Digest

sha256:b1a0cb793…

Size

168.5 MB

Last updated

about 1 year ago

docker pull bgubs/puck-steamcmd