Surprise! We've been running on hardware provided by BuyVM for a few months and wanted to show them a little appreciation.
Running a paste site comes with unique challenges, ones that aren't always obvious and hard to control. As such, BuyVM offered us a home where we could worry less about the hosting side of things and focus on maintaining a clean and useful service! Go check them out and show them some love!
Description: gmod_withargs.json
Submitted on May 24, 2018 at 03:55 PM

{
  "pufferd": {
    "type": "srcds",
    "display": "Garry's Mod (with additional arguments)",
    "install": {
      "commands": [
        {
          "files": "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz",
          "type": "download"
        },
        {
          "commands": [
            "mkdir steamcmd",
            "tar --no-same-owner -xzvf steamcmd_linux.tar.gz -C steamcmd",
            "steamcmd/steamcmd.sh +login anonymous +force_install_dir ${rootdir} +app_update 4020 validate +quit",
            "mkdir -p .steam/sdk32",
            "cp steamcmd/linux32/steamclient.so .steam/sdk32/steamclient.so"
          ],
          "type": "command"
        }
      ]
    },
    "run": {
      "stop": "exit",
      "pre": [],
      "post": [],
      "arguments": [
        "+ip",
        "${ip}",
        "+port",
        "${port}",
        "-game",
        "garrysmod",
        "+map",
        "${map}",
        "+maxplayers",
        "${maxplayers}",
        "-norestart",
        "${args}"
      ],
      "program": "./srcds_run"
    },
    "environment": {
      "type": "tty"
    },
    "data": {
      "map": {
        "value": "gm_construct",
        "required": true,
        "desc": "Map to load by default",
        "display": "Map",
        "internal": false
      },
      "maxplayers": {
        "value": "20",
        "required": true,
        "desc": "Max players allowed on server",
        "display": "Max Players",
        "internal": false,
        "type": "integer"
      },
      "ip": {
        "value": "0.0.0.0",
        "required": true,
        "desc": "What IP to bind the server to",
        "display": "IP",
        "internal": false
      },
      "port": {
        "value": "27015",
        "required": true,
        "desc": "What port to bind the server to",
        "display": "Port",
        "internal": false,
        "type": "integer"
      },
      "args": {
        "value": "",
        "required": false,
        "desc": "Define arguments to pass into the starting command",
        "display": "Additional Arguments",
        "internal": false
      }
    }
  }
}