_comment: 'DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL' meta: version: PLCN_v3 update_url: 'https://raw.githubusercontent.com/pelican-eggs/games-steamcmd/refs/heads/main/gmod/egg-garrys-mod.yaml' exported_at: '2026-04-21T18:00:52+00:00' name: 'Garrys Mod' author: panel@example.com uuid: 60ef81d4-30a2-4d98-ab64-f59c69e2f915 description: |- Garrys Mod, is a sandbox physics game created by Garry Newman, and developed by his company, Facepunch Studios. image: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZAAAAGQCAYAAACAvzbMAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFFmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiIHhtcDpDcmVhdGVEYXRlPSIyMDIyLTA1LTIwVDAyOjE4OjI2LTA1OjAwIiB4bXA6TW9kaWZ5RGF0ZT0iMjAyMi0wNS0yMFQwMjoyMDo1OC0wNTowMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMi0wNS0yMFQwMjoyMDo1OC0wNTowMCIgZGM6Zm9ybWF0PSJpbWFnZS9wbmciIHBob3Rvc2hvcDpDb2xvck1vZGU9IjMiIHBob3Rvc2hvcDpJQ0NQcm9maWxlPSJzUkdCIElFQzYxOTY2LTIuMSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDpmYTU0MjMzMy02ODllLTNh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' tags: - source - steamcmd features: - gsl_token - steam_disk_space docker_images: Source: 'ghcr.io/pelican-eggs/games:source' file_denylist: { } startup_commands: Default: './srcds_run -game garrysmod -console -port {{SERVER_PORT}} +ip 0.0.0.0 +host_workshop_collection {{WORKSHOP_ID}} +map {{SRCDS_MAP}} +gamemode {{GAMEMODE}} -strictportbind -norestart +sv_setsteamaccount {{STEAM_ACC}} +maxplayers {{MAX_PLAYERS}} -tickrate {{TICKRATE}} $( [ "$LUA_REFRESH" == "1" ] || printf %s ''-disableluarefresh'' )' config: files: { } startup: done: 'gameserver Steam ID' logs: { } stop: quit scripts: installation: script: |- #!/bin/bash # steamcmd Base Installation Script # # Server Files: /mnt/server ## just in case someone removed the defaults. if [ "${STEAM_USER}" == "" ]; then echo -e "steam user is not set. " echo -e "Using anonymous user. " STEAM_USER=anonymous STEAM_PASS="" STEAM_AUTH="" else echo -e "user set to ${STEAM_USER}" fi ## download and install steamcmd cd /tmp mkdir -p /mnt/server/steamcmd curl -sSL -o steamcmd.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz tar -xzvf steamcmd.tar.gz -C /mnt/server/steamcmd mkdir -p /mnt/server/steamapps # Fix steamcmd disk write error when this folder is missing cd /mnt/server/steamcmd # SteamCMD fails otherwise for some reason, even running as root. # This is changed at the end of the install process anyways. chown -R root:root /mnt export HOME=/mnt/server ## install game using steamcmd ./steamcmd.sh +force_install_dir /mnt/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ "${WINDOWS_INSTALL}" == "1" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6 ## set up 32 bit libraries mkdir -p /mnt/server/.steam/sdk32 cp -v linux32/steamclient.so ../.steam/sdk32/steamclient.so ## set up 64 bit libraries mkdir -p /mnt/server/.steam/sdk64 cp -v linux64/steamclient.so ../.steam/sdk64/steamclient.so # Creating needed default files for the game cd /mnt/server/garrysmod/lua/autorun/server echo ' -- Docs: https://wiki.garrysmod.com/page/resource/AddWorkshop -- Place the ID of the workshop addon you want to be downloaded to people who join your server, not the collection ID -- Use https://beta.configcreator.com/create/gmod/resources.lua to easily create a list based on your collection ID resource.AddWorkshop( "" ) ' > workshop.lua cd /mnt/server/garrysmod/cfg echo ' // Please do not set RCon in here, use the startup parameters. hostname "New Gmod Server" sv_password "" sv_loadingurl "" sv_downloadurl "" // Steam Server List Settings // sv_location "eu" sv_region "255" sv_lan "0" sv_max_queries_sec_global "30000" sv_max_queries_window "45" sv_max_queries_sec "5" // Server Limits sbox_maxprops 100 sbox_maxragdolls 5 sbox_maxnpcs 10 sbox_maxballoons 10 sbox_maxeffects 10 sbox_maxdynamite 10 sbox_maxlamps 10 sbox_maxthrusters 10 sbox_maxwheels 10 sbox_maxhoverballs 10 sbox_maxvehicles 20 sbox_maxbuttons 10 sbox_maxsents 20 sbox_maxemitters 5 sbox_godmode 0 sbox_noclip 0 // Network Settings - Please keep these set to default. sv_minrate 75000 sv_maxrate 0 gmod_physiterations 2 net_splitpacket_maxrate 45000 decalfrequency 12 // Execute Ban Files - Please do not edit exec banned_ip.cfg exec banned_user.cfg // Add custom lines under here ' > server.cfg container: 'ghcr.io/pelican-eggs/installers:debian' entrypoint: bash variables: - name: Gamemode description: 'The gamemode of your server.' env_variable: GAMEMODE default_value: sandbox user_viewable: true user_editable: true rules: - required - string sort: 5 - name: 'Lua Refresh' description: "0 = disable Lua refresh,\r\n1 = enable Lua refresh" env_variable: LUA_REFRESH default_value: 0 user_viewable: true user_editable: true rules: - boolean sort: 8 - name: Map description: 'The default map for the server.' env_variable: SRCDS_MAP default_value: gm_flatgrass user_viewable: true user_editable: true rules: - required - string - alpha_dash sort: 1 - name: 'Max Players' description: 'The maximum amount of players allowed on your game server.' env_variable: MAX_PLAYERS default_value: 32 user_viewable: true user_editable: true rules: - required - integer - 'max:128' sort: 6 - name: 'Source AppID' description: 'Required for game to update on server restart. Do not modify this.' env_variable: SRCDS_APPID default_value: 4020 user_viewable: false user_editable: false rules: - required - string - 'max:20' sort: 3 - name: 'Steam Account Token' description: 'The Steam Account Token required for the server to be displayed publicly.' env_variable: STEAM_ACC default_value: '' user_viewable: true user_editable: true rules: - nullable - string - alpha_num - 'size:32' sort: 2 - name: Tickrate description: "The tickrate defines how fast the server will update each entity's location." env_variable: TICKRATE default_value: 22 user_viewable: true user_editable: true rules: - required - integer - 'max:100' sort: 7 - name: 'Workshop ID' description: 'The ID of your workshop collection (the numbers at the end of the URL)' env_variable: WORKSHOP_ID default_value: '' user_viewable: true user_editable: true rules: - nullable - integer sort: 4