mirror of
https://github.com/parkervcp/eggs.git
synced 2026-06-13 17:53:36 +08:00
Compare commits
215 Commits
@@ -24,13 +24,14 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
|
||||
## Please read the CONTRIBUTING.md before submitting PRs
|
||||
|
||||
## Bot Eggs
|
||||
## [Bots](/bots/)
|
||||
|
||||
[Discord](/bots/discord/)
|
||||
* [ATL Bot](/bots/discord/atlbot/) Node JS
|
||||
* [Bastion](/bots/discord/bastion/)
|
||||
* [CorpBot](/bots/discord/corpbot/) Python
|
||||
* [discord.js](bots/discord/discord.js/) Node JS generic
|
||||
* [discord.py](bots/discord/discord.py/) Python generic
|
||||
* [fragbot](/bots/discord/fragbot/) Golang
|
||||
* [jmusicbot](/bots/discord/jmusicbot) Java
|
||||
* [parkertron](/bots/discord/parkertron/) Golang
|
||||
@@ -38,19 +39,21 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Red](/bots/discord/redbot/) Python
|
||||
* [Sinusbot](/bots/discord/sinusbot/)
|
||||
|
||||
[Twitch](/bots/twitch)
|
||||
* [PhantomBot](/bots/twitch/phantombot/)
|
||||
* [Twitch](/bots/twitch)
|
||||
* [PhantomBot](/bots/twitch/phantombot/)
|
||||
|
||||
[TeamSpeak3](bots/teamspeak3)
|
||||
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/)
|
||||
* [TeamSpeak3](bots/teamspeak3)
|
||||
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/)
|
||||
|
||||
## Database Eggs
|
||||
### SQL Databases
|
||||
[MariaDB](/database/mariadb/)
|
||||
[PostgreSQL](/database/postgres/)
|
||||
## [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)
|
||||
|
||||
## Game Eggs
|
||||
[ET Legacy](/enemy_territory/etlegacy/)
|
||||
@@ -66,33 +69,34 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Multi Theft Auto](/gta/mtasa/)
|
||||
* [SA-MP](/gta/samp/)
|
||||
|
||||
[Mindusrty](/mindustry/)
|
||||
[Mindustry](/mindustry/)
|
||||
|
||||
[Minecraft Bedrock](/minecraft_bedrock/)
|
||||
* [Bedrock](/minecraft_bedrock/bedrock/)
|
||||
* [DragonProxy](/minecraft_bedrock/dragonproxy/)
|
||||
* [Nukkit](/minecraft_bedrock/nukkit/)
|
||||
* [PocketMine MP](/minecraft_bedrock/pocketmine_mp/)
|
||||
[Minecraft](/minecraft/)
|
||||
* [Bedrock](/minecraft/bedrock/)
|
||||
* [Bedrock](/minecraft/bedrock/bedrock/)
|
||||
* [DragonProxy](/minecraft/bedrock/dragonproxy/)
|
||||
* [Nukkit](/minecraft/bedrock/nukkit/)
|
||||
* [PocketMine MP](/minecraft/bedrock/pocketmine_mp/)
|
||||
|
||||
[Minecraft Java](/minecraft_java/) Servers for Java Minecraft
|
||||
* [Cuberite](/minecraft_java/cuberite/)
|
||||
* [feather](/minecraft/feather/)
|
||||
* [Feed The Beast](/minecraft_java/ftb/)
|
||||
* [Forge](/minecraft_java/forge/)
|
||||
* [Magma](/minecraft_java/magma/)
|
||||
* [Java](/minecraft/java/) Servers for Java Minecraft
|
||||
* [Cuberite](/minecraft/java/cuberite/)
|
||||
* [feather](/minecraft/feather/)
|
||||
* [Feed The Beast](/minecraft/java/ftb/)
|
||||
* [Forge](/minecraft/java/forge/)
|
||||
* [Magma](/minecraft/java/magma/)
|
||||
* [Paper](/minecraft/java/paper)
|
||||
* [Spigot](/minecraft/java/spigot/)
|
||||
* [spongeforge](/minecraft/java/spongeforge/)
|
||||
* [SpongeVanilla](/minecraft/java/spongevanilla/)
|
||||
* [Technic](/minecraft/java/technic/)
|
||||
* [Tuinity](/minecraft/java/tuinity/)
|
||||
* [VanillaCord](/minecraft/java/vanillacord/)
|
||||
|
||||
* [Paper](/minecraft_java/paper)
|
||||
* [Spigot](/minecraft_java/spigot/)
|
||||
* [spongeforge](/minecraft_java/spongeforge/)
|
||||
* [SpongeVanilla](/minecraft_java/spongevanilla/)
|
||||
* [Technic](/minecraft_java/technic/)
|
||||
* [VanillaCord](/minecraft_java/vanillacord/)
|
||||
* [Tuinity](/minecraft_java/tuinity/)
|
||||
|
||||
[Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft)
|
||||
* [Waterfall](/minecraft_proxy/waterfall/)
|
||||
* [TyphoonLimbo](/minecraft_proxy/typhoonlimbo/)
|
||||
* [Velocity](/minecraft_proxy/velocity/)
|
||||
* [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/)
|
||||
|
||||
[Red Dead Redemption](/rdr/)
|
||||
* [RedM](/rdr/redm/)
|
||||
@@ -105,27 +109,31 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/)
|
||||
* [Citadel: Forged with Fire](/steamcmd_servers/citadel)
|
||||
* [Conan Exiles](/steamcmd_servers/conan_exiles)
|
||||
* [Dead Matter](/steamcmd_servers/dead_matter)
|
||||
* [Don't Starve](/steamcmd_servers/dont_starve)
|
||||
* [ECO](/steamcmd_servers/eco/)
|
||||
* [HLDS server](/steamcmd_servers/hlds_server)
|
||||
* [Hurtworld](/steamcmd_servers/hurtworld)
|
||||
* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm)
|
||||
* [Killing Floor 2](/steamcmd_servers/killingfloor2)
|
||||
* [Mordhau](/steamcmd_servers/mordhau)
|
||||
* [Onset](/steamcmd_servers/onset)
|
||||
* [PixARK](/steamcmd_servers/pixark/)
|
||||
* [Project Zomboid](/steamcmd_servers/project_zomboid/)
|
||||
* [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/)
|
||||
* [Starbound](/steamcmd_servers/starbound)
|
||||
* [Stationeers](/steamcmd_servers/Stationeers/)
|
||||
* [Stationeers](/steamcmd_servers/stationeers/)
|
||||
* [Sven Co-op](/steamcmd_servers/svencoop)
|
||||
* [Squad](/steamcmd_servers/squad/)
|
||||
* [Unturned](/steamcmd_servers/unturned/)
|
||||
* [RocketMod](/steamcmd_servers/unturned/rocketmod/)
|
||||
* [Unturned](/steamcmd_servers/unturned/unturned/)
|
||||
|
||||
[Terraria](/terraria/)
|
||||
* [vanilla](/terraria/vanilla)
|
||||
* [tmodloader](/terraria/tmodloader)
|
||||
* [tshock](/terraria/tshock/)
|
||||
|
||||
|
||||
@@ -18,6 +18,10 @@ Give awesome perks to your Discord server!
|
||||
[discord.js](https://discord.js.org/)
|
||||
A generic discord.js egg for running discord bots.
|
||||
|
||||
#### DiscordPY
|
||||
[discord.py](https://discordpy.readthedocs.io/en/latest/)
|
||||
A generic discord.py egg for running discord bots.
|
||||
|
||||
#### MusicBot
|
||||
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
|
||||
A Discord music bot that's easy to set up and run yourself!
|
||||
|
||||
@@ -5,5 +5,9 @@ Give awesome perks to your Discord server!
|
||||
### 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.
|
||||
|
||||
## Running the bot
|
||||
You need to enable both `Privileged Gateway Intents` for the bot to run.
|
||||
Enable this from `https://discord.com/developers/applications/<applicationid>/bot`
|
||||
|
||||
### Server Ports
|
||||
No Ports are required for the bastion bot.
|
||||
@@ -3,35 +3,26 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-05-06T23:13:44-04:00",
|
||||
"exported_at": "2020-06-20T13:11:43-04:00",
|
||||
"name": "Bastion",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Bastion is an all-in-one multipurpose Discord bot that can do a whole bunch of things and its features are expanding daily. Bastion does everything most people will ever need it to do. Check out some feature highlights below to get a peek into the vast feature list of Bastion. And if you think Bastion lacks some feature, please send a suggestion and we will add it to Bastion as soon as possible.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_bastion",
|
||||
"startup": "node -r .\/utils\/globals.js .",
|
||||
"startup": "\"rmv() { echo -e \"stopping nodejs\"; for i in $(pgrep node); do kill $i; done; echo -e \"stopping mongo\"; mongo --eval \\\"db.getSiblingDB('admin').shutdownServer()\\\" ; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; mongod --fork --dbpath \/home\/container\/mongodb\/ --port 27017 --logpath \/home\/container\/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done && yarn start\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"I'm ready to roll!\"\r\n}",
|
||||
"files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n },\r\n \"settings\/configurations.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"presence.status\": \"{{server.build.env.STATUS}}\",\r\n \"presence.activity.type\": \"{{server.build.env.ACTIVITY}}\",\r\n \"presence.activity.name\": \"{{server.build.env.PLAYING}}\",\r\n \"presence.activity.url\": \"{{server.build.env.STREAM_URL}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Systems Ready!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Install Requirements\r\napk --no-cache add python g++ make git\r\n\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -b stable -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nyarn install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml",
|
||||
"container": "node:10-alpine",
|
||||
"entrypoint": "ash"
|
||||
"script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nyarn install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml\r\n\r\n## make folders for mongodb\r\nmkdir mongodb\/",
|
||||
"container": "node:12-buster",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Bot ID",
|
||||
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "BOT_ID",
|
||||
"default_value": "GETABOTID",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:32"
|
||||
},
|
||||
{
|
||||
"name": "Bot Token",
|
||||
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
|
||||
@@ -40,6 +31,42 @@
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Bot Status",
|
||||
"description": "valid values are `online`, `idle`, `dnd` and `invisible`",
|
||||
"env_variable": "STATUS",
|
||||
"default_value": "online",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Activity Type",
|
||||
"description": "valid options are `PLAYING`, `LISTENING`, `WATCHING` and `STREAMING`",
|
||||
"env_variable": "ACTIVITY",
|
||||
"default_value": "PLAYING",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:9"
|
||||
},
|
||||
{
|
||||
"name": "ACTIVITY",
|
||||
"description": "What the bot is doing",
|
||||
"env_variable": "PLAYING",
|
||||
"default_value": "on a pterodactyl server",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Stream URL",
|
||||
"description": "If the bot activity is set to `STREAMING`",
|
||||
"env_variable": "STREAM_URL",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:64"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,12 +3,12 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-03-26T16:10:33+01:00",
|
||||
"exported_at": "2020-07-18T23:13:34-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.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi && \/usr\/local\/bin\/npm install --production && \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}",
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||
@@ -17,9 +17,9 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#\/bin\/ash\r\n\r\napk add --no-cache git make gcc g++ python\r\n\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\t\techo -e \"updating local npm modules\"\r\n\t\t\t\/usr\/local\/bin\/npm install --production\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\t\techo -e \"install npm modules locally\"\r\n\t\t\/usr\/local\/bin\/npm install --production\r\n\tfi\r\nfi \r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "node:10-alpine",
|
||||
"entrypoint": "ash"
|
||||
"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",
|
||||
"container": "node:12-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
@@ -67,6 +67,15 @@
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Node packages",
|
||||
"description": "Install additional node packages.\r\n\r\nUse spaces to separate",
|
||||
"env_variable": "NODE_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
# discord.py generic
|
||||
This egg was designed to allow a user to pull their own python discord bot from a repo.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a bot.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
@@ -0,0 +1,81 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-08-02T14:36:53-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",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8",
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/home\/container\/ ${PY_PACKAGES}; fi; if [[ -f \/home\/container\/requirements.txt ]]; then pip install -U --target \/home\/container\/ -r requirements.txt; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"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",
|
||||
"container": "python:3.8-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Install Repo",
|
||||
"description": "The git repo to clone and install the discord js bot from",
|
||||
"env_variable": "INSTALL_REPO",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Install Branch",
|
||||
"description": "The branch of the bot to install",
|
||||
"env_variable": "INSTALL_BRANCH",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"env_variable": "USER_UPLOAD",
|
||||
"default_value": "0",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "When using a git repo pull the latest files on startup.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Bot py file",
|
||||
"description": "The file that starts the bot.",
|
||||
"env_variable": "BOT_PY_FILE",
|
||||
"default_value": "bot.py",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Python packages",
|
||||
"description": "Install additional python packages.\r\n\r\nUse spaces to separate",
|
||||
"env_variable": "PY_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,7 +3,7 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-02-21T13:00:39-05:00",
|
||||
"exported_at": "2020-06-15T17:43:44-04:00",
|
||||
"name": "JMusicBot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A Discord music bot that's easy to set up and run yourself!",
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nGITHUB_PACKAGE=\"jagrosh\/MusicBot\"\r\nMATCH=\"All\"\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\n CONFIG_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i config)\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 config)\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 | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n fi\r\nfi\r\n\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\ncurl -Lo JMusicBot.jar ${DOWNLOAD_LINK}\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"config found\"\r\nelse\r\n echo -e \"config not found getting default\"\r\n curl -Lo config.txt ${CONFIG_LINK}\r\nfi\r\n\r\necho \"Job's Done\"",
|
||||
"script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nGITHUB_PACKAGE=\"jagrosh\/MusicBot\"\r\nMATCH=\"Linux\"\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\n CONFIG_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i config)\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 config)\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 | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n fi\r\nfi\r\n\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\ncurl -Lo JMusicBot.jar ${DOWNLOAD_LINK}\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"config found\"\r\nelse\r\n echo -e \"config not found getting default\"\r\n curl -Lo config.txt ${CONFIG_LINK}\r\nfi\r\n\r\necho \"Job's Done\"",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
|
||||
@@ -5,4 +5,9 @@ A multifunction Discord bot
|
||||
### Server Ports
|
||||
No port are required to run Red.
|
||||
|
||||
### Additional Requirements
|
||||
When using the Audio Cog the bot will attempt to save files to /tmp resulting in a disk space error. To resolve this error you must increase the size of `tmpfs` using custom container policy.
|
||||
|
||||
For additional details see: https://pterodactyl.io/daemon/0.6/configuration.html#container-policy
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
||||
|
||||
@@ -3,5 +3,4 @@
|
||||
### Some of these bots support other services but are primarily Twitch bots
|
||||
|
||||
#### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/)
|
||||
|
||||
PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.
|
||||
#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-03-03T02:51:46+01:00",
|
||||
"exported_at": "2020-04-26T14:11:30+02:00",
|
||||
"name": "PhantomBot",
|
||||
"author": "mail@wuffy.eu",
|
||||
"description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.",
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -n \"${DOWNLOAD_PATH}\" ]; then\r\n echo -e \"Using download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DOWNLOAD_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n else\r\n echo -e \"Using custom release version\"\r\n fi\r\n\r\n# DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi",
|
||||
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching last github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"Using latest Github Master version\"\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi",
|
||||
"container": "ubuntu:16.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -25,21 +25,12 @@
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "",
|
||||
"description": "latest = Latest Stable\r\nmaster = latest Github",
|
||||
"env_variable": "RELEASE_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "max:9"
|
||||
},
|
||||
{
|
||||
"name": "Download Path",
|
||||
"description": "Using the latest nightly build:\r\nhttps:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\n\r\nWhen you use the latest nightly build you need to change the docker image to:\r\nquay.io\/parkervcp\/pterodactyl-images:debian_openjdk-13",
|
||||
"env_variable": "DOWNLOAD_PATH",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "max:512"
|
||||
"rules": "required|string|max:9"
|
||||
},
|
||||
{
|
||||
"name": "Twitch Channel Name",
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
# PhantomBot
|
||||
### 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.
|
||||
|
||||
### Server Ports
|
||||
1 port is required to run sogeBot.
|
||||
|
||||
| Port | default |
|
||||
|---------------------|---------|
|
||||
| Game (HTTP Server) | 20000 |
|
||||
|
||||
#NOTES
|
||||
|
||||
The installation take a long time, because a lot of things must be compiled. It can take 5 or more minutes !!!
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-05-01T11:41:48+02:00",
|
||||
"name": "SogeBot",
|
||||
"author": "panel@mgc4you.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}",
|
||||
"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\napk update\r\napk add --no-cache git make gcc g++ python autoconf automake nasm build-base zlib zlib-dev libtool ca-certificates curl unzip sqlite gettext\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n RELEASE_VERSION=$(curl -s \"https:\/\/api.github.com\/repos\/sogehige\/sogeBot\/releases\/latest\" | awk -F '\"' '\/tag_name\/{print $4}')\r\n DOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\n curl -L -o sogebot.zip ${DOWNLOAD_URL}\r\n unzip -o sogebot.zip\r\n rm sogebot.zip\r\n \r\nrm -rf \/mnt\/server\/.env\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\nelif [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n git clone https:\/\/github.com\/sogehige\/sogeBot.git .\r\n cp src\/bot\/data\/.* .\r\n \r\nrm -rf \/mnt\/server\/.env\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\nelse\r\n DOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\n curl -L -o sogebot.zip ${DOWNLOAD_URL}\r\n unzip -o sogebot.zip\r\n rm sogebot.zip\r\n \r\nrm -rf \/mnt\/server\/.env\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\nfi\r\n\r\nnpm install -g npm@latest\r\n\r\n#\/usr\/local\/bin\/npm install sqlite3 --save\r\n#\/usr\/local\/bin\/npm install --save-dev electron-rebuild\r\n\r\nif [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"## Compiling SourceCode with make && Downloading npm components\"\r\n make\r\nelse\r\n echo -e \"## Downloading npm components\"\r\n \/usr\/local\/bin\/npm ci\r\nfi\r\n\r\nexit 0",
|
||||
"container": "node:12-alpine3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Use: \"latest\" => latest official Version of SogeBot | \"master\" => Latest master branch Version |\"10.x.x\" other Version",
|
||||
"env_variable": "RELEASE_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "max:9"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# Redis
|
||||
### From their [Website](https://redis.io/)
|
||||
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
|
||||
|
||||
### Minimum RAM warning
|
||||
It's recommended to have 4gb of RAM for redis
|
||||
|
||||
See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/
|
||||
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Server | 6379 |
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-07-11T00:34:47-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.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_redis-6",
|
||||
"startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}}; redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Configuration loaded\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"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.\"",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Redis Password",
|
||||
"description": "The password redis should use to secure the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "P@55w0rd",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,10 +17,10 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit",
|
||||
"script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit",
|
||||
"container": "mariadb:10.3",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
}
|
||||
@@ -186,4 +186,4 @@ key_buffer = 16M
|
||||
# The files must end with '.cnf', otherwise they'll be ignored.
|
||||
#
|
||||
!include /etc/mysql/mariadb.cnf
|
||||
!includedir /etc/mysql/conf.d/
|
||||
!includedir /etc/mysql/conf.d/
|
||||
@@ -187,4 +187,4 @@ key_buffer = 16M
|
||||
# The files must end with '.cnf', otherwise they'll be ignored.
|
||||
#
|
||||
!include /etc/mysql/mariadb.cnf
|
||||
!includedir /etc/mysql/conf.d/
|
||||
!includedir /etc/mysql/conf.d/
|
||||
@@ -3,11 +3,11 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-08-18T21:02:25+02:00",
|
||||
"exported_at": "2020-06-26T12:55:32-04:00",
|
||||
"name": "Factorio",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:glibc",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
||||
"startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{SAVE_NAME}}.zip",
|
||||
"config": {
|
||||
"files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}",
|
||||
@@ -17,9 +17,9 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl tar xz jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9]*\\.[0-9]*)'`\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}.tar.gz' \\n\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}.tar.gz\r\n\r\ntar -xf factorio-${DL_VERSION}.tar.gz --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}.tar.gz\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi",
|
||||
"container": "frolvlad\/alpine-glibc",
|
||||
"entrypoint": "ash"
|
||||
"script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nVERSION_JSON=$(curl -sSL https:\/\/factorio.com\/api\/latest-releases)\r\n\r\nlatest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')\r\nlatest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
@@ -114,4 +114,4 @@
|
||||
"rules": "required|numeric|digits_between:1,3"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
+20
-15
@@ -1,23 +1,28 @@
|
||||
# FiveM
|
||||
|
||||
# Notice
|
||||
|
||||
This is to inform all users that the4 fivem team has enabled cloudflare ddos protection and the install script is now broken due to this.
|
||||
|
||||
You will need to have a self hosted version of the server files to curl in the install script.
|
||||
|
||||
I have added a `DOWNLOAD_URL` variable that needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script.
|
||||
|
||||
### From the [FiveM](https://fivem.net/) Site
|
||||
## From the [FiveM](https://fivem.net/) Site
|
||||
FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers.
|
||||
|
||||
### Install notes
|
||||
- Only installs latest version versions are not selectable.
|
||||
# Notice
|
||||
Currently the script can get versions from the builds site.
|
||||
|
||||
### Server Ports
|
||||
The `FIVEM_VERSION` variable.
|
||||
* Defaults to `latest` which is the latest recommended
|
||||
* Can be set to a specific version Ex. `2431-350dd7bd5c0176216c38625ad5b1108ead44674d`.
|
||||
|
||||
The `DOWNLOAD_URL` only needs to be used if they turn on ddos protection. The variable needs to point to a `fx.tar.xz` file as I am too lazy to update the entire script.
|
||||
|
||||
# txAdmin
|
||||
txAdmin is now supported and disabled by default. You set `TXADMIN_ENABLED` to `1` to enable it.
|
||||
|
||||
The last update to the egg changes the server to use txadmin to run. On first startup it will print a key to use to sign into the txadmin panel.
|
||||
|
||||
### Your server will not go online until it's started from txadmin.
|
||||
|
||||
## Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 30210 |
|
||||
| Game+1 | 30211 |
|
||||
| Game | 30110 |
|
||||
| Game+1 | 30120 |
|
||||
| txAdmin | 40120 |
|
||||
|
||||
+34
-16
@@ -3,23 +3,23 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-11-03T20:45:20-05:00",
|
||||
"exported_at": "2020-06-24T18:49:06-04:00",
|
||||
"name": "FiveM",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine",
|
||||
"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 {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg",
|
||||
"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 {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )",
|
||||
"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}",
|
||||
"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 \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# FiveM 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\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. 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\nmkdir logs\/\r\n\r\necho \"install complete\"",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
"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"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
@@ -32,15 +32,6 @@
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:32"
|
||||
},
|
||||
{
|
||||
"name": "Steam Web Api Key",
|
||||
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
||||
"env_variable": "STEAM_WEBAPIKEY",
|
||||
"default_value": "none",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Set the fivem max play count",
|
||||
@@ -76,6 +67,33 @@
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Steam Web Api Key",
|
||||
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
||||
"env_variable": "STEAM_WEBAPIKEY",
|
||||
"default_value": "none",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "txAdmin Port",
|
||||
"description": "The port for the txAdmin panel",
|
||||
"env_variable": "TXADMIN_PORT",
|
||||
"default_value": "40120",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Enable txadmin",
|
||||
"description": "Enables txadmin.\r\n\r\nset to 1 to enable. (default is 0 for false)",
|
||||
"env_variable": "TXADMIN_ENABLE",
|
||||
"default_value": "0",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|bool"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
+56
-33
@@ -1,52 +1,75 @@
|
||||
# only change these if you're using a server with multiple network interfaces
|
||||
### AUTOMATICALY SET BY PTERODACTYL ###
|
||||
# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only.
|
||||
endpoint_add_tcp "0.0.0.0:30120"
|
||||
endpoint_add_udp "0.0.0.0:30120"
|
||||
|
||||
start mapmanager
|
||||
start chat
|
||||
start spawnmanager
|
||||
start sessionmanager
|
||||
start fivem
|
||||
start hardcap
|
||||
start rconlog
|
||||
start scoreboard
|
||||
start playernames
|
||||
# Set your server's hostname
|
||||
sv_hostname "New FiveM Server with Pterodactyl"
|
||||
|
||||
# allow client mods such as Lamda Menu?
|
||||
sv_scriptHookAllowed 1
|
||||
# Server player slot limit (must be between 1 and 32, unless using OneSync)
|
||||
sv_maxclients 32
|
||||
|
||||
# change this
|
||||
#rcon_password yay
|
||||
# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey)
|
||||
# -> replace "" with the key
|
||||
set steam_webApiKey ""
|
||||
|
||||
# a comma-separated list of tags for your server
|
||||
# for example: sets tags "drifting, cars, racing" or sets tags "roleplay, military, tanks"
|
||||
# License key for your server (https://keymaster.fivem.net)
|
||||
set sv_licenseKey
|
||||
########################################
|
||||
|
||||
# These resources will start by default.
|
||||
ensure mapmanager
|
||||
ensure chat
|
||||
ensure spawnmanager
|
||||
ensure sessionmanager
|
||||
ensure fivem
|
||||
ensure hardcap
|
||||
ensure rconlog
|
||||
|
||||
# This allows players to use scripthook-based plugins such as the legacy Lambda Menu.
|
||||
# Set this to 1 to allow scripthook. Do note that this does _not_ guarantee players won't be able to use external plugins.
|
||||
sv_scriptHookAllowed 0
|
||||
|
||||
# Uncomment this and set a password to enable RCON. Make sure to change the password - it should look like rcon_password "YOURPASSWORD"
|
||||
#rcon_password ""
|
||||
|
||||
# A comma-separated list of tags for your server.
|
||||
# For example:
|
||||
# - sets tags "drifting, cars, racing"
|
||||
# Or:
|
||||
# - sets tags "roleplay, military, tanks"
|
||||
sets tags "default"
|
||||
|
||||
sv_hostname "My new FXServer!"
|
||||
# A valid locale identifier for your server's primary language.
|
||||
# For example "en-US", "fr-CA", "nl-NL", "de-DE", "en-GB", "pt-BR"
|
||||
sets locale "root-AQ"
|
||||
# please DO replace root-AQ on the line ABOVE with a real language! :)
|
||||
|
||||
# nested configs!
|
||||
#exec server_internal.cfg
|
||||
# Set an optional server info and connecting banner image url.
|
||||
# Size doesn't matter, any banner sized image will be fine.
|
||||
#sets banner_detail "https://url.to/image.png"
|
||||
#sets banner_connecting "https://url.to/image.png"
|
||||
|
||||
# loading a server icon (96x96 PNG file)
|
||||
# Nested configs!
|
||||
#exec resources.cfg
|
||||
|
||||
# Loading a server icon (96x96 PNG file)
|
||||
#load_server_icon myLogo.png
|
||||
|
||||
# convars for use from script
|
||||
set temp_convar "hey world!"
|
||||
# convars which can be used in scripts
|
||||
#set temp_convar "hey world!"
|
||||
|
||||
# Uncomment to DISABLE your server coming up in the server list
|
||||
# Uncomment this line if you do not want your server to be listed in the server browser.
|
||||
# Do not edit it if you *do* want your server listed.
|
||||
#sv_master1 ""
|
||||
|
||||
# want to only allow players authenticated with a third-party provider like Steam (don't forget, Social Club is a third party provider too!)?
|
||||
#sv_authMaxVariance 1
|
||||
#sv_authMinTrust 5
|
||||
|
||||
# add system admins
|
||||
# Add system admins
|
||||
add_ace group.admin command allow # allow all commands
|
||||
add_ace group.admin command.quit deny # but don't allow quit
|
||||
add_principal identifier.steam:110000112345678 group.admin # add the admin to the group
|
||||
add_principal identifier.fivem:1 group.admin # add the admin to the group
|
||||
|
||||
# remove the # to hide player endpoints in external log output
|
||||
#sv_endpointprivacy true
|
||||
# Hide player endpoints in external log output.
|
||||
sv_endpointprivacy true
|
||||
|
||||
# server slots limit (must be between 1 and 32)
|
||||
sv_maxclients 32
|
||||
# enable OneSync with default configuration (required for server-side state awareness)
|
||||
onesync_enabled true
|
||||
|
||||
+2
-2
@@ -1,7 +1,7 @@
|
||||
# Mindustry
|
||||
|
||||
**PLEASE READ**
|
||||
Due to Mindustry not accepting command line arguments you MUST set the port once you start the game, buy using the command `port <port>`.
|
||||
Due to Mindustry not accepting command line arguments you MUST set the port once you start the game, by using the command `port <port>`.
|
||||
|
||||
This only has to be done once.
|
||||
|
||||
@@ -18,4 +18,4 @@ Mindustry requires a single port
|
||||
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| Game | 6567 |
|
||||
| Game | 6567 |
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-03-01T10:26:07-05:00",
|
||||
"exported_at": "2020-07-22T18:01:10+02:00",
|
||||
"name": "Mindustry",
|
||||
"author": "unknown@unknown.com",
|
||||
"description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-image:debian_openjdk-11",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_PORT}},name {{SERVER_NAME}},host {{MAPNAME}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
@@ -51,4 +51,4 @@
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
# Minecraft
|
||||
|
||||
It’s a game about placing blocks and going on adventures
|
||||
|
||||
It’s set in infinitely-generated worlds of wide open terrain - icy mountains, swampy bayous, vast pastures and much more - filled with secrets, wonders and peril!
|
||||
|
||||
[Bedrock](/minecraft/bedrock/) Servers for Bedrock Minecraft (Windows 10, mobile, console)
|
||||
* [Bedrock](/minecraft/bedrock/bedrock/)
|
||||
* [DragonProxy](/minecraft/bedrock/dragon_proxy/)
|
||||
* [Nukkit](/minecraft/bedrock/nukkit/)
|
||||
* [PocketMine MP](/minecraft/bedrock/pocketmine_mp/)
|
||||
|
||||
[Java](/minecraft/java/) Servers for Java Minecraft
|
||||
* [Cuberite](/minecraft/java/cuberite/)
|
||||
* [Feather](/minecraft/java/feather/)
|
||||
* [Feed The Beast](/minecraft/java/ftb/)
|
||||
* [Forge](/minecraft/java/forge/)
|
||||
* [Magma](/minecraft/java/magma/)
|
||||
* [Paper](/minecraft/java/paper)
|
||||
* [Spigot](/minecraft/java/spigot/)
|
||||
* [spongeforge](/minecraft/java/spongeforge/)
|
||||
* [SpongeVanilla](/minecraft/java/spongevanilla/)
|
||||
* [Technic](/minecraft/java/technic/)
|
||||
* [Tuinity](/minecraft/java/tuinity/)
|
||||
* [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
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties\r\nfi",
|
||||
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
+4
-4
@@ -3,7 +3,7 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-01-24T08:59:24-05:00",
|
||||
"exported_at": "2020-07-14T22:15:06-04:00",
|
||||
"name": "PocketmineMP",
|
||||
"author": "info@swisscrafting.ch",
|
||||
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
|
||||
@@ -17,9 +17,9 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n\r\napk add --no-cache curl\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",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
"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",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
@@ -28,7 +28,30 @@ A generic service to pull forge mod packs from the curseforge site.
|
||||
A generic service to pull forge mod packs from the FTB site.
|
||||
Supply values to 2 variables to use
|
||||
- MODPACK_URL: from the url to the pack https://www.feed-the-beast.com/projects/{MODPACK_URL}
|
||||
- MODPACK_VERSION: version of the modpack to install
|
||||
- MODPACK_VERSION: version of the modpack to install
|
||||
|
||||
[FTB Modpacks through modpacks.ch](https://api.modpacks.ch)
|
||||
A generic service to pull FTB modpacks from api.modpacks.ch.
|
||||
There are 2 ways to install a server through this service.
|
||||
The first method only requires you to know the modpacks name and version.
|
||||
The second method requires you to know the id for both the modpack and version in the api.
|
||||
|
||||
**Method 1 (Recommended)**
|
||||
- FTB_SEARCH_TERM: the modpack name to query for, must be at least 4 characters long.
|
||||
EX: for FTB: Interactions you would do "interactions".
|
||||
- FTB_VERSION_STRING: the string version that you want to install.
|
||||
EX: for FTB: Interactions 2.0.2, you would put "2.0.2".
|
||||
|
||||
**Method 2**
|
||||
- FTB_MODPACK_ID: the id that directs to the modpack in the api.
|
||||
EX: for FTB: Interactions the id would be "5". https://api.modpacks.ch/public/modpack/5
|
||||
- FTB_MODPACK_VERSION_ID: the version id in the api.
|
||||
EX: for FTB: Interactions 2.0.2 the id is "86". https://api.modpacks.ch/public/modpack/5/86
|
||||
|
||||
**NOTE**
|
||||
**Not all FTB packs come with a server.properties file, due to this the server.properties file
|
||||
may not get updated with the correct ip address and port at first launch.
|
||||
Please restart the server after first launch to fix this.**
|
||||
|
||||
[FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation)
|
||||
Revelation is a general all-purpose modpack with optimal FPS, server performance and stability.
|
||||
@@ -63,7 +86,10 @@ Gear up and set forth on a campaign worthy of legend, for Hexxit has been uneart
|
||||
Blightfall is a combination modpack and adventure map about surviving on an alien planet.
|
||||
|
||||
[Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends)
|
||||
The ancient power of Tekkits past return in this legendary pack!
|
||||
The ancient power of Tekkits past return in this legendary pack!
|
||||
|
||||
[Tekkit Classic](https://www.technicpack.net/modpack/tekkit.552560)
|
||||
The official Tekkit Classic modpack. Build factories, automate crafting!
|
||||
|
||||
## Tuinity
|
||||
Fork of Paper aimed at improving server performance at high playercounts.
|
||||
File diff suppressed because one or more lines are too long
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-06-01T21:19:06-04:00",
|
||||
"name": "Forge Enhanced",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n FILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version ${FORGE_VERSION}\"\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_VERSION} !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar",
|
||||
"container": "openjdk:8-jdk-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Jar File",
|
||||
"description": "The name of the Jarfile to use when running Forge Mod.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "server.jar",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||
},
|
||||
{
|
||||
"name": "Forge version",
|
||||
"description": "The version of minecraft you want to install for.\r\n\r\nLeaving latest will install the latest recommended version.",
|
||||
"env_variable": "MC_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:9"
|
||||
},
|
||||
{
|
||||
"name": "Build Type",
|
||||
"description": "The type of server jar to download from forge.\r\n\r\nValid types are \"recommended\" and \"latest\".",
|
||||
"env_variable": "BUILD_TYPE",
|
||||
"default_value": "recommended",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Forge Version",
|
||||
"description": "Gets an exact version.\r\n\r\nEx. 1.15.2-31.2.4\r\n\r\nOverrides MC_VERSION and BUILD_TYPE. If it fails to download the server files it will fail to install.",
|
||||
"env_variable": "FORGE_VERSION",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-07-15T18:19:27-04:00",
|
||||
"name": "FTB-modpacks.ch Server",
|
||||
"author": "runemaster580@gmail.com",
|
||||
"description": "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this.",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar forge-server.jar",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq dos2unix\r\n}\r\n\r\n\r\nfunction get_download {\r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ \"${FTB_SEARCH_TERM}\" != \"\" ]; then\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ \"${FTB_VERSION_STRING}\" != \"\" ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n \r\n echo -e \"ID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID}\"\r\n \r\n cd \/mnt\/server\r\n \r\n curl https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID}\/${FTB_MODPACK_VERSION_ID}\/server\/linux --output serversetup\r\n chmod +x .\/serversetup\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} <<< 'y'\r\n}\r\n\r\nfunction cleanup {\r\n rm -rf serversetup\r\n mv forge-*.jar forge-server.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\ncleanup",
|
||||
"container": "openjdk:8-jdk-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "FTB Pack search term",
|
||||
"description": "the search term for finding the modpack. needs to be at least 4 characters long.\r\nFind out what term is needed by using the ftb app and searching with the term. make sure it only returns 1 result.\r\ncan also be searched for via: https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term={SEARCHTERM}\r\n\r\nonly needed if the modpack id and modpack version id is unknown.",
|
||||
"env_variable": "FTB_SEARCH_TERM",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:99|min:4"
|
||||
},
|
||||
{
|
||||
"name": "FTB modpack ID",
|
||||
"description": "The FTB Api modpack ID.\r\nNeeded if not using the search variable\r\n\r\nExample: FTB Interactions ID is 5.\r\nhttps:\/\/api.modpacks.ch\/public\/modpack\/5",
|
||||
"env_variable": "FTB_MODPACK_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "FTB Pack Version",
|
||||
"description": "what version of the modpack to install. leave empty if using the modpack version id variable.",
|
||||
"env_variable": "FTB_VERSION_STRING",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "FTB Pack Version ID",
|
||||
"description": "The modpack api version ID.\r\nneeded if not using the string for the version.\r\n\r\nExample FTB Revelations version id for version \"2.0.2\" is 86.\r\nwhich would come out as: https:\/\/api.modpacks.ch\/public\/modpack\/5\/86",
|
||||
"env_variable": "FTB_MODPACK_VERSION_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache --update curl jq\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n VER_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/paper | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_PAPER_VERSION=`curl -s https:\/\/papermc.io\/api\/v1\/paper | jq -r '.versions' | jq -r '.[0]'`\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest paper version\"\r\n MINECRAFT_VERSION=${LATEST_PAPER_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true`\r\n LATEST_PAPER_BUILD=`curl -s https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build\"\r\n BUILD_NUMBER=${LATEST_PAPER_BUILD}\r\n fi\r\n \r\n echo \"Version being downloaded\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi",
|
||||
"script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache --update curl jq\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n VER_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/paper | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | IN($VERSION)' | grep true`\r\n LATEST_PAPER_VERSION=`curl -s https:\/\/papermc.io\/api\/v1\/paper | jq -r '.versions' | jq -r '.[0]'`\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest paper version\"\r\n MINECRAFT_VERSION=${LATEST_PAPER_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=`curl -s https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true`\r\n LATEST_PAPER_BUILD=`curl -s https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION} | jq -r '.builds.latest'`\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build\"\r\n BUILD_NUMBER=${LATEST_PAPER_BUILD}\r\n fi\r\n \r\n echo \"Version being downloaded\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/paper\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi",
|
||||
"container": "alpine:3.9",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
@@ -60,4 +60,4 @@
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -16,7 +16,9 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
## Technic Eggs
|
||||
|
||||
[Technic](/minecraft_java/technic/)
|
||||
* [Attack of the B-Team](/minecraft_java/technic/attack-of-the-bteam/)
|
||||
* [Blightfall](/minecraft_java/technic/blightfall/)
|
||||
* [Hexxit](/minecraft_java/technic/hexxit/)
|
||||
* [Tekkit Classic](/minecraft_java/technic/tekkit-classic/)
|
||||
* [Tekkit Legends](/minecraft_java/technic/tekkit-legends/)
|
||||
* [Attack of the B-Team](/minecraft_java/technic/attack-of-the-bteam/)
|
||||
* [The 1.7.10 Pack](/minecraft_java/technic/the-1-7-10-pack/)
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-04-30T21:51:06+02:00",
|
||||
"name": "Tekkit Classic",
|
||||
"author": "geoffrey@remedygaming.net",
|
||||
"description": "Created by the Technic team, Tekkit Classic is a modpack for the record breaking sandbox construction game Minecraft. \r\nIt brings together some of the best mods from the Minecraft community for automating, industrializing and powering your worlds and bundles them into one easy download!",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar Tekkit.jar",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sS http:\/\/servers.technicpack.net\/Technic\/servers\/tekkit\/Tekkit_Server_$MODPACK_VERSION.zip -o Tekkit_Server_$MODPACK_VERSION.zip\r\n\r\nunzip Tekkit_Server_$MODPACK_VERSION.zip\r\n\r\nrm -rf Tekkit_Server_$MODPACK_VERSION.zip\r\n\r\nrm launch.bat\r\n\r\nrm launch.sh\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi",
|
||||
"container": "alpine:3.9",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Modpack Version",
|
||||
"description": "",
|
||||
"env_variable": "MODPACK_VERSION",
|
||||
"default_value": "3.1.2",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# Minecraft: The 1.7.10 Pack
|
||||
|
||||
A very good modpack!
|
||||
|
||||
https://www.technicpack.net/modpack/the-1710-pack.453902
|
||||
|
||||
## 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 |
|
||||
|-------|---------|
|
||||
| Game | 25565 |
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-04-19T18:58:27+02:00",
|
||||
"name": "The 1.7.10 Pack",
|
||||
"author": "contact@sweplox.se",
|
||||
"description": "The 1.7.10 Pack",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar forge-*.jar",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sS http:\/\/solder.endermedia.com\/repository\/downloads\/the-1710-pack\/the-1710-pack_$MODPACK_VERSION.zip -o the-1710-pack_$MODPACK_VERSION.zip\r\n\r\nunzip the-1710-pack_$MODPACK_VERSION.zip\r\n\r\nrm -rf the-1710-pack_$MODPACK_VERSION.zip",
|
||||
"container": "alpine:3.9",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Modpack Version",
|
||||
"description": "Version of the modpack to use",
|
||||
"env_variable": "MODPACK_VERSION",
|
||||
"default_value": "0.9.8d",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Tuinity Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl\r\ncd \/mnt\/server\r\n\r\nif [ ! -f server.properties ]; then\r\ncurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/Spottedleaf\/job\/Tuinity\/lastStableBuild\/artifact\/tuinity-paperclip.jar",
|
||||
"script": "#!\/bin\/bash\r\n# Tuinity Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl\r\ncd \/mnt\/server\r\n\r\nif [ ! -f server.properties ]; then\r\ncurl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.codemc.io\/job\/Spottedleaf\/job\/Tuinity\/lastStableBuild\/artifact\/tuinity-paperclip.jar",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
# Travertine server
|
||||
Waterfall, with additional support for Minecraft 1.7.10.
|
||||
|
||||
## 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 |
|
||||
|-------|---------|
|
||||
| Game | 25565 |
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-08-11T15:24:12-04:00",
|
||||
"name": "Travertine",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Travertine is a fork of the well-known Waterfall server teleportation suite.",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"listeners[0].host\": \"0.0.0.0:{{server.build.default.port}}\",\r\n \"servers.*.address\": {\r\n \"127.0.0.1\": \"{{config.docker.interface}}\",\r\n \"localhost\": \"{{config.docker.interface}}\"\r\n }\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Listening on \",\r\n \"userInteraction\": [\r\n \"Listening on \/0.0.0.0:\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"proxy.log.0\"\r\n}",
|
||||
"stop": "end"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n echo -e \"getting latest supported mc version and latest paper build\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/travertine | jq -r '.versions[0]')\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n VER_EXISTS=true\r\n else\r\n echo -e \"checking if version ${MINECRAFT_VERSION} exists\"\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/travertine | jq -r --arg VERSION ${MINECRAFT_VERSION} '.versions[] | contains($VERSION)' | grep true)\r\n fi\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest travertine version\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/travertine | jq -r '.versions[0]')\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -sSL https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true)\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build for version ${MINECRAFT_VERSION}\"\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n fi\r\n \r\n echo \"Version being downloaded\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/travertine\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\nif [ -z ${SERVER_JARFILE} ]; then\r\n SERVER_JARFILE=server.jar\r\nfi\r\n\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f config.yml ]; then\r\n echo -e \"Downloading travertine config.yml\"\r\n curl -o config.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/travertine\/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": "Minecraft Version",
|
||||
"description": "The version of Minecraft that water was built to support.",
|
||||
"env_variable": "MINECRAFT_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|alpha_num|between:1,6"
|
||||
},
|
||||
{
|
||||
"name": "Waterfall Jar File",
|
||||
"description": "The name of the Jarfile to use when running Waterfall.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "waterfall.jar",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||
},
|
||||
{
|
||||
"name": "Download Link",
|
||||
"description": "A link to the server jar to download the waterfall jar.",
|
||||
"env_variable": "DL_LINK",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Waterfall build number",
|
||||
"description": "Default is latest.\r\n\r\nif set to latest or an invalid version will grab the latest build number.",
|
||||
"env_variable": "BUILD_NUMBER",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,26 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-06-20T11:37:02-04:00",
|
||||
"name": "TyphoonLimbo",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Lightweight minecraft limbo server",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
||||
"startup": "`sleep 2 && .\/TyphoonLimbo`",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"listen_address\": \":{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"launched on port\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# TyphoonLimbo Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\napt update\r\napt install -y git curl\r\n\r\ncd \/tmp\/\r\n\r\necho \"pulling the TyphoonLimbo pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/TyphoonMC\/TyphoonLimbo.git\r\ncd TyphoonLimbo\r\n\r\ngo get github.com\/TyphoonMC\/TyphoonCore\r\n\r\necho -e \"building TyphoonLimbo\"\r\ngo build\r\n\r\nmv TyphoonLimbo \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n\techo -e \"config exists nothing to do\"\r\nelse\r\n\techo -e \"copying default config over\"\r\n\tcp config.json \/mnt\/server\/\r\nfi\r\n\r\necho -e \"install complete\"",
|
||||
"container": "golang:1.14-buster",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
+1
-1
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"",
|
||||
"script": "#!\/bin\/ash\r\n# Velocity Proxy Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache curl\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z ${VELOCITY_VERSION} ] || [ ${VELOCITY_VERSION} == \"latest\" ]; then\r\n\tVELOCITY_VERSION=\/lastStableBuild\r\nfi\r\n\r\necho -e \"Getting download link\"\r\nDOWNLOAD_ENDPOINT=$(curl https:\/\/ci.velocitypowered.com\/job\/velocity\/${VELOCITY_VERSION}\/ | grep -Eo 'href=\"[^\\\"]+\"' | grep -vE \"view|fingerprint\" | grep \".jar\" | sed -n 's\/.*href=\"\\([^\"]*\\).*\/\\1\/p')\r\nDOWNLOAD_LINK=https:\/\/ci.velocitypowered.com\/job\/velocity\/lastStableBuild\/${DOWNLOAD_ENDPOINT}\r\n\r\necho -e \"Downloading ${DOWNLOAD_LINK}\"\r\ncurl ${DOWNLOAD_LINK} -o ${SERVER_JARFILE}\r\n\r\nif [ -f velocity.toml ]; then\r\n echo -e \"velocity config file exists\"\r\nelse\r\n echo -e \"downloading velocity config file.\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/proxy\/velocity\/velocity.toml -o velocity.toml\r\nfi\r\n\r\necho -e \"install complete\"",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
# Waterfall server
|
||||
Paper fork of the BungeeCord software, with improved Forge support and more features.
|
||||
|
||||
## 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 |
|
||||
|-------|---------|
|
||||
| Game | 25565 |
|
||||
@@ -0,0 +1,63 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-06-03T16:13:49-04:00",
|
||||
"name": "Waterfall",
|
||||
"author": "hostmaster@waterfallgaming.net",
|
||||
"description": "Waterfall 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": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"listeners[0].host\": \"0.0.0.0:{{server.build.default.port}}\",\r\n \"servers.*.address\": {\r\n \"127.0.0.1\": \"{{config.docker.interface}}\",\r\n \"localhost\": \"{{config.docker.interface}}\"\r\n }\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Listening on \",\r\n \"userInteraction\": [\r\n \"Listening on \/0.0.0.0:\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"proxy.log.0\"\r\n}",
|
||||
"stop": "end"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n echo -e \"getting latest supported mc version and latest paper build\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n VER_EXISTS=true\r\n else\r\n echo -e \"checking if version ${MINECRAFT_VERSION} exists\"\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION ${MINECRAFT_VERSION} '.versions[] | contains($VERSION)' | grep true)\r\n fi\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest waterfall version\"\r\n MINECRAFT_VERSION=${LATEST_WATERFALL_VERSION}\r\n fi\r\n \r\n BUILD_EXISTS=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | contains($BUILD)' | grep true)\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ] || [ ${BUILD_NUMBER} == \"latest\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build for version ${MINECRAFT_VERSION}\"\r\n BUILD_NUMBER=$(curl -sSL https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r '.builds.latest')\r\n fi\r\n \r\n echo \"Version being downloaded\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\nif [ -z ${SERVER_JARFILE} ]; then\r\n SERVER_JARFILE=server.jar\r\nfi\r\n\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\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": "Minecraft Version",
|
||||
"description": "The version of Minecraft that water was built to support.",
|
||||
"env_variable": "MINECRAFT_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|alpha_num|between:1,6"
|
||||
},
|
||||
{
|
||||
"name": "Waterfall Jar File",
|
||||
"description": "The name of the Jarfile to use when running Waterfall.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "waterfall.jar",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||
},
|
||||
{
|
||||
"name": "Download Link",
|
||||
"description": "A link to the server jar to download the waterfall jar.",
|
||||
"env_variable": "DL_LINK",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Waterfall build number",
|
||||
"description": "Default is latest.\r\n\r\nif set to latest or an invalid version will grab the latest build number.",
|
||||
"env_variable": "BUILD_NUMBER",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -1,54 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-04-22T19:49:57-04:00",
|
||||
"name": "Forge Enhanced",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nJSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\nif [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n\tBUILD_TYPE=recommended\r\nfi\r\n\r\nif [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\nfi\r\n\r\necho -e \"minecraft version: ${MC_VERSION}\"\r\necho -e \"build type: ${BUILD_TYPE}\"\r\n\r\n## some variables for getting versions and things\r\nFILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\nVERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n## locating the forge version\r\nif [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\nfi\r\n\r\n## Error if the mc version set wasn't valid.\r\nif [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n\techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n\texit 1\r\nfi\r\n\r\nFORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\nif [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\nelse\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\nfi\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version ${FORGE_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\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 -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_VERSION} !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar",
|
||||
"container": "openjdk:8-jdk-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Jar File",
|
||||
"description": "The name of the Jarfile to use when running Forge Mod.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "server.jar",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||
},
|
||||
{
|
||||
"name": "Forge version",
|
||||
"description": "The version of minecraft you want to install for.\r\n\r\nLeaving latest will install the latest recommended version.",
|
||||
"env_variable": "MC_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:9"
|
||||
},
|
||||
{
|
||||
"name": "Build Type",
|
||||
"description": "The type of server jar to download from forge.\r\n\r\nValid types are \"recommended\" and \"latest\".",
|
||||
"env_variable": "BUILD_TYPE",
|
||||
"default_value": "recommended",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-07-15T23:01:54-04:00",
|
||||
"name": "TyphoonLimbo",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Lightweight minecraft limbo server",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine",
|
||||
"startup": "`sleep 2 && .\/TyphoonLimbo`",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"listen_address\": \":{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"launched on port\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# TyphoonLimbo Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\napk add --no-cache --update git curl\r\n\r\ncd \/tmp\/\r\n\r\necho \"pulling the TyphoonLimbo pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/TyphoonMC\/TyphoonLimbo.git\r\ncd TyphoonLimbo\r\n\r\ngo get github.com\/TyphoonMC\/TyphoonCore\r\n\r\necho -e \"building TyphoonLimbo\"\r\ngo build\r\n\r\nmv TyphoonLimbo \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n\techo -e \"config exists nothing to do\"\r\nelse\r\n\techo -e \"copying default config over\"\r\n\tcp config.json \/mnt\/server\/\r\nfi\r\n\r\necho -e \"install complete\"",
|
||||
"container": "golang:1.12-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-12-23T13:23:16-04:00",
|
||||
"name": "Waterfall",
|
||||
"author": "hostmaster@waterfallgaming.net",
|
||||
"description": "Waterfall 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": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"listeners[0].host\": \"0.0.0.0:{{server.build.default.port}}\",\r\n \"servers.*.address\": {\r\n \"127.0.0.1\": \"{{config.docker.interface}}\",\r\n \"localhost\": \"{{config.docker.interface}}\"\r\n }\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Listening on \",\r\n \"userInteraction\": [\r\n \"Listening on \/0.0.0.0:\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"proxy.log.0\"\r\n}",
|
||||
"stop": "end"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Paper Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache --update curl jq\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n echo -e \"using supplied download url\"\r\n DOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n if [ -z \"$VANILLA_VERSION\" ] || [ \"${MINECRAFT_VERSION}\" == \"latest\" ]; then\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r '.versions[0]')\r\n else\r\n VER_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall | jq -r --arg VERSION $MINECRAFT_VERSION '.versions | contains ([$VERSION])')\r\n fi\r\n \r\n if [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n else\r\n echo -e \"Using the latest waterfall version\"\r\n MINECRAFT_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n fi\r\n \r\n if [ ! ${BUILD_NUMBER} == \"latest\" ] ; then\r\n BUILD_EXISTS=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds.all[] | IN($BUILD)' | grep true)\r\n LATEST_WATERFALL_VERSION=$(curl -s https:\/\/papermc.io\/api\/v1\/waterfall\/ | jq -r '.versions[0]')\r\n \r\n if [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n echo -e \"Build is valid. Using version ${BUILD_NUMBER}\"\r\n else\r\n echo -e \"Using the latest paper build\"\r\n BUILD_NUMBER=${LATEST_WATERFALL_VERSION}\r\n fi\r\n fi\r\n \r\n echo \"Version being downloaded: ${BUILD_NUMBER}\"\r\n echo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n echo -e \"Build: ${BUILD_NUMBER}\"\r\n DOWNLOAD_URL=https:\/\/papermc.io\/api\/v1\/waterfall\/${MINECRAFT_VERSION}\/${BUILD_NUMBER}\/download \r\nfi\r\n\r\necho -e \"running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\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": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Minecraft Version",
|
||||
"description": "The version of Minecraft that water was built to support.",
|
||||
"env_variable": "MINECRAFT_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|alpha_num|between:1,6"
|
||||
},
|
||||
{
|
||||
"name": "Waterfall Jar File",
|
||||
"description": "The name of the Jarfile to use when running Waterfall.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "waterfall.jar",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||
},
|
||||
{
|
||||
"name": "Download Link",
|
||||
"description": "A link to the server jar to download the waterfall jar.",
|
||||
"env_variable": "DL_LINK",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Waterfall build number",
|
||||
"description": "Default is latest.\r\n\r\nif set to latest or an invalid version will grab the latest build number.",
|
||||
"env_variable": "BUILD_NUMBER",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,6 +3,17 @@
|
||||
#
|
||||
# Server Files: /mnt/server
|
||||
# Image to install with is 'debian:buster-slim'
|
||||
|
||||
##
|
||||
#
|
||||
# Variables
|
||||
# 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.
|
||||
# WINDOWS_INSTALL - if it's a windows server you want to install set to 1
|
||||
# SRCDS_APPID - steam app id ffound here - https://developer.valvesoftware.com/wiki/Dedicated_Servers_List
|
||||
# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.
|
||||
#
|
||||
##
|
||||
|
||||
apt -y update
|
||||
apt -y --no-install-recommends install curl lib32gcc1 ca-certificates
|
||||
|
||||
@@ -30,7 +41,7 @@ chown -R root:root /mnt
|
||||
export HOME=/mnt/server
|
||||
|
||||
## install game using steamcmd
|
||||
./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
|
||||
./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
|
||||
|
||||
## set up 32 bit libraries
|
||||
mkdir -p /mnt/server/.steam/sdk32
|
||||
|
||||
@@ -19,6 +19,9 @@ This is a collection of servers that use steamcmd to install.
|
||||
## Conan Exiles
|
||||
[conan_exiles](conan_exiles/)
|
||||
|
||||
## Dead Matter
|
||||
[dead_matter](dead_matter/)
|
||||
|
||||
## Don't Starve
|
||||
[dont_starve](dont_starve/)
|
||||
|
||||
@@ -31,12 +34,18 @@ This is a collection of servers that use steamcmd to install.
|
||||
## Hurtworld
|
||||
[hurtworld](hurtworld/)
|
||||
|
||||
## Insurgency: Sandstorm
|
||||
[Insurgency: Sandstorm](insurgency_sandstorm/)
|
||||
|
||||
## Mordhau
|
||||
[mordhau](mordhau/)
|
||||
|
||||
## Onset
|
||||
[onset](onset/)
|
||||
|
||||
## Project Zomboid
|
||||
[project_zomboid](project_zomboid/)
|
||||
|
||||
## Rust Staging
|
||||
[rust staging](rust_staging/)
|
||||
|
||||
@@ -53,7 +62,7 @@ This is a collection of servers that use steamcmd to install.
|
||||
[starbound](starbound/)
|
||||
|
||||
## Stationeers
|
||||
[Stationeers](/steamcmd_servers/Stationeers/)
|
||||
[Stationeers](/steamcmd_servers/stationeers/)
|
||||
|
||||
## Sven coop
|
||||
[svencoop](svencoop)
|
||||
@@ -62,5 +71,4 @@ This is a collection of servers that use steamcmd to install.
|
||||
[Tower Unite](tower_unite)
|
||||
|
||||
## Unturned
|
||||
* [RocketMod](rocketmod)
|
||||
* [Unturned](unturned)
|
||||
|
||||
@@ -3,22 +3,22 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-12-08T10:15:59-05:00",
|
||||
"exported_at": "2020-07-10T21:55:50-04:00",
|
||||
"name": "Ark: Survival Evolved",
|
||||
"author": "dev@shepper.fr",
|
||||
"description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK",
|
||||
"image": "quay.io\/pterodactyl\/core:source",
|
||||
"startup": "\"cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}} -server -log\"",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_source",
|
||||
"startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName='{{SESSION_NAME}}'?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}}$( [ \"$BATTLE_EYE\" == \"0\" ] && printf %s '?-NoBattlEye' ) -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"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 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\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\n\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\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} +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\n\r\n## create a symbolic link for loading mods\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps\r\ncd \/mnt\/server",
|
||||
"container": "ubuntu:18.04",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -54,19 +54,19 @@
|
||||
"name": "Admin Password",
|
||||
"description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.",
|
||||
"env_variable": "ARK_ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"default_value": "PleaseChangeMe",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|alpha_dash|between:1,100"
|
||||
},
|
||||
{
|
||||
"name": "Use Rcon",
|
||||
"description": "Enable or disable rcon system. (true or false)",
|
||||
"description": "Enable or disable rcon system. (true or false)\r\n\r\nDefault True for the console to work.",
|
||||
"env_variable": "ENABLE_RCON",
|
||||
"default_value": "false",
|
||||
"default_value": "True",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:5"
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|in:True,False"
|
||||
},
|
||||
{
|
||||
"name": "Rcon Port",
|
||||
@@ -94,6 +94,24 @@
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "This is to enable auto-updating for servers.\r\n\r\nDefault is 0. Set to 1 to update",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Ballte Eye",
|
||||
"description": "Enable BattleEye\r\n\r\n0 to disable\r\n1 to enable\r\n\r\ndefault=\"1\"",
|
||||
"env_variable": "BATTLE_EYE",
|
||||
"default_value": "1",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|boolean"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -3,12 +3,12 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2018-12-25T20:34:11-05:00",
|
||||
"exported_at": "2020-07-11T08:34:24-04:00",
|
||||
"name": "Conan Exiles",
|
||||
"author": "brycea@rapidnetworks.org",
|
||||
"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:wine-source",
|
||||
"startup": "wine ConanSandboxServer.exe -log",
|
||||
"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",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{}",
|
||||
@@ -17,8 +17,8 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates xvfb screen\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir \/mnt\/server +app_update ${APPID} validate +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n# Get First-Time Setup Configuration Files\r\necho \"#!\/bin\/sh\r\nexport WINEARCH=win64\r\nexport WINEPREFIX=\/mnt\/server\/.wine64\r\nxvfb-run --auto-servernum --server-args='-screen 0 640x480x24:32'\r\nwine \/mnt\/server\/SpaceEngineersDedicated.exe -console\" > \/mnt\/server\/start_se.sh\r\nchmod +x \/mnt\/server\/start_se.sh",
|
||||
"container": "ubuntu:18.04",
|
||||
"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} +@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"
|
||||
}
|
||||
},
|
||||
@@ -26,11 +26,47 @@
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "The ID corresponding to the game to download.",
|
||||
"env_variable": "APPID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "443030",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|numeric|digits_between:1,6"
|
||||
},
|
||||
{
|
||||
"name": "XVFB Enable",
|
||||
"description": "1 or 0",
|
||||
"env_variable": "XVFB",
|
||||
"default_value": "1",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"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": "XVFB Display Height",
|
||||
"description": "",
|
||||
"env_variable": "DISPLAY_HEIGHT",
|
||||
"default_value": "480",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "XVFB Bit Depth",
|
||||
"description": "",
|
||||
"env_variable": "DISPLAY_DEPTH",
|
||||
"default_value": "32",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "required|numeric"
|
||||
}
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user