Terraria Template



  • For this template, I based everything off the server config, which should make for an easy click install and click run.

    https://paste.ee/r/vD2TJ/0

    {
      "pufferd": {
        "type": "terraria",
        "display": "Terraria - Vanilla",
        "install": {
          "commands": [
            {
              "type": "download",
              "files": "http://terraria.org/server/terraria-server-${version}.zip"
            },
            {
              "type": "writefile",
              "text": "#!/bin/bash\nLinux/TerrariaServer -autoarch -config ${rootdir}/ServerConfig",
              "target": "LaunchTerraria"
            },
            {
              "type": "writefile",
              "text": "maxplayers=${maxplayers}\nworld=${rootdir}/TerrariaWorlds/world.wld\nport=${port}\npassword=${password}\nmotd=${motd}\nworldpath=${rootdir}/TerrariaWorlds/\nworldname=world\nsecure=1\nsteam=1\nautocreate=${worldsize}\n",
              "target": "ServerConfig"
            },
            {
              "commands": [
                "unzip terraria-server-${version}",
                "mv -v ${rootdir}/${version}/Linux/ ${rootdir}/Linux/",
                "chmod +x ${rootdir}/Linux/TerrariaServer",
                "chmod +x ${rootdir}/Linux/TerrariaServer.bin.x86",
                "chmod +x ${rootdir}/Linux/TerrariaServer.bin.x86_64",
                "chmod +x ${rootdir}/LaunchTerraria",
                "mkdir ${rootdir}/TerrariaWorlds/",
                "rm -f ${rootdir}/terraria-server-${version}.zip",
                "rm -Rf ${rootdir}/${version}"
              ],
              "type": "command"
            }
          ]
        },
        "run": {
          "stop": "exit",
          "pre": [],
          "post": [],
          "arguments": [],
          "program": "./LaunchTerraria"
        },
        "data": {
          "port": {
            "value": "7777",
            "required": true,
            "desc": "What port to bind the server to",
            "display": "Port",
            "internal": false
          },
          "version": {
            "value": "1353",
            "required": true,
            "desc": "Server Version (Set this to the latest server version)",
            "display": "Server Version",
            "internal": false
          },
          "maxplayers": {
            "value": "8",
            "required": true,
            "desc": "Max number of players (Value must be between 1 and 255)",
            "display": "Max number of players",
            "internal": false
          },
          "worldsize": {
            "value": "2",
            "required": true,
            "desc": "World Size (1=small, 2=medium, 3=large)",
            "display": "World Size",
            "internal": false
          },
          "motd": {
            "value": "Welcome",
            "required": false,
            "desc": "Message to display on login",
            "display": "Message to display on login",
            "internal": false
          },
          "password": {
            "value": "",
            "required": false,
            "desc": "Password",
            "display": "Password",
            "internal": false
          }
        }
      }
    }
    

    Updated (7/5/2018):

    • World name should not have a space. Removed this as a ui parameter since there would only be one world per server anyways.
    • Additional cleanup after installation.
    • Add #!/bin/bash to prevent error on start

    Inspired from: https://community.pufferpanel.com/topic/577/


 

1
Online

833
Users

849
Topics

3.6k
Posts