Skip to main content

Adding a custom service to the panel

If you have a custom game or application that you would like to add to our panel, you can follow the guide below.

Requirements

  • Knowledge of using SSH/sFTP
  • You will need to upload the game files yourself
    • If the game depends on additional libraries do let us know by opening a support ticket and we can get these added for you.
  • Knowledge of how the game/application is configured and started.

Step 1

Firstly you will need to login into your service using SSH or sFTP and navigate to the /home/minecraft folder.

Once there create a new folder with the same name as the game/application you would like to add then open the folder (e.g yourGame)

Upload the game files to the folder you just created

Step 2

Now that we have the files uploaded go back to /home/minecraft and create a folder named .schemas and then open it.

Now create a new JSON file with the same name as your game/application such as yourGame.json

Open the file to edit it and copy-paste the following into the file.

{
	"type": "game", //Will accept "other" or "game", is ignored by the API, but is used when inside .schemas dir on a service. [Optional]
	"displayName: "YourGame", //Any string, only used by CreeperPanel when loaded from .schemas on a service. [Optional]
	"icon": "icon", //Can be a https URL or a font-awesome icon, only used by CreeperPanel when loaded from .schemas on a service [Optional]
	"daemon":"yourGame.sh", //The executable name, can include some args like in the case of srcds_run, it would be srcds_run -game <blah> to make unique [Required]
	"runningCount": 2, //Amount of times it shows up in ps aux, with screen and grep it's self filtered. [Required]
	"stopCommand": "", //Command that is sent into the screen to force a graceful stop, can be an array if you require to save, then stop [Required, can be blank string or empty array]
	"startCommand": "./yourGame.sh", //Command required to start, is ran inside screen already. [Required]
	"logLocation": "screenlog.0", //Relative location to the log we deliver. [Required]
	"stopWait": 30, //Amount of time from 'requested' stop to when we kill the executable, recommend omitting unless you have issues. [Optional]
	"path": "" //Base path of the service, recommend omitting unless you have issues. [Optional]
	"steam": { //Only for API schemas, required if you want versions to be imported. [Optional]
		"id": 0, //Steam app id
		"name": "Game Dedicated Server", //The name of the dedicated server app from steamdb
		"minPackage": 17, // ID of minimum CreeperHost plan
		"icon": "<https://aniconurlhere.jpg>", //Icon url location, preferably from our own cdn. MUST be https.
	},
	"argSeperator": " ", //What to seperate each key value pair with before the next in the start arg parsing (gamecode.config) [Optional]
	"kvSeperator": "=", //What to seperate each key and value with. So key=value in the default case. [Optional]
}

Edit the contents as needed such as changing the display name and the deamon and start command.

Once you are happy with the file save and make sure the file is uploaded then refresh or log out and back into the panel.

If all went well you should now see the game/application in the Games & Software section of the sidebar and if you click on it it should load the console page where you will be able to start it up.

If you have any questions or issues in getting your game/application to show up in the panel do let us know by opening a support ticket!

You may also submit your custom game to us either through the bounties page on the panel or by opening a support ticket.