Skip to content

Instantly share code, notes, and snippets.

@nin-jat
Last active January 5, 2022 07:40
Show Gist options
  • Save nin-jat/3d22752304bdbf3c7f6f8bcc66f8cc10 to your computer and use it in GitHub Desktop.
Save nin-jat/3d22752304bdbf3c7f6f8bcc66f8cc10 to your computer and use it in GitHub Desktop.
Pufferpanel/pufferd template for KissMP
{
"name": "KissMP",
"display": "KissMP for BeamNG",
"type": "other",
"install": [
{
"target": "installer.sh",
"text": "#!/bin/bash\n\n# Firstly, Download the latest version from github.\necho \"Downloading the latest version of kissmp from github.\"\ncurl -s https://api.github.com/repos/TheHellBox/KISS-multiplayer/releases/latest | grep -ow \"https.*releases/download.*zip\" | wget -O kissmp-latest.zip -qi -\n\necho \"Extracting kissmp-server.\"\n# Extract the executable. (linux)\nunzip -jo kissmp-latest.zip */kissmp-server\n\n# Windows\n#unzip -jo kissmp-latest.zip */kissmp-server.exe\n\necho \"Cleaning up downloaded files.\"\n# Delete the downloaded zip file.\nrm kissmp-latest.zip\n\necho \"Allow execution of server binary.\"\n# Change the permissions to allow executing.\nchmod +x kissmp-server\n\necho \"Generate the config.json\"\n# Start the server and kill it after 2 seconds to generate the json file.\ntimeout 2 ./kissmp-server > /dev/null",
"type": "writefile"
},
{
"commands": [
"sh ./installer.sh"
],
"type": "command"
}
],
"run": {
"stopCode": 15,
"command": "./kissmp-server",
"workingDirectory": "",
"pre": [
{
"file": "config.json",
"regex": true,
"replace": "\"server_name\": \"${server_name}\"",
"search": "\"server_name\":\\s*\"(.*)\"",
"type": "alterfile"
},
{
"file": "config.json",
"regex": true,
"replace": "\"description\": \"${description}\"",
"search": "\"description\":\\s*\"(.*)\"",
"type": "alterfile"
},
{
"file": "config.json",
"regex": true,
"replace": "\"map\": \"/levels/${map}/info.json\"",
"search": "\"map\":\\s*\"(.*)\"",
"type": "alterfile"
},
{
"file": "config.json",
"regex": true,
"replace": "\"port\": ${port}",
"search": "\"port\":\\s*(\\d*)",
"type": "alterfile"
},
{
"file": "config.json",
"regex": true,
"replace": "\"max_players\": ${max_players}",
"search": "\"max_players\":\\s*(\\d*)",
"type": "alterfile"
},
{
"file": "config.json",
"regex": true,
"replace": "\"max_vehicles_per_client\": ${max_vehicles_per_client}",
"search": "\"max_vehicles_per_client\":\\s*(\\d*)",
"type": "alterfile"
},
{
"file": "config.json",
"regex": true,
"replace": "\"show_in_server_list\": ${show_in_server_list}",
"search": "\"show_in_server_list\":\\s*(true|false)",
"type": "alterfile"
}
],
"post": [],
"environmentVars": {}
},
"data": {
"description": {
"type": "string",
"desc": "Some details about your server",
"display": "Description",
"value": "Vanilla KissMP Server with Pufferpanel",
"userEdit": true
},
"map": {
"type": "string",
"desc": "The name of the map to use",
"display": "Map",
"value": "smallgrid",
"userEdit": true
},
"max_players": {
"type": "integer",
"display": "Max Players",
"value": "8",
"userEdit": true
},
"max_vehicles_per_client": {
"type": "integer",
"desc": "The max vehicles each player can have",
"display": "Vehicle Limit",
"value": "3",
"userEdit": true
},
"port": {
"type": "integer",
"desc": "the netowrking port to use",
"display": "Port",
"required": true,
"value": "3698",
"userEdit": true
},
"server_name": {
"type": "string",
"desc": "The public name of this server",
"display": "Server Name",
"value": "KissMP using Pufferpanel",
"userEdit": true
},
"show_in_server_list": {
"type": "boolean",
"desc": "Show this server in the server browser",
"display": "Visible",
"value": true,
"userEdit": true
}
},
"environment": {
"type": "tty"
},
"supportedEnvironments": [
{
"type": "tty"
}
]
}
@nin-jat
Copy link
Author

nin-jat commented Jan 5, 2022

Prerequisites: curl wget unzip and timeout

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment