Merge branch 'master' into add/lavalink

This commit is contained in:
Michael (Parker) Parker 2020-10-25 23:16:12 -04:00 committed by GitHub
commit ca84387336
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
46 changed files with 2941 additions and 307 deletions

View File

@ -1,4 +1,4 @@
# Parkers Pterodactyl eggs repo
# Parkers Pterodactyl eggs repo
I am working on adding a large collection of public eggs for the Pterodactyl community.
@ -32,6 +32,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [CorpBot](/bots/discord/corpbot/) Python
* [discord.js](bots/discord/discord.js/) Node JS generic
* [discord.py](bots/discord/discord.py/) Python generic
* [discordgo](bots/discord/discordgo/) golang generic
* [fragbot](/bots/discord/fragbot/) Golang
* [jmusicbot](/bots/discord/jmusicbot) Java
* [parkertron](/bots/discord/parkertron/) Golang
@ -41,25 +42,34 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Twitch](/bots/twitch)
* [PhantomBot](/bots/twitch/phantombot/)
* [sogeBot](/bots/twitch/sogebot/)
[Other](/bots/other/)
* [Big Brother Bot](/bots/other/bigbrotherbot)
* [TeamSpeak3](bots/teamspeak3)
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/)
## [Database](/database/)
### [SQL] Databases
* [MariaDB](/database/sql/mariadb/)
* [PostgreSQL](/database/sql/postgres/)
### In-Memory Databases
[Redis](/database/redis/)
* [Redis 5](/database/redis/redis-5)
* [Redis 6](/database/redis/redis-6)
### noSQL
* [mongoDB](/database/nosql/mongodb)
### SQL Databases
* [MariaDB](/database/sql/mariadb/)
* [PostgreSQL](/database/sql/postgres/)
## Voice Servers
* [Lavalink](/voice_servers/lavalink)
* [teaspeak](/voice_servers/teaspeak)
## Game Eggs
[Among Us Impostor Server](/among_us/impostor_server)
[ET Legacy](/enemy_territory/etlegacy/)
[Factorio](/factorio/factorio/)
@ -97,10 +107,11 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [VanillaCord](/minecraft/java/vanillacord/)
* [Proxies](/minecraft/proxy/) (these are for the java version of minecraft)
* [Waterfall](/minecraft/proxy/waterfall/)
* [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/)
* [Travertine](/minecraft/proxy/travertine/) Java
* [Velocity](/minecraft/proxy/velocity/)
* [Waterdog](/minecraft/proxy/waterdog/) Java/Bedrock
* [Waterfall](/minecraft/proxy/waterfall/)
[OpenRA](/openra/)
* [OpenRA Dune2000](/openra/openra_dune2000)
@ -117,6 +128,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Arma](/steamcmd_servers/arma/)
* [Arma 3](/steamcmd_servers/arma/arma3/)
* [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/)
* [Avorion](/steamcmd_servers/avorion/)
* [Citadel: Forged with Fire](/steamcmd_servers/citadel)
* [Conan Exiles](/steamcmd_servers/conan_exiles)
* [Don't Starve](/steamcmd_servers/dont_starve)
@ -129,11 +141,12 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Onset](/steamcmd_servers/onset)
* [PixARK](/steamcmd_servers/pixark/)
* [Project Zomboid](/steamcmd_servers/project_zomboid/)
* [Rising World](/steamcmd_servers/rising_world)
* [Rust Staging Branch](/steamcmd_servers/rust_staging/)
* [SCP: Secret Laboratory](/steamcmd_servers/scpsl/)
* [dedicated](/steamcmd_servers/scpsl/dedicated/)
* [multiadmin](/steamcmd_servers/scpsl/multiadmin/)
* [SSoldat](/steamcmd_servers/soldat/)
* [Soldat](/steamcmd_servers/soldat/)
* [Starbound](/steamcmd_servers/starbound)
* [Stationeers](/steamcmd_servers/stationeers/)
* [Sven Co-op](/steamcmd_servers/svencoop)
@ -141,6 +154,9 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Unturned](/steamcmd_servers/unturned/)
* [Unturned](/steamcmd_servers/unturned/unturned/)
[Teeworlds](/teeworlds/)
* [teeworlds](/teeworlds/teeworlds/)
[Terraria](/terraria/)
* [vanilla](/terraria/vanilla)
* [tmodloader](/terraria/tmodloader)
@ -156,3 +172,5 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Vintage Story](/vintage_story/vintage_story/)
[Xonotic](/xonotic/xonotic/)
[Cryofall](/cryofall/)

View File

@ -0,0 +1,17 @@
# Among Us - Impostor Server
### From their [Github](https://github.com/AeonLucid/Impostor)
Impostor is one of the first Among Us private servers, written in C#.
The latest version supported is 2020.9.22, both desktop and mobile.
There are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.
### Install notes
You MUST use Port 22023, else you can't connect
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 22023 |

View File

@ -0,0 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-23T15:17:46+02:00",
"name": "Among Us - Impostor Server",
"author": "info@goover.de",
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2020.9.22, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_dotnet",
"startup": ".\/Impostor.Server",
"config": {
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Server.PublicIp\":\"{{server.build.env.SERVER_IP}}\",\r\n \"Server.PublicPort\": \"{{server.build.default.port}}\",\r\n \"Server.ListenPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Matchmaker is listening on\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y upgrade\r\napt -y --no-install-recommends install wget curl jq unzip tar redis-server file ca-certificates apt-utils\r\n\r\nexport HOME=\/mnt\/server\r\ncd $HOME\r\n\r\n## get release info and download links\r\nLATEST_RELEASE=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/latest)\r\nLATEST_VERSION=$(echo $LATEST_RELEASE | sed -e 's\/.*\"tag_name\":\"\\([^\"]*\\)\".*\/\\1\/')\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/$LATEST_VERSION\/$MATCH\"\r\nelse \r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/v$VERSION\/$MATCH\"\r\nfi\r\n\r\necho $DOWNLOAD_LINK\r\nwget $DOWNLOAD_LINK\r\n\r\nunzip -o Impostor-Server-linux-x64.zip\r\nrm -fR Impostor-Server-linux-x64.zip \r\nchmod +x Impostor.Server",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "GITHUB_PACKAGE",
"description": "GITHUB_PACKAGE",
"env_variable": "GITHUB_PACKAGE",
"default_value": "Impostor\/Impostor",
"user_viewable": false,
"user_editable": false,
"rules": "required"
},
{
"name": "MATCH",
"description": "Filename to Match",
"env_variable": "MATCH",
"default_value": "Impostor-Server-linux-x64.zip",
"user_viewable": false,
"user_editable": false,
"rules": "required"
},
{
"name": "Version",
"description": "Version to Download.",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:30"
}
]
}

View File

@ -2,10 +2,6 @@
### Some of these bots support other services but are primarily Discord bots
#### Generic Discord.js bot egg
discord.js
A generic discord.js bot egg. Meant to pull from a repo can also be used where a user can upload the files on their own.
#### ATLauncher Discord Bot
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
Their github has all the info you need
@ -14,6 +10,10 @@ Their github has all the info you need
[TheBastionBot/Bastion](https://github.com/TheBastionBot/Bastion)
Give awesome perks to your Discord server!
### Corpbot
[corpnewt/CorpBot.py](https://github.com/corpnewt/CorpBot.py)
A very clumsy python bot for discord
#### DiscordJS
[discord.js](https://discord.js.org/)
A generic discord.js egg for running discord bots.
@ -22,23 +22,31 @@ A generic discord.js egg for running discord bots.
[discord.py](https://discordpy.readthedocs.io/en/latest/)
A generic discord.py egg for running discord bots.
#### discordgo
[discordgo](https://github.com/bwmarrin/discordgo)
A generic go application egg.
#### FragBot
[fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
#### MusicBot
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
A Discord music bot that's easy to set up and run yourself!
#### fragbot
[fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
#### parkertron
[parkervcp/parkertron](https://github.com/parkervcp/parkertron)
The bot that runs as the pterodactyl `@Support Bot`
#### pixelbot
#### PixelBot
[possatti/pixelbot](https://github.com/possatti/pixelbot)
No longer actively developed.
Was used to test python services.
### RedBot
[Cog-Creators/Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot)
A multifunction Discord bot
#### SinusBot
[SinusBot](https://www.sinusbot.com/)
Please Check their site for an in depth on the bot.

View File

@ -3,6 +3,6 @@
A very clumsy python bot for discord
### Server Ports
No ports are required to run Big Brother Bot. You can assign a random port to the bot.
No ports are required to run CorpBot. You can assign a random port to the bot.
#### Mods/Plugins may require ports to be added to the server.

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-18T23:13:34-04:00",
"exported_at": "2020-08-13T22:04:35-04:00",
"name": "discord.js generic",
"author": "parker@parkervcp.com",
"description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\r\n\r\necho -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n\techo -e \"assuming user knows what they are doing have a good day.\"\r\n\texit 0\r\nelse\r\n\tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n\t\techo -e \"\/mnt\/server directory is not empty.\"\r\n\t if [ -d .git ]; then\r\n\t\t\techo -e \".git directory exists\" \r\n\t\t\tif [ -f .git\/config ]; then\r\n\t\t\t\techo -e \"loading info from git config\"\r\n\t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n\t\t\telse\r\n\t\t\t\techo -e \"files found with no git config\"\r\n\t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n\t\t\t\texit 10\r\n\t\t\tfi\r\n\t\tfi\r\n\t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n\t\t\techo \"pulling latest from github\"\r\n\t\t\tgit pull \r\n\t\tfi\r\n\telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n\t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n\t\t\techo -e \"assuming master branch\"\r\n\t\t\tINSTALL_BRANCH=master\r\n\t\tfi\r\n \r\n\t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n\t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! \"${USERNAME}\" == \"\" ]]; then\r\n if [[ ! https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git | sed 's:\/*$::')\r\n INSTALL_REPO=\"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n \r\n if [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n \techo -e \"assuming user knows what they are doing have a good day.\"\r\n \texit 0\r\n else\r\n \tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n \t\techo -e \"\/mnt\/server directory is not empty.\"\r\n \t if [ -d .git ]; then\r\n \t\t\techo -e \".git directory exists\" \r\n \t\t\tif [ -f .git\/config ]; then\r\n \t\t\t\techo -e \"loading info from git config\"\r\n \t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n \t\t\telse\r\n \t\t\t\techo -e \"files found with no git config\"\r\n \t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n \t\t\t\texit 10\r\n \t\t\tfi\r\n \t\tfi\r\n \t\tif [ \"${ORIGIN}\" == \"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\" ]; then\r\n \t\t\techo \"pulling latest from github\"\r\n \t\t\tgit pull \r\n \t\tfi\r\n \telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n \t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n \t\t\techo -e \"assuming master branch\"\r\n \t\t\tINSTALL_BRANCH=master\r\n \t\tfi\r\n \r\n \t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .\r\n \tfi\r\n fi \r\nelse\r\n if [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n \r\n if [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n \techo -e \"assuming user knows what they are doing have a good day.\"\r\n \texit 0\r\n else\r\n \tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n \t\techo -e \"\/mnt\/server directory is not empty.\"\r\n \t if [ -d .git ]; then\r\n \t\t\techo -e \".git directory exists\" \r\n \t\t\tif [ -f .git\/config ]; then\r\n \t\t\t\techo -e \"loading info from git config\"\r\n \t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n \t\t\telse\r\n \t\t\t\techo -e \"files found with no git config\"\r\n \t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n \t\t\t\texit 10\r\n \t\t\tfi\r\n \t\tfi\r\n \t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n \t\t\techo \"pulling latest from github\"\r\n \t\t\tgit pull \r\n \t\tfi\r\n \telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n \t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n \t\t\techo -e \"assuming master branch\"\r\n \t\t\tINSTALL_BRANCH=master\r\n \t\tfi\r\n \r\n \t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n \tfi\r\n fi \r\nfi\r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "node:12-buster-slim",
"entrypoint": "bash"
}
@ -25,34 +25,52 @@
"variables": [
{
"name": "Install Repo",
"description": "The git repo to clone and install the discord js bot from",
"description": "The GitHub repo to clone and install the discord js bot from.",
"env_variable": "INSTALL_REPO",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"user_editable": 1,
"rules": "nullable|string|max:128"
},
{
"name": "Username",
"description": "The GitHub username. Leave this field blank if the GitHub repo is NOT a private repo.",
"env_variable": "USERNAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:128"
},
{
"name": "Password",
"description": "The GitHub password. Leave this field blank if the GitHub repo is NOT a private repo.",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:128"
},
{
"name": "Install Branch",
"description": "The branch of the bot to install",
"description": "The branch of the bot to install.",
"env_variable": "INSTALL_BRANCH",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"user_editable": 1,
"rules": "nullable|string|max:32"
},
{
"name": "User Uploaded Files",
"description": "Skip all the install cruft is you are just letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": 1,
"user_editable": 0,
"user_editable": 1,
"rules": "required|bool"
},
{
"name": "Auto Update",
"description": "When using a git repo pull the latest files on startup.",
"description": "Pull the latest files on startup when using a GitHub repo.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": 1,
@ -70,7 +88,7 @@
},
{
"name": "Additional Node packages",
"description": "Install additional node packages.\r\n\r\nUse spaces to separate",
"description": "Install additional node packages.\r\n\r\nUse spaces to separate.",
"env_variable": "NODE_PACKAGES",
"default_value": "",
"user_viewable": 1,
@ -78,4 +96,4 @@
"rules": "nullable|string"
}
]
}
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-08-02T14:36:53-04:00",
"exported_at": "2020-09-28T22:35:14-04:00",
"name": "discord.py generic",
"author": "parker@parkervcp.com",
"description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Python Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git gcc g++ libffi-dev make\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\r\n\r\necho -e \"working on installing a discord.py bot from ${INSTALL_REPO}\"\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n\techo -e \"assuming user knows what they are doing have a good day.\"\r\n\texit 0\r\nelse\r\n\tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n\t\techo -e \"\/mnt\/server directory is not empty.\"\r\n\t if [ -d .git ]; then\r\n\t\t\techo -e \".git directory exists\" \r\n\t\t\tif [ -f .git\/config ]; then\r\n\t\t\t\techo -e \"loading info from git config\"\r\n\t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n\t\t\telse\r\n\t\t\t\techo -e \"files found with no git config\"\r\n\t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n\t\t\t\texit 10\r\n\t\t\tfi\r\n\t\tfi\r\n\t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n\t\t\techo \"pulling latest from github\"\r\n\t\t\tgit pull \r\n\t\tfi\r\n\telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n\t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n\t\t\techo -e \"assuming master branch\"\r\n\t\t\tINSTALL_BRANCH=master\r\n\t\tfi\r\n \r\n\t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n\t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --target \/mnt\/server\/ -r requirements.txt\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! \"${USERNAME}\" == \"\" ]]; then\r\n if [[ ! https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git | sed 's:\/*$::')\r\n INSTALL_REPO=\"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n \r\n if [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n \techo -e \"assuming user knows what they are doing have a good day.\"\r\n \texit 0\r\n else\r\n \tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n \t\techo -e \"\/mnt\/server directory is not empty.\"\r\n \t if [ -d .git ]; then\r\n \t\t\techo -e \".git directory exists\" \r\n \t\t\tif [ -f .git\/config ]; then\r\n \t\t\t\techo -e \"loading info from git config\"\r\n \t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n \t\t\telse\r\n \t\t\t\techo -e \"files found with no git config\"\r\n \t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n \t\t\t\texit 10\r\n \t\t\tfi\r\n \t\tfi\r\n \t\tif [ \"${ORIGIN}\" == \"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\" ]; then\r\n \t\t\techo \"pulling latest from github\"\r\n \t\t\tgit pull \r\n \t\tfi\r\n \telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n \t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n \t\t\techo -e \"assuming master branch\"\r\n \t\t\tINSTALL_BRANCH=master\r\n \t\tfi\r\n \r\n \t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .\r\n \tfi\r\n fi \r\nelse\r\n if [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n \r\n if [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n \techo -e \"assuming user knows what they are doing have a good day.\"\r\n \texit 0\r\n else\r\n \tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n \t\techo -e \"\/mnt\/server directory is not empty.\"\r\n \t if [ -d .git ]; then\r\n \t\t\techo -e \".git directory exists\" \r\n \t\t\tif [ -f .git\/config ]; then\r\n \t\t\t\techo -e \"loading info from git config\"\r\n \t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n \t\t\telse\r\n \t\t\t\techo -e \"files found with no git config\"\r\n \t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n \t\t\t\texit 10\r\n \t\t\tfi\r\n \t\tfi\r\n \t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n \t\t\techo \"pulling latest from github\"\r\n \t\t\tgit pull \r\n \t\tfi\r\n \telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n \t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n \t\t\techo -e \"assuming master branch\"\r\n \t\t\tINSTALL_BRANCH=master\r\n \t\tfi\r\n \r\n \t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n \tfi\r\n fi \r\nfi\r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --target \/mnt\/server\/ -r requirements.txt\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "python:3.8-slim",
"entrypoint": "bash"
}
@ -25,12 +25,12 @@
"variables": [
{
"name": "Install Repo",
"description": "The git repo to clone and install the discord js bot from",
"description": "The GitHub repo to clone and install the discord py bot from.",
"env_variable": "INSTALL_REPO",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
"rules": "nullable|string|max:128"
},
{
"name": "Install Branch",
@ -39,11 +39,11 @@
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
"rules": "nullable|string|max:32"
},
{
"name": "User Uploaded Files",
"description": "Skip all the install cruft is you are just letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": 1,
@ -52,7 +52,7 @@
},
{
"name": "Auto Update",
"description": "When using a git repo pull the latest files on startup.",
"description": "Pull the latest files on startup when using a GitHub repo.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": 1,
@ -76,6 +76,24 @@
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "Username",
"description": "The GitHub username. Leave this field blank if the GitHub repo is NOT a private repo.",
"env_variable": "USERNAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:128"
},
{
"name": "Password",
"description": "The GitHub password. Leave this field blank if the GitHub repo is NOT a private repo.",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:128"
}
]
}

View File

@ -0,0 +1,9 @@
# discordgo generic
This egg was designed to allow a user to pull their own go discord bot from a repo.
The startup configs and commands may need changing to actually function properly.
Users cannot upload their own code as this is built to build the resulting bot.
`GO_PACKAGE` is the variable for the go repo i.e. `github.com/aurieh/ddg-ng`
`EXECUTABLE` is the variable for the executable that is built i.e. `ddg-ng`

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-11T12:12:50-04:00",
"name": "discordgo generic",
"author": "parker@parkervcp.com",
"description": "A generic golang egg.\r\n\r\nMeant to be customized before it is used.",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/${EXECUTABLE}",
"config": {
"files": "{}",
"startup": "{}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# golang generic package\r\n\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ngo get ${GO_PACKAGE}\r\n\r\ncd src\/${GO_PACKAGE}\r\n\r\ngo get\r\n\r\ngo build\r\n\r\ncp -f ${EXECUTABLE} \/mnt\/server\/",
"container": "golang:1.15-buster",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Go Package",
"description": "Go package to get and build",
"env_variable": "GO_PACKAGE",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Executable",
"description": "This is the executable from the bot build.",
"env_variable": "EXECUTABLE",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string"
}
]
}

View File

@ -0,0 +1,8 @@
# Big Brother Bot
### From their [Github](https://github.com/BigBrotherBot/big-brother-bot)
Big Brother Bot B3 is a complete and total server administration package for online games. B3 is designed primarily to keep your server free from the derelicts of online gaming, but offers more, much more
### Server Ports
No ports are required to run Big Brother Bot. You can assign a random port to the bot.
#### Mods/Plugins may require ports to be added to the server.

View File

@ -0,0 +1,26 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-05-26T08:59:34-04:00",
"name": "Big Brother Bot",
"author": "parker@parkervcp.com",
"description": "Big Brother Bot B3 is a complete and total server administration package for online games. B3 is designed primarily to keep your server free from the derelicts of online gaming, but offers more, much more.\r\n\r\nhttps:\/\/github.com\/BigBrotherBot\/big-brother-bot",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-2.7",
"startup": "python b3_run.py",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"No idea what to put here\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Pixel Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y install git\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/BigBrotherBot\/big-brother-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target \/mnt\/server -r requirements.txt\r\npip install -U --target \/mnt\/server paramiko",
"container": "python:2.7-slim",
"entrypoint": "bash"
}
},
"variables": []
}

View File

@ -1,4 +1,4 @@
# PhantomBot
# SogeBot
### Their [Site](https://www.sogebot.xyz)
sogBot is an actively developed open source interactive Twitch bot that provides entertainment and moderation for your channel,
allowing you to focus on what matters the most to you - your game and your viewers.

View File

@ -3,24 +3,52 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-08-23T07:11:32+02:00",
"exported_at": "2020-09-06T10:51:50+02:00",
"name": "SogeBot",
"author": "info@goover.de",
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
"startup": "npm start",
"config": {
"files": "{\r\n \".env\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"PORT=\": \"PORT={{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \".env\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"WebPanel is available at\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#\/bin\/ash\r\napt -y update\r\napt -y upgrade\r\napt install -y curl unzip sqlite\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\n## Download latest Stable Version\r\nRELEASE_VERSION=$(curl -s \"https:\/\/api.github.com\/repos\/sogehige\/sogeBot\/releases\/latest\" | awk -F '\"' '\/tag_name\/{print $4}')\r\nDOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\ncurl -L -o sogebot.zip ${DOWNLOAD_URL}\r\nunzip -o sogebot.zip\r\nrm sogebot.zip\r\n\r\n##Setting up new configration. Default: sqlite\r\nrm -rf \/mnt\/server\/.env\r\n\r\ncat <<EOT > \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n\r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n\r\nnpm install -g npm@latest\r\n\r\necho -e \"## Downloading npm components\"\r\n\/usr\/local\/bin\/npm ci\r\n\r\nexit 0",
"script": "#\/bin\/bash\r\napt -y update\r\napt -y upgrade\r\napt install -y curl unzip sqlite jq wget\r\n#export NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n#echo $DOWNLOAD_LINK\r\nwget -N $DOWNLOAD_LINK\r\nunzip $MATCH-*.zip\r\nrm -fR unzip $MATCH-*.zip\r\n\r\nnpm install -g npm@latest\r\n\/usr\/local\/bin\/npm ci\r\n\r\nexit 0",
"container": "node:12-buster-slim",
"entrypoint": "bash"
}
},
"variables": []
"variables": [
{
"name": "Github Package",
"description": "the Github Package",
"env_variable": "GITHUB_PACKAGE",
"default_value": "sogehige\/sogeBot",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Version",
"description": "Choose Version, you want to install. Default: Latest",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Filename",
"description": "Filename",
"env_variable": "MATCH",
"default_value": "sogeBot",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
}
]
}

View File

@ -0,0 +1,13 @@
# CryoFall
##Minimum RAM warning
You may want to assign a minimum of 1GB of RAM to a server.
##Required Server Ports
The default is 6000 can be changed in SettingsServer.xml
| Port | default |
|---------|---------|
| Game | 6000 |
#### Plugins may require ports to be added to the server.

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-17T02:36:40+00:00",
"name": "CryoFall",
"author": "contact@zennodes.dk",
"description": "NOTE: For now you have to change SettingsServer.xml under CryoFall_Server_v(Version)_NetCore\/Data\/SettingsServer.xml\r\n\r\nCryoFall is a sci-fi multiplayer colony simulation survival game set on a forgotten planet in a distant future.\r\n\r\nJoin the vast world of CryoFall together with other survivors to rebuild your civilization from scratch. Start with primitive technology and simple tools and use them to progress towards modern industrial might and even beyond, eventually reaching space-age technology only seen in science fiction.\r\n\r\nCryoFall can be played either as a relaxed PvE experience with no competition or as a brutal and unforgiving PvP. Make your choice and join one of many available servers with different game modes or host your own and invite your friends to join you!\r\n\r\nBuild your house or a large base together with other players. Dig wells and create farms to sustain basic needs. Build vehicles to explore the world faster. Establish basics of science, all the way from medicine and chemistry to fuel creation and even lithium extraction to create electronic devices. Cook food or prepare drinks to sell them from vending machines in your store.\r\n\r\nBuild factories to produce on an industrial scale: Weapons and defense systems, bionic implants to augment yourself, even large war machines and artillery guns to use against the biggest of opponents",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_dotnet",
"startup": "dotnet Binaries\/Server\/CryoFall_Server.dll loadOrNew",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"[IMP] UDPServer: Socket-server listening on \"\r\n}",
"logs": "{}",
"stop": "stop 10 stopping server"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n#Server Files: \/mnt\/server\r\napt update\r\napt install -y curl zip unzip\r\n\r\nif [[ ! -d \/mnt\/server\/ ]]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ \"${VERSION}\" == \"latest\" ] || [ \"${VERSION}\" == \"\" ]; then\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/wiki.atomictorch.com\/CryoFall\/Server\/Setup | grep 'SERVER DOWNLOAD' | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\\\"[^\\\\\\\"]+\\\"' | grep -Eo '(http|https):\\\/\\\/[^\\\"]+' | tail -1 | cut -d'?' -f1)\r\nelse\r\n DOWNLOAD_URL=https:\/\/atomictorch.com\/Files\/CryoFall_Server_v${VERSION}_NetCore.zip\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -L -o cryofall_server.zip ${DOWNLOAD_LINK}\r\n\r\nunzip cryofall_server.zip\r\n\r\ncp -rf CryoFall_Server*NetCore\/. \/mnt\/server\r\n\r\nrm -rf cryofall_server.zip CryoFall_Server*NetCore\/",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game server version",
"description": "type game server version",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -1,13 +1,16 @@
# databases
## SQL Databases
### [mariadb](/mariadb/)
https://mariadb.org/
### [postgres](/postgres/)
https://www.postgresql.org/
## In-Memory Databases
### [redis](/redis/)
https://redis.io/
https://redis.io/
## NoSQL
### [mongodb](/nosql/mongodb/)
https://www.mongodb.com/
## SQL Databases
### [mariadb](/sql/mariadb/)
https://mariadb.org/
### [postgres](/sql/postgres/)
https://www.postgresql.org/

View File

@ -0,0 +1,14 @@
# mongoDB
### From their [Website](https://www.mongodb.com/)
MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era.
### Minimum RAM warning
MongoDB requires approximately 1GB of RAM per 100.000 assets. If the system has to start swapping memory to disk, this will have a severely negative impact on performance, and should be avoided.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Server | 27017 |

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-09-28T23:37:49-04:00",
"name": "MongoDB",
"author": "parker@parkervcp.com",
"description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.",
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mongo-4",
"startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --logpath \/home\/container\/logs\/mongo.log; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo 127.0.0.1:${SERVER_PORT} && mongo --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"child process started successfully\"\r\n}",
"logs": "{}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash \r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncp \/etc\/mongod.conf.orig \/mnt\/server\/mongod.conf\r\n\r\nmkdir mongodb logs\r\n\r\nmongod --port 27017 --dbpath \/mnt\/server\/mongodb\/ --logpath \/mnt\/server\/logs\/mongo.log --fork\r\n\r\nmongo --eval \"db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})\"\r\n\r\nmongo --eval \"db.getSiblingDB('admin').shutdownServer()\"",
"container": "mongo:4-bionic",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Mongo Admin Username",
"description": "The MongoDB Admin user",
"env_variable": "MONGO_USER",
"default_value": "admin",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Mongo Admin Password",
"description": "",
"env_variable": "MONGO_USER_PASS",
"default_value": "aP@55word",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-11T00:34:47-04:00",
"exported_at": "2020-09-28T21:07:40-04:00",
"name": "Redis-6",
"author": "parker@parkervcp.com",
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ ! -d \/mnt\/server\/redis.conf ]; then\r\n curl https:\/\/raw.githubusercontent.com\/redis\/redis\/6.0\/redis.conf -o redis.conf\r\nfi\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"",
"script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ ! -d \/mnt\/server\/redis.conf ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/redis\/redis-6\/redis.conf -o redis.conf\r\nfi\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"",
"container": "alpine:3.10",
"entrypoint": "ash"
}

File diff suppressed because it is too large Load Diff

View File

@ -52,7 +52,7 @@
},
{
"name": "Postgres Database",
"description": "The postgres databas the user will have access too.",
"description": "The postgres database the user will have access too.",
"env_variable": "PGDATABASE",
"default_value": "pterodactyl",
"user_viewable": 1,

File diff suppressed because one or more lines are too long

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-09-02T18:27:23-04:00",
"exported_at": "2020-09-22T16:57:32-04:00",
"name": "FiveM",
"author": "parker@parkervcp.com",
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"",
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"",
"container": "debian:buster-slim",
"entrypoint": "bash"
}

View File

@ -72,4 +72,4 @@ add_principal identifier.fivem:1 group.admin # add the admin to the group
sv_endpointprivacy true
# enable OneSync with default configuration (required for server-side state awareness)
onesync_enabled true
sets onesync legacy

View File

@ -25,7 +25,8 @@ Its set in infinitely-generated worlds of wide open terrain - icy mountains,
* [VanillaCord](/minecraft/java/vanillacord/)
[Proxies](/minecraft/proxy/) Minecraft Server Proxies
* [Waterfall](/minecraft/proxy/waterfall/) Java
* [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/) Java
* [Travertine](/minecraft/proxy/travertine/) Java
* [Velocity](/minecraft/proxy/velocity/) Java
* [Waterdog](/minecraft/proxy/waterdog/) Java/Bedrock
* [Waterfall](/minecraft/proxy/waterfall/) Java

View File

@ -3,14 +3,14 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-09-06T11:38:57-04:00",
"exported_at": "2020-10-16T15:10:46+00:00",
"name": "Vanilla Bedrock",
"author": "parker@parkervcp.com",
"description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/bedrock_server",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"server-name\": \"{{server.build.env.SERVERNAME}}\",\r\n \"gamemode\": \"{{server.build.env.GAMEMODE}}\",\r\n \"difficulty\": \"{{server.build.env.DIFFICULTY}}\",\r\n \"allow-cheats\": \"{{server.build.env.CHEATS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
"logs": "{}",
"stop": "stop"
@ -28,8 +28,8 @@
"description": "The version of bedrock. (Ex. 1.7.0.13)\r\n\r\nDefault version is latest.",
"env_variable": "BEDROCK_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -37,9 +37,45 @@
"description": "Dumb reasons to need this",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Server Name",
"description": "The name for the server",
"env_variable": "SERVERNAME",
"default_value": "Bedrock Dedicated Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50"
},
{
"name": "Gamemode",
"description": "Allowed values: \"survival\", \"creative\", or \"adventure\"",
"env_variable": "GAMEMODE",
"default_value": "survival",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:survival,creative,adventure"
},
{
"name": "Difficulty",
"description": "Allowed values: \"peaceful\", \"easy\", \"normal\", or \"hard\"",
"env_variable": "DIFFICULTY",
"default_value": "easy",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:peaceful,easy,normal,hard"
},
{
"name": "Allow cheats",
"description": "If true then cheats like commands can be used.\r\n\r\nAllowed values: \"true\" or \"false\"",
"env_variable": "CHEATS",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
}
]
}

View File

@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.tx banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.3 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.3-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -33,4 +33,4 @@
"rules": "required|string|max:20"
}
]
}
}

View File

@ -0,0 +1,11 @@
# Waterdog server
Waterdog provides native support for the Minecraft Bedrock protocols along with the existing java protocols. It is capable of using the ProtocolSupport PE encapsulation protocol over TCP, or it can use the native RakNet Bedrock protocol for traditional downstream Bedrock servers such as Nukkit, Pocketmine, Bedrock Alpha Server, MiNET, and others.
## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
| Port | default |
|----------|---------|
| Java | 25565 |
| Bedrock | 19132 |

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-15T03:54:24+00:00",
"name": "Waterdog",
"author": "parker@pterodactyl.io",
"description": "Waterdog is fork of the well-known Waterfall, which is a fork of the well-known BungeeCord, server teleportation suite.",
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Listening on \"\r\n}",
"logs": "{}",
"stop": "end"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Adding '.jar' if it isn't part of the file name\r\nif [[ \"${SERVER_JARFILE}\" == \"*\\.jar\" ]]; then\r\n echo -e \"adding.jar to server file name\"\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\nif [ -z \"${WATERDOG_VERSION}\" ] || [ \"${WATERDOG_VERSION}\" == \"latest\" ]; then\r\n echo -e \"downloading latest waterdog build\\n\"\r\n curl -sSL -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/yesdog\/job\/Waterdog\/lastSuccessfulBuild\/artifact\/Waterfall-Proxy\/bootstrap\/target\/Waterdog.jar\r\nelse \r\n echo -e \"downloading waterdog build ${WATERDOG_VERSION}\\n\"\r\n curl -sSL -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/yesdog\/job\/Waterdog\/${WATERDOG_VERSION}\/artifact\/Waterfall-Proxy\/bootstrap\/target\/Waterdog.jar\r\nfi\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading waterfall config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/waterfall\/config.yml\r\nelse\r\n echo -e \"Waterfall config.yml exists. Will not pull a new file\"\r\nfi",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Waterdog Version",
"description": "The build to pull and install. (Ex. 1604)\r\n\r\nThis is the build number on https:\/\/jenkins.pmmp.io",
"env_variable": "WATERDOG_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Server Jar File",
"description": "The jar to run to",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-02-01T08:00:01-05:00",
"exported_at": "2020-09-22T17:50:59-04:00",
"name": "RedM",
"author": "parker@parkervcp.com",
"description": "A new RedM egg for the latest builds due to recent changes in RedM",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3",
"config": {
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# CFx Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache\r\n\r\nmkdir -p \/mnt\/server\/resources \/mnt\/server\/logs\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${CFX_VERSION}\" == \"latest\" ] || [ -z ${CFX_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\necho \"install complete\"",
"script": "#!\/bin\/ash\r\n# CFx Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache\r\n\r\nmkdir -p \/mnt\/server\/resources \/mnt\/server\/logs\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${CFX_VERSION}\" == \"latest\" ] || [ -z ${CFX_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\necho \"install complete\"",
"container": "alpine:3.10",
"entrypoint": "ash"
}
@ -78,4 +78,4 @@
"rules": "string|nullable"
}
]
}
}

View File

@ -1,4 +1,4 @@
# steamcmd servers
# steamcmd servers
This is a collection of servers that use steamcmd to install.
@ -13,6 +13,9 @@ This is a collection of servers that use steamcmd to install.
* [arma 3](arma/arma3/)
* [arma 3 headless](arma/arma3_headless_client/)
## Avorion
[avorion](avorion/)
## Citadel: Forged with Fire
[citadel](citadel/)
@ -43,6 +46,9 @@ This is a collection of servers that use steamcmd to install.
## Project Zomboid
[project_zomboid](project_zomboid/)
## Rising World
[rising_world](rising_world/)
## Rust Staging
[rust staging](rust_staging/)

View File

@ -0,0 +1,24 @@
# Avorion
A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.
## Server Ports
Avorion requires 4 ports to run. Despite claiming to require 4 ports, the game port is the only one that appears to have a config option.
| Port | default |
|-------------|---------|
| Game | 27000 |
| Query | 27003 |
| Steam Query | 27020 |
| Steam | 27021 |
Additionally the server can be configured with an RCON port. RCON will be disabled if a password is not specified.
| Port | default |
|-------------|---------|
| RCON | 27015 |
## RCON
If you plan to use RCON it currently needs to be manually configured in the server.ini file. At some point server variables will be added.

View File

@ -0,0 +1,171 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-04T11:49:22-07:00",
"name": "Avorion",
"author": "iamkubi@gmail.com",
"description": "A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.",
"image": "quay.io\/pterodactyl\/core:source",
"startup": ".\/server.sh --galaxy-name \\\"{{GALAXY_NAME}}\\\" --admin {{ADMIN_ID}} --datapath galaxy --port {{SERVER_PORT}} --query-port {{QUERY_PORT}} --steam-master-port {{STEAM_MASTER_PORT}} --steam-query-port {{STEAM_QUERY_PORT}} --max-players {{MAX_PLAYERS}} --difficulty {{DIFFICULTY}} --collision-damage {{COLLISION_DMG}} --save-interval {{SAVE_INTERVAL}} --same-start-sector {{SAME_START_SECTOR}} --server-name \\\"{{SERVER_NAME}}\\\" --threads {{GAME_THREADS}} --listed {{SERVER_LISTED}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Server startup complete\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "\/stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Avorion Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n[[ \"$SERVER_BETA\" == \"true\" ]] && beta_arg=\"beta\" || beta_arg=\"NONE\"\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${APP_ID} -beta \"$beta_arg\" validate +exit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/steamclient.so\r\nmkdir -p \/mnt\/server\/backups\r\nmkdir -p \/mnt\/server\/galaxy\/\"${GALAXY_NAME}\"\r\ncurl https:\/\/raw.githubusercontent.com\/iamkubi\/eggs\/master\/avorion\/server.ini --output \/mnt\/server\/galaxy\/\"${GALAXY_NAME}\"\/server.ini",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Galaxy Name",
"description": "Name of the Galaxy to create",
"env_variable": "GALAXY_NAME",
"default_value": "Avorion",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
},
{
"name": "Server Name",
"description": "The name of the server, shown in the server list.",
"env_variable": "SERVER_NAME",
"default_value": "Avorion Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Admin ID",
"description": "Steam64 ID for the player to make Server Admin",
"env_variable": "ADMIN_ID",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Max Players",
"description": "Maximum number of players allowed",
"env_variable": "MAX_PLAYERS",
"default_value": "10",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|int|max:64"
},
{
"name": "Game Difficulty",
"description": "Difficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0",
"env_variable": "DIFFICULTY",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|integer|max:3|min:-3"
},
{
"name": "Collision Damage",
"description": "A multiplier for damage to colliding objects. Accepts floating-point numbers, e.g. 0.5 is 50% collision damage. 0: no damage, 1: full damage. default: 1",
"env_variable": "COLLISION_DMG",
"default_value": "1",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Save Interval",
"description": "Time between automatic saves in seconds. Defaults to 300 (5 minutes).",
"env_variable": "SAVE_INTERVAL",
"default_value": "300",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Same Start Sector",
"description": "Indicates if all players should start in the same sector. If false, a random empty sector on the outer rim is populated and used as the home sector for each new player.",
"env_variable": "SAME_START_SECTOR",
"default_value": "true",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|in:true,false"
},
{
"name": "Threads",
"description": "Number of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)",
"env_variable": "GAME_THREADS",
"default_value": "1",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|integer|max:20"
},
{
"name": "List Publicly",
"description": "Privacy setting. If enabled together with useSteam, the server will show up in public server lists. (Same as the ingame setting 'List Publicly')",
"env_variable": "SERVER_LISTED",
"default_value": "true",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|in:true,false"
},
{
"name": "Enable Beta",
"description": "Set to true to enable beta, false for stable.",
"env_variable": "SERVER_BETA",
"default_value": "false",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|in:true,false"
},
{
"name": "Steam App ID",
"description": "",
"env_variable": "APP_ID",
"default_value": "565060",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "LD Library Path",
"description": "",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".\/linux64",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Steam Master Port",
"description": "",
"env_variable": "STEAM_MASTER_PORT",
"default_value": "27021",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Steam Query Port",
"description": "",
"env_variable": "STEAM_QUERY_PORT",
"default_value": "27020",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "27003",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}

View File

@ -0,0 +1,64 @@
[Game]
Seed=9gfddTsaAN
Difficulty=0
HardcoreEnabled=false
InfiniteResources=false
CollisionDamage=1
SafePlayerInput=false
PlayerToPlayerDamage=true
LogoutInvincibility=true
LogoutInvincibilityDelay=30
DevMode=false
ExplicitCallables=true
BigWreckageDespawnTime=1800
SmallWreckageDespawnTime=900
MaximumFightersPerSectorAndPlayer=-1
MaximumBlocksPerCraft=-1
MaximumVolumePerShip=-1
MaximumVolumePerStation=-1
MaximumPlayerShips=-1
MaximumPlayerStations=-1
MaximumBlocksPerTurret=250
PlayerInventorySlots=1000
AllianceInventorySlots=1000
Version=1.0
sameStartSector=true
startUpScript=data/scripts/server/server.lua
startSectorScript=startsector
motd=
[System]
saveInterval=600
sectorUpdateTimeLimit=300
emptySectorUpdateInterval=0.5
workerThreads=1
generatorThreads=2
scriptBackgroundThreads=2
aliveSectorsPerPlayer=5
weakUpdate=true
profiling=false
sendCrashReports=true
hangDetection=true
backups=true
backupsPath=/home/container/backups
simulateHighLoadServer=false
sendSectorDelay=2
placeInShipOnDeathDelay=7
[Networking]
port=27000
broadcastInterval=5
isPublic=true
isListed=false
isAuthenticated=true
sendStatsToAdmins=true
useSteam=true
rconIp=
rconPassword=
rconPort=27015
[Administration]
maxPlayers=10
name=Avorion Server
description=An Avorion Server
password=
pausable=false
accessListMode=Blacklist
steamIdOverride=0

View File

@ -3,15 +3,15 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-11T08:34:24-04:00",
"exported_at": "2020-10-24T11:25:01+00:00",
"name": "Conan Exiles",
"author": "brycea@terrahost.cloud",
"description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_wine-5",
"startup": "xvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32' wine \/home\/container\/ConanSandboxServer.exe -console -log",
"startup": "xvfb-run --auto-servernum wine \/home\/container\/ConanSandboxServer.exe -console -log -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}}",
"config": {
"files": "{}",
"startup": "{}",
"startup": "{\r\n \"done\":\"Started SourceServerQueries\"\r\n}",
"logs": "{}",
"stop": "^C"
},
@ -28,45 +28,45 @@
"description": "The ID corresponding to the game to download.",
"env_variable": "SRCDS_APPID",
"default_value": "443030",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,6"
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,7"
},
{
"name": "XVFB Enable",
"description": "1 or 0",
"env_variable": "XVFB",
"default_value": "1",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|min:0|max:1"
},
{
"name": "XVFB Display Width",
"description": "",
"env_variable": "DISPLAY_WIDTH",
"default_value": "640",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric"
"name": "Windows install variable",
"description": "Required for windows applications to install with steam.\r\n\r\n1 to enable auto-updates",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|boolean"
},
{
"name": "XVFB Display Height",
"description": "",
"env_variable": "DISPLAY_HEIGHT",
"default_value": "480",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric"
"name": "Auto Update",
"description": "Decide if you want to update your server",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean"
},
{
"name": "XVFB Bit Depth",
"description": "",
"env_variable": "DISPLAY_DEPTH",
"default_value": "32",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric"
"name": "Query Port",
"description": "Server Query Port",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|max:65535"
}
]
}

View File

@ -3,21 +3,21 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-12-30T09:04:05+01:00",
"exported_at": "2020-09-15T15:37:08+02:00",
"name": "Eco",
"author": "info@goover.de",
"description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any player does in the world affects the underlying ecosystem.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete",
"startup": "\/usr\/bin\/mono .\/EcoServer.exe -nogui",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_dotnet",
"startup": "export DOTNET_BUNDLE_EXTRACT_BASE_DIR=.\/dotnet-bundle && .\/EcoServer",
"config": {
"files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\",\r\n \"PublicServer\": \"{{server.build.env.PUB_SRV}}\",\r\n \"Password\": \"{{server.build.env.SRV_PWD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server Initialization \",\r\n \"userInteraction\": []\r\n}",
"files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\",\r\n \"PublicServer\": \"{{server.build.env.PUB_SRV}}\",\r\n \"Password\": \"{{server.build.env.SRV_PWD}}\",\r\n \"UPnPEnabled\": \"{{server.build.env.UPNP}}\",\r\n \"Description\": \"{{server.build.env.SRV_DES}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"[Server Initialization]... \",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\ncp -f $HOME\/Configs\/Network.eco.template $HOME\/Configs\/Network.eco",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -28,8 +28,8 @@
"description": "ID",
"env_variable": "SRCDS_APPID",
"default_value": "739590",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,6"
},
{
@ -37,8 +37,8 @@
"description": "port",
"env_variable": "WEB_PORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,6"
},
{
@ -46,8 +46,8 @@
"description": "Public Server = true | Private Server = false",
"env_variable": "PUB_SRV",
"default_value": "false",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -55,9 +55,27 @@
"description": "Password to join the Server",
"env_variable": "SRV_PWD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
},
{
"name": "Server Description",
"description": "Server Description",
"env_variable": "SRV_DES",
"default_value": "Hosted by Pterodactyl",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50"
},
{
"name": "UPNP",
"description": "UPNP OFF",
"env_variable": "UPNP",
"default_value": "false",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
}
]
}

View File

@ -6,7 +6,7 @@
"exported_at": "2020-07-12T20:06:39-04:00",
"name": "Killing Floor 2",
"author": "parker@parkervcp.com",
"description": "n KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech\u2019s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere.",
"description": "In KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech\u2019s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_source",
"startup": "\/home\/container\/Binaries\/Win64\/KFGameSteamServer.bin.x86_64 {{MAP_NAME}}?Port={{SERVER_PORT}}?QueryPort={{QUERY_PORT}}?AdminPassword={{ADMIN_PASS}}?Difficulty={{DIFFICULTY}}$( [ \"$WEB_ADMIN\" == \"true\" ] || printf %s '??WebAdminPort={{WEB_ADMIN_PORT}}' )",
"config": {

View File

@ -1,19 +0,0 @@
# Killing Floor 2
Steam Description
In KILLING FLOOR 2, players descend into continental Europe where the outbreak caused by Horzine Biotechs failed experiment has quickly spread and gained unstoppable momentum, essentially paralyzing the European Union— Just one month after the events in the original KILLING FLOOR, the specimen clones are everywhere and civilization is in disarray; communications have failed, governments have collapsed, and military forces have been systematically eradicated. The people of Europe know survival and self-preservation too well and lucky survivors have gone into hiding.
Not all have given up hope though... A group of civilians and mercenaries have banded together to combat the outbreak and established privately funded operation bases across Europe. Upon tracking specimen clone outbreaks, players will descend into zed-laden hot zones and exterminate them.
### Server Ports
Killing Floor 2 requires 2 ports with an optional 1 for web management
game port (default 7777)
query port (default 27015)
web admin (default 8080)
| Port | default |
|---------|---------------|
| Game | 7777 |
| Query | 27015 |
| WebAdmin| 8080 |

View File

@ -1,135 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-08-14T22:54:02-04:00",
"name": "Killing Floor 2",
"author": "trey@chazx.cc",
"description": "In KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech\u2019s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_source",
"startup": "\/home\/container\/Binaries\/Win64\/KFGameSteamServer.bin.x86_64 {{MAP_NAME}}?Port={{SERVER_PORT}}?QueryPort={{QUERY_PORT}}?AdminPassword={{ADMIN_PASS}}?Difficulty={{DIFFICULTY}}$( [ \"$WEB_ADMIN\" == \"true\" ] || printf %s '??WebAdminPort={{WEB_ADMIN_PORT}}' )",
"config": {
"files": "{\r\n \"KFGame\/Config\/KFWeb.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"IpDrv.WebServer.IpDrv.WebServer\": \"{{server.build.env.WEB_ADMIN}}\",\r\n \"IpDrv.WebServer.IpDrv.ListenPort\": \"{{server.build.env.WEB_ADMIN_PORT}}\"\r\n }\r\n },\r\n \"KFGame\/Config\/LinuxServer-KFGame.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"Engine.AccessControl.AdminPassword\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"Engine.GameReplicationInfo.ServerName\": \"{{server.build.env.SERVER_NAME}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"DevOnline: Playfab server registered with lobby ID \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [ \"${WINDOWS_INSTALL}\" == \"1\" ] || printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Steam Username",
"description": "A steam username to use to install the server.\r\n\r\nOnly needed for games that need a user that owns the server",
"env_variable": "STEAM_USER",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Steam Password",
"description": "Password for the Steam account to install a server.",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Steam Auth",
"description": "Will most likely time out before it gets used.",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string|max:6"
},
{
"name": "Steam Server App ID",
"description": "The App ID for the Server",
"env_variable": "SRCDS_APPID",
"default_value": "232130",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string"
},
{
"name": "Extra Flags",
"description": "Only needed for specific situations.",
"env_variable": "EXTRA_FLAGS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Map Name",
"description": "The map to load when the server starts\r\n\r\ndefault - 'kf-bioticslab'",
"env_variable": "MAP_NAME",
"default_value": "kf-bioticslab",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Query Port",
"description": "The port steam will use to query the server.",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|max:65535"
},
{
"name": "Enable WebAdmin (beta)",
"description": "",
"env_variable": "WEB_ADMIN",
"default_value": "false",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|in:true,false"
},
{
"name": "Admin Password",
"description": "An admin password for the server.",
"env_variable": "ADMIN_PASS",
"default_value": "PleaseChangeMe",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Server Name",
"description": "This is the displayed server name to all players in the server and the server browser",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl Hosted Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Server Difficulty",
"description": "0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth",
"env_variable": "DIFFICULTY",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|max:3"
},
{
"name": "Web Admin Port",
"description": "The port the webadmin panel should use. This is a beta feature.",
"env_variable": "WEB_ADMIN_PORT",
"default_value": "8081",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}

View File

@ -0,0 +1,13 @@
# Rising World
Rising World is a voxel based open-world sandbox game, featuring a procedurally generated world, playable in single and multi-player.
### Server Ports
Rising World requires up to 7 ports.
* The RCON port is optional, but is enabled by default.
* Game ports require both TCP and UDP
| Port | default |
|---------|---------------|
| Game | 4255 - 4259 |
| RCON | 4253 |
| Query | 4254 |

View File

@ -0,0 +1,90 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-11T07:16:29+02:00",
"name": "Rising World",
"author": "info@goover.de",
"description": "Rising World is a voxel based open-world sandbox game, featuring a procedurally generated world, playable in single and multi-player.",
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xmx{{SERVER_MEMORY}}M -jar server.jar +maxplayer={{MAX_PLAYERS}} +serverport={{SERVER_PORT}} +servername=\\\"{{SERVER_NAME}}\\\" +rconport {{RCON_PORT}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"rcon_enabled\": \"true\",\r\n \"rcon_password\": \"{{server.build.env.RCON_PASSWORD}}\",\r\n \"server_password\": \"{{server.build.env.SERVER_PASSWORD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"RISING WORLD SERVER STARTED\"\r\n}",
"logs": "{}",
"stop": "shutdown"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\nmkdir -p \/mnt\/server\/linux64\r\ncp -v linux64\/steamclient.so ..\/linux64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "Name of the server",
"env_variable": "SERVER_NAME",
"default_value": "Rising World Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32"
},
{
"name": "Max Players",
"description": "Maximum player count for the server.",
"env_variable": "MAX_PLAYERS",
"default_value": "4",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|max:64"
},
{
"name": "RCON Port",
"description": "Overrides the default RCON Port",
"env_variable": "RCON_PORT",
"default_value": "4253",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "RCON Password",
"description": "",
"env_variable": "RCON_PASSWORD",
"default_value": "changeme",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "LD Library Path",
"description": "",
"env_variable": "LD_LIBRARY_PATH",
"default_value": "..\/linux64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Server Password",
"description": "",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
},
{
"name": "SRCDS_APPID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "339010",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,14 +3,14 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-04-24T16:03:28+02:00",
"exported_at": "2020-10-06T16:59:53+02:00",
"name": "Soldat",
"author": "info@goover.de",
"description": "Soldat is a unique 2D (side-view) multiplayer action game. It has been influenced by the best of games such as Liero, Worms, Quake, and Counter-Strike and provides a fast-paced gaming experience with tons of blood and flesh. Soldiers fight against each other in 2D battle arenas using a deadly arsenal of military weapons, across 7 default game modes. It features 18 different weapons and 60 maps to frag away on, with full support for user created content.\r\n\r\nSteam: https:\/\/store.steampowered.com\/app\/638490\/Soldat\/",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/soldatserver",
"config": {
"files": "{\r\n \"soldat.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Port=\": \"Port={{server.build.default.port}}\",\r\n \"Max_Players=\": \"Max_Players={{server.build.env.MAX_PLAYERS}}\",\r\n \"Game_Password=\": \"Game_Password={{server.build.env.SRV_PWD}}\",\r\n \"Admin_Password=\": \"Admin_Password={{server.build.env.ADMIN_PASSWD}}\",\r\n \"Server_Name=\": \"Server_Name={{server.build.env.SRV_NAME}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"soldat.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.Port\": \"{{server.build.default.port}}\",\r\n \"NETWORK.Max_Players\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"NETWORK.Game_Password\": \"{{server.build.env.SRV_PWD}}\",\r\n \"NETWORK.Admin_Password\": \"{{server.build.env.ADMIN_PASSWD}}\",\r\n \"NETWORK.Server_Name\": \"{{server.build.env.SRV_NAME}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Done\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
@ -28,17 +28,17 @@
"description": "Admin Password for the Server",
"env_variable": "ADMIN_PASSWD",
"default_value": "changeme",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Server Password",
"description": "Password to join Server",
"env_variable": "SRV_PWD",
"default_value": "chageme",
"user_viewable": 1,
"user_editable": 1,
"default_value": "changeme",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -46,8 +46,8 @@
"description": "Name of the Server",
"env_variable": "SRV_NAME",
"default_value": "MySoldatServer",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100"
},
{
@ -55,8 +55,8 @@
"description": "Max Players can join",
"env_variable": "MAX_PLAYERS",
"default_value": "10",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -64,8 +64,8 @@
"description": "Steam APP ID",
"env_variable": "SRCDS_APPID",
"default_value": "638500",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20"
}
]

View File

@ -0,0 +1,16 @@
# Unturned
Steam Description
You're one of the few not yet turned zombie. Keeping it that way will be a challenge.
- Go in guns blazing and attract the attention of everything, living and dead.
- Take a subtle approach sneaking around and making use of distractions.
- Confront and learn to counter special abilities ranging from invisibility to fire breathing to lightning attacks.
### Server Ports
Rocketmod requires 3 ports to run properly.
| Port | default |
|---------|---------|
| Game | 27015 |
| Game +1 | 27016 |
| Game +2 | 27017 |

View File

@ -0,0 +1,63 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-12T22:04:47-04:00",
"name": "Unturned",
"author": "parker@parkervcp.com",
"description": "Vanilla Unturned with the included RockerMod.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_source",
"startup": ".\/Unturned_Headless.x86_64 -batchmode -nographics -bind 0.0.0.0 -port {{SERVER_PORT}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "shutdown"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\nDEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Specific to Unturned\r\ncd \/mnt\/server\/\r\nln -s ..\/..\/..\/steamcmd\/linux64\/steamclient.so Unturned_Headless_Data\/Plugins\/x86_64\/steamclient.so\r\nln -s ..\/Extras\/Rocket.Unturned\/ Modules\/",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Steam App ID",
"description": "Steam App ID require for install and startup update",
"env_variable": "SRCDS_APPID",
"default_value": "1110390",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "ld lib path",
"description": "This is needed to load specific libraries",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".\/Unturned_Headless_Data\/Plugins\/x86_64\/",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string"
},
{
"name": "Steam User",
"description": "Should be left blank for anon user",
"env_variable": "STEAM_USER",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "Steam Password",
"description": "",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
}
]
}

View File

@ -1,20 +1,10 @@
# Example Server Name
### From their [Github](https://github.com/parkervcp/eggs)
A link to the site that you download game files from.
The description of the server usually provided by the game/server maker.
### Install notes
Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log.
### Minimum RAM warning
Minimum required memory to run the server.
# Teeworlds
### From their [Site](https://www.teeworlds.com/)
Teeworlds is a free online multiplayer game, available for all major operating systems. Battle with up to 16 players in a variety of game modes, including Team Deathmatch and Capture The Flag. You can even design your own maps
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 8308 |
#### Mods/Plugins may require ports to be added to the server.
| Game | 8303 |

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-10-01T22:39:40-04:00",
"name": "Teeworlds",
"author": "parker@parkervcp.com",
"description": "Teeworlds is a free online multiplayer game, available for all major operating systems. Battle with up to 16 players in a variety of game modes, including Team Deathmatch and Capture The Flag. You can even design your own maps!",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/teeworlds_srv",
"config": {
"files": "{\r\n \"autoexec.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bindaddr\": \"bindaddr 0.0.0.0\",\r\n \"sv_port\": \"sv_port {{server.build.default.port}}\",\r\n \"sv_name\": \"sv_name {{server.build.env.SERVER_NAME}}\",\r\n \"sv_motd\": \"sv_motd {{server.build.env.SERVER_MOTD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"as master, sending heartbeats\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "## teeworlds pterodactyl installer\r\napt update\r\napt upgrade -y\r\napt install -y curl jq file\r\n\r\nGITHUB_PACKAGE=\"teeworlds\/teeworlds\"\r\nMATCH=\"linux_x86_64\"\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n## setting variable names for later\r\nFILE_NAME=${DOWNLOAD_LINK##*\/}\r\nFOLDER_NAME=${FILE_NAME%.tar.gz}\r\n\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o ${FILE_NAME}'\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${FILE_NAME}\r\n\r\nFILETYPE=$(file -F ',' ${FILE_NAME} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${FILE_NAME}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${FILE_NAME}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${FILE_NAME}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\n## cleanup old files\r\nmv ${FOLDER_NAME}\/* .\/\r\n\r\nrm -rf ${FILE_NAME} ${FOLDER_NAME}\r\n\r\n## download default config\r\nif [ ! -f \/mnt\/server\/autoexec.cfg ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/teeworlds\/teeworlds\/autoexec.cfg > \/mnt\/server\/autoexec.cfg\r\nfi\r\n\r\n## download safe storage file\r\n## overwrites any that exists.\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/teeworlds\/teeworlds\/storage.cfg > \/mnt\/server\/storage.cfg\r\n\r\necho -e \"Install complete.\"",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "The Display Name for the server",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl Hosted Teeworlds Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "Server MotD",
"description": "Server Message of the Day displayed to all users.",
"env_variable": "SERVER_MOTD",
"default_value": "A Pterodactyl Hosted Teeworlds Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
}
]
}