Merge branch 'master' into master

This commit is contained in:
Michael (Parker) Parker 2020-08-14 22:50:46 -04:00 committed by GitHub
commit a0a54b36c6
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
243 changed files with 7142 additions and 917 deletions

View File

@ -4,7 +4,11 @@ about: Report an issue for an egg
---
Please fill out the information bellow and remove from the line up
# If you are seeing any of the following go to Discord and port your error in a support channel.
* `A fatal error was encountered while starting this server.`
* `No server egg configuration could be located; aborting startup.`
Please fill out the information bellow and remove from the line up
If you just submit a bug with no info I will close out your bug.
---------------

View File

@ -14,6 +14,6 @@ Does this expand an already existing service: Y/N
Link to game: (Ex. minecraft.net/factorio.com/etc)
Links for server downloads:
Links for server downloads: This needs to be an official link and not one that is hosted on some forum page or a personal github page.
Links for install steps/docs:
Links for install steps/docs:

View File

@ -12,11 +12,11 @@
1. [ ] Does your submission pass tests (server is connectable)?
2. [ ] Does your server use a custom docker image?
* [ ] Have you tried to use a generic image?
* [ ] Did you PR the nesessary changes to make it work?
* [ ] Did you PR the necessary changes to make it work?
3. [ ] Have you added the server to the main README.md?
4. [ ] Have you added a unique README.md for the server you are adding?
### Changes to an existing Egg:
1. [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
2. [ ] Have you tested your Egg changes?
2. [ ] Have you tested your Egg changes?

4
.gitignore vendored
View File

@ -1 +1,3 @@
*.DS_Store
*.DS_Store
node_modules/
.vuepress/*

View File

@ -1 +0,0 @@
.DS_Store

View File

@ -12,7 +12,7 @@
If you need something in a container PR it to [my image repo](https://github.com/parkervcp/images) where I can review and pull up to the main repo.
4. Don't be afraid to submit PR's to the egg repo.
I dont bite. I will work with you on the egg and the required things to run it.
I don't bite. I will work with you on the egg and the required things to run it.
## Step 1.
#### Be aware of the pterodactyl install process.
@ -36,11 +36,11 @@ The Pterodactyl install process is fairly simple once you know.
Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo.
I will make sugestions and changes at will.
I will make suggestions and changes at will.
This is to maintain a clean repo that others can pull and be fully aware of what is being done.
## Step 3.
#### Make a branch and do your work in there.
I have been getting messy PR's due to people always PRing from their master branch. Please make a branch and PR from there,
I have been getting messy PR's due to people always PRing from their master branch. Please make a seperate branch and PR from there.

155
README.md
View File

@ -10,7 +10,7 @@ If you are submitting PR's try and keep names and titles the same.
If you are reading this it looks like you are looking to add an egg to your server.
1. Download any of the json files located in the folders below.
1. Download any of the json files located in the folders below.
1. It's easiest to right click the `raw` button and save as.
2. In your panel go to the `Nests` section in the admin part of the panel
3. Click the green `Import Egg` button
@ -24,79 +24,126 @@ 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/)
[Discord](/bots/discord/)
* [ATL Bot](/bots/discord/atlbot/) Node JS
* [Bastion](/bots/discord/bastion/)
* [discord.js](bots/discord/discord.js/) Node JS generic
* [fragbot](/bots/discord/fragbot/) Golang
* [parkertron](/bots/discord/parkertron/) Golang
* [pixel-bot](/bots/discord/pixelbot/) Python
* [Sinusbot](/bots/discord/sinusbot/)
* [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
* [pixel-bot](/bots/discord/pixelbot/) Python
* [Red](/bots/discord/redbot/) Python
* [Sinusbot](/bots/discord/sinusbot/)
[TeamSpeak3](bots/teamspeak3)
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/)
* [Twitch](/bots/twitch)
* [PhantomBot](/bots/twitch/phantombot/)
* [TeamSpeak3](bots/teamspeak3)
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/)
## [Database](/database/)
### [SQL] Databases
* [MariaDB](/database/sql/mariadb/)
* [PostgreSQL](/database/sql/postgres/)
### In-Memory Databases
[Redis](/database/redis/)
* [Redis 5](/database/redis/redis-5)
* [Redis 6](/database/redis/redis-6)
## Game Eggs
[Arma](/arma/)
* [Arma 3](/arma/arma3/)
* [Arma 3 HC](/arma/arma3_headless_client/)
[Conan Exiles](/conan_exiles/conan_exiles)
[Don't Starve](/dont_starve/dont_starve)
[ET Legacy](/enemy_territory/etlegacy/)
[Factorio](/factorio/factorio/)
[Factorio](/factorio/factorio/)
[Grand Theft Auto](/gta/)
[Grand Theft Auto](/gta/)
* GTA V
* [FiveM](/gta/fivem/)
* [RageMP](/gta/ragemp/)
* [FiveM](/gta/fivem/)
* [RageMP](/gta/ragemp/)
* [alt:V](/gta/altv/)
* GTA SA
* [Multi Theft Auto](/gta/mtasa/)
* [SA-MP](/gta/samp/)
[Minecraft Bedrock](/minecraft_bedrock/)
* [Bedrock](/minecraft_bedrock/bedrock/)
* [Nukkit](/minecraft_bedrock/nukkit/)
* [PocketMine MP](/minecraft_bedrock/pocketmine_mp/)
[Mindustry](/mindustry/)
[Minecraft Java](/minecraft_java/)
* [Forge](/minecraft_java/forge/)
* [Feed The Beast](/minecraft_java/ftb/)
* [Spigot](/minecraft_java/spigot/)
* [PaperSpigot (Legacy)](/minecraft_java/spigot/paper-legacy)
* [Technic](/minecraft_java/technic/)
[Minecraft](/minecraft/)
* [Bedrock](/minecraft/bedrock/)
* [Bedrock](/minecraft/bedrock/bedrock/)
* [DragonProxy](/minecraft/bedrock/dragonproxy/)
* [Nukkit](/minecraft/bedrock/nukkit/)
* [PocketMine MP](/minecraft/bedrock/pocketmine_mp/)
[Minecraft Proxies](/minecraft_proxy/) (these are for the java version of minecraft)
* [Waterfall](/minecraft_proxy/waterfall/)
* [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/)
[Mount & Blade Warband](/mb_warband/)
* [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/)
[OpenTTD](/openttd/)
[Red Dead Redemption](/rdr/)
* [RedM](/rdr/redm/)
[Source](/source_servers/) These eggs use steamcmd to install
* [7 Days to Die](/source_servers/7_days_to_die/)
* [ARK Survival Evolved](/source_servers/ark_survival_evolved/)
* [PixARK](/source_servers/pixark/)
* [Rust Staging Branch](/source_servers/rust-staging/)
* [Starbound](/source_servers/starbound)
* [Killing Floor 2](/source_servers/killingfloor2)
[steamcmd servers](/steamcmd_servers/) These eggs use steamcmd to install
* [7 Days to Die](/steamcmd_servers/7_days_to_die/)
* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved/)
* [Arma](/steamcmd_servers/arma/)
* [Arma 3](/steamcmd_servers/arma/arma3/)
* [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/)
* [Citadel: Forged with Fire](/steamcmd_servers/citadel)
* [Conan Exiles](/steamcmd_servers/conan_exiles)
* [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/)
* [Sven Co-op](/steamcmd_servers/svencoop)
* [Squad](/steamcmd_servers/squad/)
* [Unturned](/steamcmd_servers/unturned/)
* [RocketMod](/steamcmd_servers/unturned/rocketmod/)
* [Unturned](/steamcmd_servers/unturned/unturned/)
[Squad](/squad/)
[Terraria](/terraria/)
* [vanilla](/terraria/vanilla)
* [tmodloader](/terraria/tmodloader)
* [tshock](/terraria/tshock/)
[Tycoon Games](/tycoon_games/)
* [OpenTTD](/tycoon_games/openttd/)
[Unreal Engine](/unreal_engine)
* [Tower Unit](/unreal_engine/tower_unit/)
* [Tower Unite](/unreal_engine/tower_unite/)
* [Tower Unite](/steamcmd_servers/tower_unite/)
[Terraria](/terraria/)
* [tmodloader](/terraria/tmodloader)
* [tshock](/terraria/tshock/)
[Vintage Story](/vintage_story/vintage_story/)
[Unturned](/unturned/)
* [RocketMod](/unturned/rocketmod/)
[Xonotic](/xonotic/)
[Xonotic](/xonotic/xonotic/)

View File

@ -18,6 +18,14 @@ 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!
#### fragbot
[fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
@ -33,4 +41,4 @@ Was used to test python services.
#### SinusBot
[SinusBot](https://www.sinusbot.com/)
Please Check their site for an in depth on the bot.
Please Check their site for an in depth on the bot.

View File

@ -3,21 +3,21 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-12-25T21:12:00-05:00",
"exported_at": "2019-06-23T10:00:12-04:00",
"name": "ATLBot",
"author": "jfeldt19@gmail.com",
"description": "ATLbot in ptero\r\n\r\nhttps:\/\/github.com\/ATLauncher\/discord-bot\/",
"image": "quay.io\/parkervcp\/pterodactyl-images:alpine_nodejs-10",
"startup": "npm run start",
"config": {
"files": "{\r\n \"config\/local.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"client_token\": \"{{server.build.env.CLIENT_TOKEN}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"I am ready!\",\r\n \"userInteraction\": [\r\n \"Request to use token, but token was unavailable\"\r\n ]\r\n}",
"files": "{\r\n \"config\/local.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"discord.client_token\": \"{{server.build.env.CLIENT_TOKEN}}\",\r\n \"logging.level\": \"debug\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Bot started\"\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "apk add --no-cache openssl git\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/github.com\/ATLauncher\/discord-bot\/archive\/master.zip\r\n\r\nunzip master.zip\r\n\r\nrm master.zip\r\n\r\nmv discord-bot-master\/* .\/\r\n\r\nmv config\/default.json config\/local.json\r\n\r\nrm package-lock.json\r\nnpm install\r\n\r\nrm -r discord-bot-master\/\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md",
"script": "apk add --no-cache openssl git\r\n\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/ATLauncher\/discord-bot.git . \r\nfi\r\n\r\necho '{}' > config\/local.json\r\n\r\nnpm install --production\r\n\r\nnpm run build\r\n\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md",
"container": "node:10-alpine",
"entrypoint": "ash"
}
@ -31,6 +31,15 @@
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:75"
},
{
"name": "Node Environment",
"description": "The node environment variable.\r\n\r\nNeeds to stay at \"development\" to log to console.",
"env_variable": "NODE_ENV",
"default_value": "development",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}
}

View File

@ -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.

View File

@ -3,35 +3,26 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-01-02T13:13:37+00: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\nnpm 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:8-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"
}
]
}
}

View File

@ -0,0 +1,8 @@
# CorpBot.py
### From their [Github](https://github.com/corpnewt/CorpBot.py)
A very clumsy python bot for discord
### Server Ports
No ports are required to run Big Brother Bot. You can assign a random port to the bot.
#### Mods/Plugins may require ports to be added to the server.

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-04-25T10:31:48-04:00",
"name": "CorpBot",
"author": "parker@parkervcp.com",
"description": "A very clumsy python bot for discord \r\n\r\nhttps:\/\/github.com\/corpnewt\/CorpBot.py",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8",
"startup": "python Main.py",
"config": {
"files": "{\r\n \"settings_dict.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.TOKEN}}\",\r\n \"prefix\": \"{{server.build.env.PREFIX}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Logged in as\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install -y git gcc curl\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json -o settings_dict.json\r\nfi",
"container": "python:3.8-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Discord Bot Token",
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "TOKEN",
"default_value": "GET_YOUR_OWN",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Command Prefix",
"description": "The prefix for commands from the bot.",
"env_variable": "PREFIX",
"default_value": ".",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}

View File

@ -0,0 +1,4 @@
{
"token": "your_token_here",
"prefix": "your_custom_prefix_here"
}

View File

@ -3,23 +3,23 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-04-01T15:16:34-04: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:bot_discordjs",
"startup": "\/usr\/local\/bin\/node \/home\/container\/index.js",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
"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": "{}",
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
"logs": "{}",
"stop": "^c"
},
"scripts": {
"installation": {
"script": "#\/bin\/ash\r\n\r\napk add --no-cache git\r\n\r\ncd \/mnt\/server\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": [
@ -49,6 +49,33 @@
"user_viewable": 1,
"user_editable": 0,
"rules": "required|bool"
},
{
"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 js file",
"description": "The file that starts the bot.",
"env_variable": "BOT_JS_FILE",
"default_value": "index.js",
"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"
}
]
}

View File

@ -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.

View File

@ -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"
}
]
}

View File

@ -0,0 +1,6 @@
# JMusicBot
### Their [Github](https://github.com/jagrosh/MusicBot)
A Discord music bot that's easy to set up and run yourself!
### Server Ports
There are no ports required for JMusicBot

View File

@ -0,0 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-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!",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre",
"startup": "java -Djavax.accessibility.assistive_technologies=\" \" -Dnogui=true -jar JMusicBot.jar",
"config": {
"files": "{\r\n \"config.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"token =\": \"token = \\\"{{env.BOT_TOKEN}}\\\"\",\r\n \"prefix =\": \"prefix = \\\"{{env.BOT_PREFIX}}\\\"\",\r\n \"owner =\": \"owner = \\\"{{env.BOT_OWNER}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"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=\"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"
}
},
"variables": [
{
"name": "Discord Bot Token",
"description": "The token for the discord bot.\r\n\r\nhttps:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "BOT_TOKEN",
"default_value": "You need to get a token",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Bot Prefix",
"description": "Thew prefix for the bot.\r\n\r\nDefault is it @mention the bot.",
"env_variable": "BOT_PREFIX",
"default_value": "@mention",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Bot Owner ID",
"description": "This is the user ID of the bot owner.",
"env_variable": "BOT_OWNER",
"default_value": "changethistoyourdiscordid",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
}
]
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-02-17T12:34:32-05:00",
"exported_at": "2020-04-03T12:50:58-04:00",
"name": "parkertron",
"author": "parker@parkervcp.com",
"description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron",
@ -13,12 +13,12 @@
"files": "{}",
"startup": "{\r\n \"done\": \"Bot is now running\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
"stop": "shutdown"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# parkertron 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\ncd\r\n\r\napk add --no-cache --update git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"pulling the parkertron pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \"$DIRECTORY\" ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
"container": "golang:1.11-alpine",
"script": "#!\/bin\/ash\r\n# parkertron 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\ncd\r\n\r\napk add --no-cache --update git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"pulling the parkertron pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\ngo mod download\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \/mnt\/server\/configs ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp -r \/root\/parkertron\/configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
"container": "golang:1.14-alpine",
"entrypoint": "ash"
}
},

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-27T08:57:41-04:00",
"exported_at": "2020-01-19T11:11:24-05:00",
"name": "pixel-bot",
"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:python3",
"image": "quay.io\/parkervcp\/pterodactyl-images:alpine_python-3",
"startup": "python bot.py",
"config": {
"files": "{\r\n \"config\/config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"owner\": \"{{server.build.env.OWNER_UID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\",\r\n \"bot_name\": \"{{server.build.env.BOT_NAME}}\",\r\n \"log_file\": \"latest.log\"\r\n }\r\n },\r\n \"plugins\/settings\/imgur.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"client_id\": \"{{server.build.env.IMGUR_KEY}}\",\r\n \"client_secret\": \"{{server.build.env.IMGUR_SECRET}}\"\r\n }\r\n }\r\n}",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl",
"script": "#!\/bin\/ash\r\n# Pixel Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl",
"container": "python:3.6-alpine3.7",
"entrypoint": "ash"
}

View File

@ -0,0 +1,13 @@
# Red-DiscordBot
### From their [Github](https://github.com/Cog-Creators/Red-DiscordBot)
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.

View File

@ -0,0 +1,9 @@
{
"pterodactyl": {
"DATA_PATH": "/home/container/.local/share/Red-DiscordBot/data/pterodactyl",
"COG_PATH_APPEND": "cogs",
"CORE_PATH_APPEND": "core",
"STORAGE_TYPE": "JSON",
"STORAGE_DETAILS": {}
}
}

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-04-20T23:06:14-04:00",
"name": "Red",
"author": "parker@parkervcp.com",
"description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot",
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_red",
"startup": "PATH=$PATH:\/home\/container\/.local\/bin redbot pterodactyl --token {{TOKEN}} --prefix {{PREFIX}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Invite URL:\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# red-discordbot install script\r\n\r\n## install deps\r\nmkdir -p \/usr\/share\/man\/man1\r\napt update\r\napt -y install git ca-certificates dnsutils iproute2 make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev git openjdk-11-jre\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/gist.githubusercontent.com\/parkervcp\/4a5a68aec5a26b35e4315b22dd6d6748\/raw\/a776b1610949dd242ff8ce5cdc8ad7d43e4f7dad\/config.json -o \/mnt\/server\/.config\/Red-DiscordBot\/config.json\r\nfi\r\n\r\necho -e \"install finished\"",
"container": "python:3.8-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Discord Bot Token",
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "TOKEN",
"default_value": "GET_YOUR_OWN",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Command Prefix",
"description": "The prefix for commands from the bot.",
"env_variable": "PREFIX",
"default_value": ".",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-02-28T12:38:22-05:00",
"exported_at": "2019-07-25T10:48:45-04:00",
"name": "Sinusbot",
"author": "support@pterodactyl.io",
"description": "Musicbot for Discord and Teamspeak.",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Sinusbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install ca-certificates bzip2 wget tar curl\r\napt -q clean all\r\n\r\n#Create needed directories\r\nmkdir -p \/mnt\/server\/TeamSpeak3-Client-linux_amd64\/plugins\r\nmkdir \/mnt\/server\/youtube-dl\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dl\/youtube-dl\"' >> config.ini\r\n#cp scripts scripts_org\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download TeamSpeak Client\r\nwget http:\/\/dl.4players.de\/ts\/releases\/${TS_VERSION}\/TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Download youtube-dl\r\ncd \/mnt\/server\/youtube-dl\r\nwget -q https:\/\/yt-dl.org\/downloads\/latest\/youtube-dl\r\nchmod a+rx youtube-dl",
"script": "#!\/bin\/bash\r\n# Sinusbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install ca-certificates bzip2 wget tar curl jq\r\napt -q clean all\r\n\r\n#Create needed directories\r\nmkdir -p \/mnt\/server\/TeamSpeak3-Client-linux_amd64\/plugins\r\nmkdir \/mnt\/server\/youtube-dl\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\n\r\n#Download Latest TeamSpeak Client\r\nTS_VERSION=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.version')\r\nTS_DL_LINK=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.mirrors.\"teamspeak.com\"')\r\n\r\necho -e \"downloading teamspeak version ${TS_VERSION}\"\r\necho -e \"running 'wget ${TS_DL_LINK}'\"\r\n\r\nwget ${TS_DL_LINK}\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\n\r\n## Cleaning up \r\n\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dl\/youtube-dl\"' >> config.ini\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download youtube-dl\r\ncd \/mnt\/server\/youtube-dl\r\nwget -q https:\/\/yt-dl.org\/downloads\/latest\/youtube-dl\r\nchmod a+rx youtube-dl",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
@ -31,15 +31,6 @@
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Teamspeak version",
"description": "What version of teamspeak client to download",
"env_variable": "TS_VERSION",
"default_value": "3.2.2",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}

View File

@ -18,7 +18,7 @@
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# JTS3ServerMod\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y install wget unzip\r\n\r\ncd \/tmp\r\n\r\nif [ -z \"$SERVER_VERSION\" ] || [ \"$SERVER_VERSION\" == \"latest\" ]; then\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod&type=.zip'\r\nelse\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip'\r\nfi\r\n\r\nunzip JTS3ServerMod.zip\r\n\r\nmkdir -p \/mnt\/server\r\nexport HOME=\/mnt\/server\r\n\r\nmv \/tmp\/JTS3ServerMod\/* \/mnt\/server\/",
"container": "ubuntu:18.10",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
@ -33,4 +33,4 @@
"rules": "required|string|max:20"
}
]
}
}

6
bots/twitch/README.md Normal file
View File

@ -0,0 +1,6 @@
# Twitch Bots
### Some of these bots support other services but are primarily Twitch bots
#### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/)
#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/)

View File

@ -0,0 +1,27 @@
# PhantomBot
### Their [Site](https://phantombot.tv)
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.
### Server Ports
3 ports are required to run PhantomBot.
| Port | default |
|---------------------|---------|
| Game (HTTP Server) | 25000 |
| YoutubeSocketServer | 25003 |
| PanelSocketServer | 25004 |
# NOTES
You need to define one main port and the other 2 port need to be +3 and +4!
Example:
Port1: 1000
Port2: 1003
Port3: 1004
this are forced and can't be changed!

View File

@ -0,0 +1,117 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"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.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
"startup": "java --add-opens java.base\/java.lang=ALL-UNNAMED -Djava.security.policy=config\/security -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar PhantomBot.jar",
"config": {
"files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Connecting to Twitch WS-IRC Server\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "exit"
},
"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 [ -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"
}
},
"variables": [
{
"name": "Version",
"description": "latest = Latest Stable\r\nmaster = latest Github",
"env_variable": "RELEASE_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:9"
},
{
"name": "Twitch Channel Name",
"description": "Please enter the bot's Twitch username",
"env_variable": "CHANNEL_NAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:26"
},
{
"name": "Channel Owner",
"description": "",
"env_variable": "CHANNEL_OWNER",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:26"
},
{
"name": "Bot OAuth Token",
"description": "Please note, this OAuth token needs to be generated while you're logged in into the bot's Twitch account.\r\nIf you're not logged in as the bot, please go to https:\/\/twitch.tv\/ and login as the bot.\r\nGet the bot's OAuth token here: https:\/\/twitchapps.com\/tmi\/",
"env_variable": "BOT_OAUTH_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Your OAuth Token",
"description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.tv\/oauth\/",
"env_variable": "USER_OAUTH_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Bot Twitch Username",
"description": "Please enter the bot's Twitch username",
"env_variable": "BOT_TWITCH_USERNAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:26"
},
{
"name": "Webpanel Username",
"description": "Please enter a custom username for the web panel",
"env_variable": "WEBPANEL_USERNAME",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Webpanel Password",
"description": "Please enter a custom password for the web panel",
"env_variable": "WEBPANEL_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:2000"
},
{
"name": "Youtube API Key",
"description": "https:\/\/community.phantom.bot\/t\/acquire-youtube-api-key\/222",
"env_variable": "YOUTUBE_API_KEY",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "max:64"
},
{
"name": "Discord Bot Token",
"description": "https:\/\/community.phantom.bot\/t\/discord-integration-setup\/64",
"env_variable": "DISCORD_BOT_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "max:64"
}
]
}

View File

@ -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 !!!

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-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"
}
]
}

View File

@ -1,36 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-12-25T20:34:11-05:00",
"name": "Conan Exiles",
"author": "brycea@rapidnetworks.org",
"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",
"config": {
"files": "{}",
"startup": "{}",
"logs": "{}",
"stop": "^C"
},
"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",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game ID",
"description": "The ID corresponding to the game to download.",
"env_variable": "APPID",
"default_value": "443030",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,6"
}
]
}

13
database/README.md Normal file
View File

@ -0,0 +1,13 @@
# databases
## SQL Databases
### [mariadb](/mariadb/)
https://mariadb.org/
### [postgres](/postgres/)
https://www.postgresql.org/
## In-Memory Databases
### [redis](/redis/)
https://redis.io/

View File

@ -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 |

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-03-04T11:05:29-05:00",
"name": "Redis",
"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",
"startup": "redis-server --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": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\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"
}
]
}

View File

@ -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 |

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-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"
}
]
}

View File

@ -0,0 +1,17 @@
# MariaDB
### From their [Website](https://mariadb.org/)
One of the most popular database servers. Made by the original developers of MySQL.
Guaranteed to stay open source.
### Minimum RAM warning
There is no actual minimum suggested for MariaDB.
See here https://mariadb.com/kb/en/library/mariadb-hardware-requirements/
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Server | 3306 |

View File

@ -0,0 +1,26 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-11-06T18:52:33-05:00",
"name": "MariaDB",
"author": "parker@parkervcp.com",
"description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.",
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb",
"startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root",
"config": {
"files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"mysqld: ready for connections\"\r\n}",
"logs": "{}",
"stop": "shutdown; exit;"
},
"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\/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": []
}

View File

@ -0,0 +1,189 @@
# MariaDB database server configuration file.
#
# You can copy this file to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /mnt/server/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /mnt/server/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
#user = mysql
pid-file = /mnt/server/run/mysqld/mysqld.pid
socket = /mnt/server/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /mnt/server/mysql
tmpdir = /tmp
lc_messages_dir = /usr/share/mysql
lc_messages = en_US
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
#
# * Fine Tuning
#
max_connections = 100
connect_timeout = 5
wait_timeout = 600
max_allowed_packet = 16M
thread_cache_size = 128
sort_buffer_size = 4M
bulk_insert_buffer_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M
#
# * MyISAM
#
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched. On error, make copy and try a repair.
myisam_recover_options = BACKUP
key_buffer_size = 128M
#open-files-limit = 2000
table_open_cache = 400
myisam_sort_buffer_size = 512M
concurrent_insert = 2
read_buffer_size = 2M
read_rnd_buffer_size = 1M
#
# * Query Cache Configuration
#
# Cache only tiny result sets, so we can fit more in the query cache.
query_cache_limit = 128K
query_cache_size = 64M
# for more write intensive setups, set to DEMAND or OFF
#query_cache_type = DEMAND
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file = /mnt/server/log/mysql/mysql.log
#general_log = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# we do want to know about network errors and such
#log_warnings = 2
#
# Enable the slow query log to see queries with especially long duration
#slow_query_log[={0|1}]
slow_query_log_file = /mnt/server/log/mysql/mariadb-slow.log
long_query_time = 10
#log_slow_rate_limit = 1000
#log_slow_verbosity = query_plan
#log-queries-not-using-indexes
#log_slow_admin_statements
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#report_host = master1
#auto_increment_increment = 2
#auto_increment_offset = 1
#log_bin = /var/log/mysql/mariadb-bin
#log_bin_index = /var/log/mysql/mariadb-bin.index
# not fab for performance, but safer
#sync_binlog = 1
expire_logs_days = 10
max_binlog_size = 100M
# slaves
#relay_log = /var/log/mysql/relay-bin
#relay_log_index = /var/log/mysql/relay-bin.index
#relay_log_info_file = /var/log/mysql/relay-bin.info
#log_slave_updates
#read_only
#
# If applications support it, this stricter sql_mode prevents some
# mistakes like inserting invalid dates etc.
#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
default_storage_engine = InnoDB
# you can't just change log file size, requires special procedure
#innodb_log_file_size = 50M
innodb_buffer_pool_size = 256M
innodb_log_buffer_size = 8M
innodb_file_per_table = 1
innodb_open_files = 400
innodb_io_capacity = 400
innodb_flush_method = O_DIRECT
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#
# * Galera-related settings
#
[galera]
# Mandatory settings
#wsrep_on=ON
#wsrep_provider=
#wsrep_cluster_address=
#binlog_format=row
#default_storage_engine=InnoDB
#innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
bind-address=0.0.0.0
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completion
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!include /etc/mysql/mariadb.cnf
!includedir /etc/mysql/conf.d/

190
database/sql/mariadb/my.cnf Normal file
View File

@ -0,0 +1,190 @@
# MariaDB database server configuration file.
#
# You can copy this file to one of:
# - "/etc/mysql/my.cnf" to set global options,
# - "~/.my.cnf" to set user-specific options.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# For explanations see
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
# This will be passed to all mysql clients
# It has been reported that passwords should be enclosed with ticks/quotes
# escpecially if they contain "#" chars...
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
[client]
port = 3306
socket = /home/container/run/mysqld/mysqld.sock
# Here is entries for some specific programs
# The following values assume you have at least 32M ram
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
[mysqld_safe]
socket = /home/container/run/mysqld/mysqld.sock
nice = 0
[mysqld]
#
# * Basic Settings
#
#user = mysql
pid-file = /home/container/run/mysqld/mysqld.pid
socket = /home/container/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /home/container/mysql
tmpdir = /tmp
lc_messages_dir = /usr/share/mysql
lc_messages = en_US
skip-external-locking
#
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
bind-address=0.0.0.0
#
# * Fine Tuning
#
max_connections = 100
connect_timeout = 5
wait_timeout = 600
max_allowed_packet = 16M
thread_cache_size = 128
sort_buffer_size = 4M
bulk_insert_buffer_size = 16M
tmp_table_size = 32M
max_heap_table_size = 32M
#
# * MyISAM
#
# This replaces the startup script and checks MyISAM tables if needed
# the first time they are touched. On error, make copy and try a repair.
myisam_recover_options = BACKUP
key_buffer_size = 128M
#open-files-limit = 2000
table_open_cache = 400
myisam_sort_buffer_size = 512M
concurrent_insert = 2
read_buffer_size = 2M
read_rnd_buffer_size = 1M
#
# * Query Cache Configuration
#
# Cache only tiny result sets, so we can fit more in the query cache.
query_cache_limit = 128K
query_cache_size = 64M
# for more write intensive setups, set to DEMAND or OFF
#query_cache_type = DEMAND
#
# * Logging and Replication
#
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
# As of 5.1 you can enable the log at runtime!
general_log_file = /home/container/log/mysql/mysql.log
#general_log = 1
#
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
#
# we do want to know about network errors and such
#log_warnings = 2
#
# Enable the slow query log to see queries with especially long duration
#slow_query_log[={0|1}]
slow_query_log_file = /home/container/log/mysql/mariadb-slow.log
long_query_time = 10
#log_slow_rate_limit = 1000
#log_slow_verbosity = query_plan
#log-queries-not-using-indexes
#log_slow_admin_statements
#
# The following can be used as easy to replay backup logs or for replication.
# note: if you are setting up a replication slave, see README.Debian about
# other settings you may need to change.
#server-id = 1
#report_host = master1
#auto_increment_increment = 2
#auto_increment_offset = 1
#log_bin = /var/log/mysql/mariadb-bin
#log_bin_index = /var/log/mysql/mariadb-bin.index
# not fab for performance, but safer
#sync_binlog = 1
expire_logs_days = 10
max_binlog_size = 100M
# slaves
#relay_log = /var/log/mysql/relay-bin
#relay_log_index = /var/log/mysql/relay-bin.index
#relay_log_info_file = /var/log/mysql/relay-bin.info
#log_slave_updates
#read_only
#
# If applications support it, this stricter sql_mode prevents some
# mistakes like inserting invalid dates etc.
#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
#
# * InnoDB
#
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
# Read the manual for more InnoDB related options. There are many!
default_storage_engine = InnoDB
# you can't just change log file size, requires special procedure
#innodb_log_file_size = 50M
innodb_buffer_pool_size = 256M
innodb_log_buffer_size = 8M
innodb_file_per_table = 1
innodb_open_files = 400
innodb_io_capacity = 400
innodb_flush_method = O_DIRECT
#
# * Security Features
#
# Read the manual, too, if you want chroot!
# chroot = /var/lib/mysql/
#
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
#
# ssl-ca=/etc/mysql/cacert.pem
# ssl-cert=/etc/mysql/server-cert.pem
# ssl-key=/etc/mysql/server-key.pem
#
# * Galera-related settings
#
[galera]
# Mandatory settings
#wsrep_on=ON
#wsrep_provider=
#wsrep_cluster_address=
#binlog_format=row
#default_storage_engine=InnoDB
#innodb_autoinc_lock_mode=2
#
# Allow server to accept connections on all interfaces.
#
bind-address=0.0.0.0
#
# Optional setting
#wsrep_slave_threads=1
#innodb_flush_log_at_trx_commit=0
[mysqldump]
quick
quote-names
max_allowed_packet = 16M
[mysql]
#no-auto-rehash # faster start of mysql but no tab completion
[isamchk]
key_buffer = 16M
#
# * IMPORTANT: Additional settings that can override those from this file!
# The files must end with '.cnf', otherwise they'll be ignored.
#
!include /etc/mysql/mariadb.cnf
!includedir /etc/mysql/conf.d/

View File

@ -0,0 +1,16 @@
# PostgreSQL
### From their [Website](https://www.postgresql.org/)
The World's Most Advanced Open Source Relational Database
### Minimum RAM warning
2 Gigabytes minimum recommended
See here https://www.commandprompt.com/blog/postgresql_mininum_requirements/
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Server | 5432 |

View File

@ -0,0 +1,63 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-03-04T09:53:34-05:00",
"name": "Postgres",
"author": "parker@parkervcp.com",
"description": "A default Postgres install that is not really editable.",
"image": "quay.io\/parkervcp\/pterodactyl-images:db_postgres",
"startup": "postgres -D \/home\/container\/postgres_db\/",
"config": {
"files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n\t\t \"#port =\": \"port = {{server.build.default.port}}\",\r\n \"#external_pid_file =\": \"external_pid_file = '\/home\/container\/postgres_db\/run\/postgres.pid'\",\r\n \"#unix_socket_directories =\": \"unix_socket_directories = '\/home\/container\/postgres_db\/run\/'\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"database system is ready to accept connections\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\necho $POSTGRES_PASSWORD > .passwd\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\ncat .passwd\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U container --pwfile .passwd'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\necho -e \"Done\"",
"container": "postgres:12.2-alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Database Password",
"description": "The Postgres user password that can be changed and should change on server restart.",
"env_variable": "PGPASSWORD",
"default_value": "P@55word",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "SuperUser Password",
"description": "The postgres super user password with a strong default.\r\nYou should be generating new ones for each server.\r\nIf you don't then users can hit other users DB's",
"env_variable": "PGROOT",
"default_value": "ZPWgpMN4hETqjXAV",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Postgres User",
"description": "The user for the postgres database",
"env_variable": "PGUSER",
"default_value": "pterodactyl",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Postgres Database",
"description": "The postgres databas the user will have access too.",
"env_variable": "PGDATABASE",
"default_value": "pterodactyl",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}

View File

@ -1,45 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-10-06T20:21:42-04:00",
"name": "Don't Starve",
"author": "parker@parkervcp.com",
"description": "Don\u2019t Starve is an uncompromising wilderness survival game full of science and magic.",
"image": "quay.io\/parkervcp\/pterodactyl-images:source",
"startup": "'cd bin && .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port {{SERVER_PORT}} -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}}'",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Don't Starve Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\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\n\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 343050 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nmkdir -p ~\/DoNotStarveTogether\/config\/server\/\r\necho \"${SERVER_TOKEN}\" >> ~\/DoNotStarveTogether\/config\/server\/cluster_token.txt",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Max Players",
"description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.",
"env_variable": "MAX_PLAYERS",
"default_value": "4",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|integer|between:1,31"
},
{
"name": "Server Token",
"description": "Required to run a public server. This needs to be generated from in game.",
"env_variable": "SERVER_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
}
]
}

View File

@ -10,7 +10,7 @@ and transmitting confidential documents, it was time to dust off the game which
Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments.
Make sure to checkout their [Home Page]([https://factorio.com/starter-page](https://www.etlegacy.com/)).
Make sure to checkout their [Home Page](https://www.etlegacy.com/).
### Server Ports
ET: Legacy requires a single port

View File

@ -1,20 +0,0 @@
# ET: Legacy
#### The ET: Legacy Server
#### from the developers
Wolfenstein: Enemy Territory is a free multiplayer first-person shooter. Set during World War II and heavily focused on team work, it was initially released in 2003 by Splash Damage and id Software. More than a decade after its release, after spending countless hours of escorting tanks and trucks, stealing gold and radar parts
and transmitting confidential documents, it was time to dust off the game which consistently refused to go own.
Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments.
Make sure to checkout their [Home Page]([https://factorio.com/starter-page](https://www.etlegacy.com/)).
### Server Ports
ET: Legacy requires a single port
| Port | default |
|---------|---------|
| Game | 27960 |

View File

@ -1,45 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-04-29T22:08:18+08:00",
"name": "ET Legacy",
"author": "parker@parkervcp.com",
"description": "Welcome to Enemy Territory: Legacy, an open source project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age.",
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
"startup": ".\/etlded +set net_port {{SERVER_PORT}} +map {{MAP}}",
"config": {
"files": "{\r\n \"etmain\/etl_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"\/\/set net_ip \\\"\\\"\": \"set net_ip \\\"0.0.0.0\\\"\",\r\n \"\/\/set net_port \\\"27960\\\"\": \"set net_port \\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"------ Server Initialization ------\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt-get update\r\napt-get -y install wget curl zip unzip\r\n\r\ncd \/tmp\/\r\n\r\necho \"Downloading $ET_VERSION bit ET Legacy version\"\r\n\r\nif [ $ET_VERSION == \"32\" ];then \r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 32-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nelse\r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 64-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nfi\r\n\r\necho \"Unpacking ET: Legacy\"\r\ntar --strip-components=1 -xzvf etlegacy.tar.gz -C \/mnt\/server\/\r\n\r\necho \"Downloading latest enemy territory files\"\r\nwget `curl https:\/\/www.splashdamage.com\/games\/wolfenstein-enemy-territory\/ | grep .x86_full | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo --color=never '(http|https):\/\/[^\"]+'` -O enemy_territory.zip\r\n\r\necho \"Unpacking enemy territory files\"\r\nunzip enemy_territory.zip\r\n\r\necho \"Copying enemy territory assets\"\r\n.\/*.x86_keygen_V03.run --tar xvf .\/etmain\/\r\ncp etmain\/pak*.pk3 \/mnt\/server\/etmain\/\r\n\r\n# Create .etlegacy as the server doesn't correctly create it\r\nmkdir -p \/mnt\/server\/.etlegacy",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "ET Legacy Version",
"description": "What version of the server to install. 32 or 64 bit version.",
"env_variable": "ET_VERSION",
"default_value": "32",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|integer|in:32, 64"
},
{
"name": "Default Map",
"description": "The default map to use when starting the server.",
"env_variable": "MAP",
"default_value": "oasis",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,23 +3,23 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-02-26T21:01:31-05: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 \"game_password\": \"{{server.build.env.SERVER_PASS}}\",\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}",
"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}",
"startup": "{\r\n \"done\": \"Hosting game at\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"factorio-current.log\"\r\n}",
"stop": "\/quit"
},
"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": [
@ -112,15 +112,6 @@
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Server Password",
"description": "Password to join the server, \"\" is none",
"env_variable": "SERVER_PASS",
"default_value": "\"\"",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:30"
}
]
}
}

View File

@ -5,9 +5,12 @@
[FiveM](https://fivem.net/)
FiveM is a modification for Grand Theft Auto V enabling you to play multiplayer on customized dedicated servers.
[Rage MP](https://rage.mp/?)
[Rage MP](https://rage.mp/)
RAGE Multiplayer is an multiplayer modification for Grand Theft Auto V that is alternative to GTA Online.
[alt:V](https://altv.mp)
alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V
## San Andreas
[GTA SA:MP](https://www.sa-mp.com/)

11
gta/altv/README.md Normal file
View File

@ -0,0 +1,11 @@
# alt:v
### From the [alt:V](https://altv.mp) Site
alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 7788 |

63
gta/altv/egg-alt--v.json Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,15 +1,28 @@
# FiveM
### 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 |

View File

@ -3,23 +3,23 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-02-20T16:46:04-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: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 sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg",
"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}} +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\r\napk add openssl tar xz curl wget git --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nmkdir resources\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\ncd \/mnt\/server\r\n\r\necho \"Downloading the latest fivem server files\"\r\nlatest_fivem_url=`curl https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/ | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | grep -Eo 'href=\".*\/\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g'`\r\n\r\necho -e \"pulling files from https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\"\r\nwget https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${latest_fivem_url}fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz\r\n\r\nrm -rf fx.tar.xz 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.9",
"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": [
@ -49,6 +49,51 @@
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "fivem version",
"description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
"env_variable": "FIVEM_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:50"
},
{
"name": "Download Link",
"description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz",
"env_variable": "DOWNLOAD_URL",
"default_value": "",
"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"
}
]
}

View File

@ -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

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-11-18T22:56:21-05:00",
"exported_at": "2020-04-22T09:18:34-04:00",
"name": "Rage.MP",
"author": "noreply.waypointhosting@gmail.com",
"description": "https:\/\/rage.mp\/\r\n\r\nThis server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.",
"image": "quay.io\/pterodactyl\/core:glibc",
"description": "https:\/\/rage.mp\/\r\n\r\nModified to work with the latest version of RAGE:MP\r\nWill automatically install linux bridge.\r\n**This server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/server",
"config": {
"files": "{\r\n \"conf.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"bind\": \"0.0.0.0\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"announce\": \"{{server.build.env.ANNOUNCE}}\"\r\n }\r\n }\r\n}",
@ -17,8 +17,8 @@
},
"scripts": {
"installation": {
"script": "apt update\r\napt -y install curl tar libstdc++6\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv.tar.gz\r\n\r\ntar -xzvf ragemp-srv.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/ragemp\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0",
"container": "ubuntu:16.04",
"script": "apt update\r\napt -y install curl tar\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv-037.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv-037.tar.gz\r\ncurl -sSL -o bridge-linux-037.tar.gz https:\/\/cdn.rage.mp\/lin\/bridge-linux-037.tar.gz\r\n\r\ntar -xzvf ragemp-srv-037.tar.gz --strip 1 -C \/mnt\/server\r\ntar -xzvf bridge-linux-037.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv-037.tar.gz\r\nrm bridge-linux-037.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/ragemp\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0",
"container": "debian:stable-slim",
"entrypoint": "bash"
}
},
@ -43,9 +43,9 @@
},
{
"name": "Announce",
"description": "Announce to the master server so people can see you in their server browser.",
"description": "Announce to the master server so people can see you in their server browser.\r\n\r\nThis needs to be a 0 (false) or 1 (true) due to weird boolean parsing.",
"env_variable": "ANNOUNCE",
"default_value": "true",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|boolean"

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-02-25T21:32:57+02:00",
"exported_at": "2019-07-21T20:35:32-04:00",
"name": "SA-MP",
"author": "bl4ckspr4y@protonmail.com",
"description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).",
"image": "quay.io\/parkervcp\/pterodactyl-images:samp",
"image": "quay.io\/parkervcp\/pterodactyl-images:game_samp",
"startup": ".\/samp03svr",
"config": {
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port {{server.build.default.port}}\"\r\n }\r\n }\r\n}",
@ -23,4 +23,4 @@
}
},
"variables": []
}
}

21
mindustry/README.md Normal file
View File

@ -0,0 +1,21 @@
# Mindustry
**PLEASE READ**
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.
#### About the game
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. Features include a map editor, 24 built-in maps, cross-platform multiplayer and large-scale PvP unit battles.
You can get it from [Steam](https://store.steampowered.com/app/1127400)
### Server Port
Mindustry requires a single port
| Port | Default |
|---------|---------|
| Game | 6567 |

View File

@ -0,0 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-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-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": "{}",
"startup": "{\r\n \"done\": \"Server loaded. \"\r\n}",
"logs": "{}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt update\r\napt -y install curl jq wget\r\n\r\nGITHUB_PACKAGE=Anuken\/Mindustry\r\nMATCH=server-release.jar\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z ${DOWNLOAD_LINK} ]; then\r\n if [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\n else\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\n fi\r\n\r\n ## get release info and download links\r\n LATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\n RELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\n if [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq -r '.assets | .[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\n fi\r\nelse\r\n echo -e \"Checking supplied download link\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\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: wget ${DOWNLOAD_LINK}\"\r\nwget ${DOWNLOAD_LINK}",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Version",
"description": "The version to download. Example \"v96\" NOT \"4.0v96\" (default is latest)\r\n\r\nThis would also be the github tag for the release",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required"
},
{
"name": "Server Name",
"description": "The server name that shows up in the server list\r\n\r\n(Default: Pterodactyl Testing Server)",
"env_variable": "SERVER_NAME",
"default_value": "A Pterodactyl Hosted Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Map Name",
"description": "Default Maps Available: Ancient Caldera, Fork, Fortress, Glacier, Islands, Labyrinth, Maze, Shattered, Tendrils, Triad, Veins, Wasteland.\r\n\r\n(Default: Tendrils)",
"env_variable": "MAPNAME",
"default_value": "Tendrils",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}

31
minecraft/README.md Normal file
View File

@ -0,0 +1,31 @@
# Minecraft
Its a game about placing blocks and going on adventures
Its 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

View File

@ -4,6 +4,10 @@
[Minecraft Bedrock Server](https://minecraft.net/en-us/download/server/bedrock/)
The official Minecraft Bedrock (Formerly Minecraft Pocket Edition) server.
#### DragonProxy
[DragonProxy Github](https://github.com/DragonetMC/DragonProxy)
A proxy to allow Minecraft: Bedrock clients to connect to Minecraft: Java Edition servers.
#### Nukkit
[Nukkit GitHub](https://github.com/Nukkit/Nukkit)
Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-03-14T22:10:44-04:00",
"exported_at": "2019-07-11T16:09:28-04:00",
"name": "Vanilla Bedrock",
"author": "parker@parkervcp.com",
"description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".",
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu",
"startup": ".\/bedrock_server",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n\r\napk add --no-cache zip unzip wget curl\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n DOWNLOAD_URL=$(curl https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\/ | grep azureedge | grep linux | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\")\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/www.minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nfi\r\n\r\necho -e \"Downloading files from https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\"\r\n\r\nwget ${DOWNLOAD_URL}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $BEDROCK_ZIP\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $BEDROCK_ZIP\r\n\r\necho -e \"Done\"",
"script": "#!\/bin\/ash\r\n\r\napk add --no-cache zip unzip wget curl\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n DOWNLOAD_URL=$(curl https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\/ | grep azureedge | grep linux | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\")\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\n BEDROCK_ZIP=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\nfi\r\n\r\necho -e \"Downloading files from https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\"\r\n\r\nwget ${DOWNLOAD_URL}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $BEDROCK_ZIP\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $BEDROCK_ZIP\r\n\r\necho -e \"Done\"",
"container": "alpine:3.9",
"entrypoint": "ash"
}

View File

@ -0,0 +1,15 @@
# DragonProxy
A proxy to allow Minecraft: Bedrock clients to connect to Minecraft: Java Edition servers.
### Server Ports
DragonProxy need 2 port (default 19132)
| Port | default |
|---------|----------|
| Bind | 19132 |
| Remote | 25565 |
### Known Issues
Also see the [DragonProxy Github](https://github.com/DragonetMC/DragonProxy)

View File

@ -0,0 +1,63 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-04-20T12:13:53+02:00",
"name": "DragonProxy",
"author": "info@goover.de",
"description": "A proxy made to allow Minecraft: Bedrock Edition clients to connect to Minecraft: Java Edition servers.",
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar DragonProxy.jar",
"config": {
"files": "{\r\n \"config.yml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bind-port:\": \"bind-port: {{server.build.default.port}}\",\r\n \"max-players:\": \"max-players: {{server.build.env.MAX_PLAYERS}}\",\r\n \"remote-port:\": \"remote-port: {{server.build.env.RPORT}}\",\r\n \"remote-auth:\": \"remote-auth: {{server.build.env.REMOTE_AUTH}}\",\r\n \"xbox-auth:\": \"xbox-auth: {{server.build.env.XBOX_AUTH}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Done\",\r\n \"userInteraction\": []\r\n}",
"logs": "[]",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "apk update\r\napk --no-cache --update add curl jq wget\r\n\r\ncd \/mnt\/server\r\nrm -rf DragonProxy.jar\r\nwget https:\/\/ci.codemc.io\/job\/DragonetMC\/job\/DragonProxy\/lastBuild\/artifact\/bootstrap\/standalone\/target\/DragonProxy.jar\r\n\r\nrm -rf \/mnt\/server\/config.yml\r\ncat <<EOT > \/mnt\/server\/config.yml\r\n# -----------------------------------------------\r\n# DragonProxy Configuration (25\/03\/20)\r\n# https:\/\/github.com\/DragonetMC\/DragonProxy\r\n# -----------------------------------------------\r\n# DO NOT CHANGE THIS VARIABLE!!!!!!\r\nconfig-version: 2\r\n# DO NOT CHANGE THIS VARIABLE!!!!!!\r\n\r\nlocale: 'EN'\r\n\r\n# The IP and port the proxy will listen for connections on\r\n# '0.0.0.0' will bind to all IP addresses available on your device\r\nbind-address: '0.0.0.0'\r\nbind-port: 19132\r\n\r\n# The MOTD that will be shown on the MCPE server list\r\nmotd: 'DragonProxy'\r\nmotd2: 'https:\/\/github.com\/DragonetMC\/DragonProxy'\r\n\r\n# The maximum amount of players that can join the proxy\r\nmax-players: 1\r\n\r\n# The IP and port of the remote server to connect to\r\nremote-address: '127.0.0.1'\r\nremote-port: 25565\r\n\r\n# The authentication method used for connecting to the remote server.\r\n# Accepted values:\r\n# credentials : This will display a form when you join the proxy asking you to enter your Mojang credentials\r\n# offline : No authentication, cant join premium servers such as Hypixel\r\nremote-auth: credentials\r\n\r\n# Whether or not Bedrock clients should be authenticated with xbox live\r\nxbox-auth: false\r\n\r\n# Whether or not to use the motd and player count of the primary remote server\r\nping-passthrough: true\r\n\r\n# Player gameplay related settings\r\nplayer-settings:\r\n # Whether or not to translate commands sent from the remote server and display\r\n # them on the Bedrock client. This is currently experimental.\r\n enable-commands: false\r\n\r\n # Whether or not to enable auto jump\r\n auto-jump: true\r\n\r\n # Whether or not to fetch skins from Mojang's servers\r\n fetch-skins: true\r\n\r\nmetrics:\r\n enabled: true\r\n # DO NOT CHANGE\r\n server-uuid: donotchange_serveruuid\r\n\r\n# The amount of threads that will be used.\r\n# Only change if you know what you are doing\r\nthread-pool-size: 8\r\nEOT",
"container": "openjdk:8-jre-alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Remote Port",
"description": "",
"env_variable": "RPORT",
"default_value": "25565",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Remote Auth",
"description": "The authentication method used for connecting to the remote server.\r\nAccepted values:\r\ncredentials : This will display a form when you join the proxy asking you to enter your Mojang credentials\r\noffline : No authentication, cant join premium servers such as Hypixel",
"env_variable": "REMOTE_AUTH",
"default_value": "credentials",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "XBox Auth",
"description": "Whether or not Bedrock clients should be authenticated with xbox live\r\n\r\nTRUE or FALSE",
"env_variable": "XBOX_AUTH",
"default_value": "false",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Max Players",
"description": "The maximum amount of players that can join the proxy",
"env_variable": "MAX_PLAYERS",
"default_value": "1",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-11-11T23:32:59-05:00",
"exported_at": "2019-11-02T22:11:25-04:00",
"name": "Nukkit",
"author": "parker@parkervcp.com",
"description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/nukkit.io\/",
@ -17,8 +17,8 @@
},
"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\nwget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/nukkit.yml\r\n\r\nwget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_bedrock\/nukkit\/server.properties",
"container": "alpine:3.9",
"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"
}
},
@ -51,4 +51,4 @@
"rules": "required|string|max:20"
}
]
}
}

View File

@ -3,11 +3,11 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-10-27T22:53:48-04: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 :)",
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_ubuntu",
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi",
"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}",
@ -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 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.2-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\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\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.9",
"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": [
@ -33,4 +33,4 @@
"rules": "required|string|max:20"
}
]
}
}

96
minecraft/java/README.md Normal file
View File

@ -0,0 +1,96 @@
# Minecraft
Its a game about placing blocks and going on adventures
Its set in infinitely-generated worlds of wide open terrain - icy mountains, swampy bayous, vast pastures and much more - filled with secrets, wonders and peril!
## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
## Cuberite
A lightweight, fast and extensible game server for Minecraft
[Cuberite](https://cuberite.org/)
## Feather
[Feather](https://github.com/feather-rs/feather)
An experimental Minecraft server implementation in Rust
## Forge
[Forge MC](https://files.minecraftforge.net/)
This is a direct fork of the default forge service
- Has a version detection fix for "latest"
[Curse Generic](https://www.curseforge.com/)
A generic service to pull forge mod packs from the curseforge site.
## FTB Packs
[FTB](https://www.feed-the-beast.com/modpacks)
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
[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.
## Magma
[Magma](https://magmafoundation.org/)
Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.
## Paper
Currently the default on pterodactyl for many reasons. First being that you don't need to build the jar.
[PaperMC GitHub](https://github.com/PaperMC/Paper)
High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
## Spigot
A collection of spigot and forked spigot eggs.
[Spigot](https://www.spigotmc.org/)
This is a direct fork of the default spigot service with the added benefit of being able to build the spigot jar.
- (It's noted that building the jar is intensive and time consuming)
## Sponge
[SpongeVanilla](https://www.spongepowered.org/)
A community-driven open source Minecraft: Java Edition modding platform.
## Technic Packs
[Hexxit](https://www.technicpack.net/modpack/hexxit)
Gear up and set forth on a campaign worthy of legend, for Hexxit has been unearthed!
[Blightfall](https://www.technicpack.net/modpack/blightfall)
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!
[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.
[Tuinity GitHub](https://github.com/Spottedleaf/Tuinity)

View File

@ -0,0 +1,11 @@
# Cuberite
A lightweight, fast and extensible game server for Minecraft
## 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 |
| WebAdmin | 8080 |

View File

@ -0,0 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-12-14T12:24:30-05:00",
"name": "Cuberite",
"author": "parker@parkervcp.com",
"description": "A lightweight, fast and extensible game server for Minecraft",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/Cuberite",
"config": {
"files": "{\r\n \"settings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"Server.Ports\": \"{{server.build.default.port}}\",\r\n \"Server.Description\": \"{{server.build.env.SERV_DESC}}\"\r\n }\r\n },\r\n \"webadmin.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"User:admin.Password\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"WebAdmin.Ports\":\"{{server.build.env.WEB_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Startup complete \"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Cuberite\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/download.cuberite.org\/linux-x86_64\/Cuberite.tar.gz\r\n\r\ntar --strip-components=1 -xf Cuberite.tar.gz",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Description",
"description": "Server Description",
"env_variable": "SERV_DESC",
"default_value": "Cuberite on Pterodactyl!",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "Admin Password",
"description": "The password for the webadmin panel 'admin' user",
"env_variable": "ADMIN_PASS",
"default_value": "ChangeMe",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "WebAdmin Port",
"description": "Port for the cuberite webadmin panel.",
"env_variable": "WEB_PORT",
"default_value": "8080",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|integer|between:1,65535"
}
]
}

View File

@ -0,0 +1,52 @@
; This is the main server configuration
; Most of the settings here can be configured using the webadmin interface, if enabled in webadmin.ini
[Authentication]
Authenticate=1
AllowBungeeCord=0
Server=sessionserver.mojang.com
Address=/session/minecraft/hasJoined?username=%USERNAME%&serverId=%SERVERID%
[MojangAPI]
NameToUUIDServer=api.mojang.com
NameToUUIDAddress=/profiles/minecraft
UUIDToProfileServer=sessionserver.mojang.com
UUIDToProfileAddress=/session/minecraft/profile/%UUID%?unsigned=false
[Server]
Description=Cuberite - in C++!
ShutdownMessage=Server shutdown
MaxPlayers=100
HardcoreEnabled=0
AllowMultiLogin=0
Ports=25565
AllowMultiWorldTabCompletion=1
DefaultViewDistance=10
[RCON]
Enabled=0
[AntiCheat]
LimitPlayerBlockChanges=1
[PlayerData]
LoadOfflinePlayerData=0
LoadNamedPlayerData=1
[Worlds]
DefaultWorld=world
World=world_nether
World=world_the_end
[WorldPaths]
world=world
world_nether=world_nether
world_the_end=world_the_end
[Plugins]
Plugin=Core
Plugin=ChatLog
[DeadlockDetect]
Enabled=1
IntervalSec=20

View File

@ -0,0 +1,14 @@
; This file controls the webadmin feature of Cuberite
; It specifies whether webadmin is enabled, and what logins are allowed.
; Username format: [User:*username*]
; Password format: Password=*password*; for example:
; [User:admin]
; Password=admin
; Please restart Cuberite to apply changes made in this file!
[WebAdmin]
Ports=8080
Enabled=1
[User:admin]
Password=

View File

@ -0,0 +1,11 @@
# Feather
An experimental Minecraft server implementation written in Rust.
## 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 |

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-03-08T20:35:40-04:00",
"name": "Feather",
"author": "parker@parkervcp.com",
"description": "An experimental Minecraft server implementation written in Rust.",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/feather-server",
"config": {
"files": "{\r\n \"feather.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"address\": \"address = \\\"0.0.0.0\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/usr\/bin\/env bash\r\napt update\r\napt install -y curl\r\n\r\nget_latest_release() {\r\n curl -sSL \"https:\/\/api.github.com\/repos\/$1\/releases\/latest\" |\r\n grep '\"tag_name\":' |\r\n sed -E 's\/.*\"([^\"]+)\".*\/\\1\/'\r\n}\r\n\r\nPACKAGE=\"feather-rs\/feather\"\r\nVERSION=`get_latest_release \"${PACKAGE}\"`\r\necho \"Latest version=${VERSION}\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sSLo feather.tar.gz https:\/\/github.com\/caelunshun\/feather\/releases\/download\/${VERSION}\/feather-${VERSION}-linux.tar.gz\r\n\r\ntar --strip-components=1 -xzvf feather.tar.gz\r\n\r\nrm feather.tar.gz",
"container": "debian:stable-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Generate World",
"description": "Do you want the installer to generate a world you you?",
"env_variable": "GEN_WORLD",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|boolean"
}
]
}

View File

@ -0,0 +1,47 @@
# Configuration for the Feather server.
# Most of the options here are unimplented and have no effect.
# Those that are unimplemted have been labeled so.
[io]
# Packets with a size more than or equal to this value will be sent compressed.
# Compressing packets reduces bandwidth usage but increases CPU activity.
compression_threshold = 256
# The number of worker threads used for asynchronous IO.
# Set to the number of cores on your CPU for optimal performance.
io_worker_threads = 8
[proxy]
# IP forwarding using either "bungee" (BungeeCord/Waterfall/Travertine) or "velocity" (Velocity)
proxy_mode = "none" # Unimplemented
[server]
online_mode = true
motd = "A Feather server"
max_players = 16
default_gamemode = "survival"
difficulty = "none" # Unimplemented
view_distance = 6
address = "127.0.0.1"
port = 25565
[gameplay]
monster_spawning = true # Unimplemented
animal_spawning = true # Unimplemented
pvp = true # Unimplemented
nerf_spawner_mobs = false # Unimplemented
# Either "classic" for 1.8 PvP or "new" for 1.9
pvp_style = "classic" # Unimplemented
[log]
# If you prefer less verbose logs, switch this to "info."
# If you want to hurt your eyes while looking at the
# server console, set it to "trace."
level = "debug"
[resource_pack]
# Server resource pack which is sent to players
# upon joining. Set this to an empty string to disable.
url = ""
# Optional SHA1 hash of the resource pack file.
hash = ""

View File

@ -2,7 +2,8 @@
### This is a generic egg for curseforge modpacks
You will need to give it a modpack URL such as `https://minecraft.curseforge.com/projects/<modpack_name>`
You will need to give it a modpack ID. The ID for sevtech-ages is `268208` for example.
This can be found on the modpack page in the `About Project` section in the upper right corner.
This will grabe the latest release when the version is set to latest.

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,7 @@
# Forge Generic
### This is a generic egg for the forge standalone server
This will download the latest jar for a specific forge version.
this has a fix for the broken 1.7.10 and 1.8.9 versions forge has

View File

@ -0,0 +1,63 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-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"
}
]
}

View File

@ -0,0 +1,63 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-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"
}
]
}

View File

@ -0,0 +1,11 @@
# Magma
Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.
## 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 |

View File

@ -0,0 +1,63 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-03-28T14:53:55-04:00",
"name": "Magma",
"author": "support@pterodactyl.io",
"description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.",
"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 }\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": "## 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\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\n## get latest download link\r\necho -e \"Set to download the ${BUILD} build\"\r\nif [ \"${BUILD}\" == \"dev\" ]; then\r\n echo -e \"dev tag is ${tag}\"\r\nfi\r\n\r\ncase ${BUILD} in\r\n\r\n \"recommended\" | \"stable\" | \"latest\")\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download\"\r\n ;;\r\n\r\n \"dev\")\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/dev\/${TAG}\/download\"\r\n ;;\r\n\r\n *)\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download\"\r\n ;;\r\nesac\r\n\r\necho -e \"Download URL is ${DOWNLOAD_URL}\"\r\n\r\n## validate download link\r\nif [ ! -z \"${DOWNLOAD_URL}\" ] ; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n# Adding '.jar' if it isn't part of the file name\r\nif [[ ${SERVER_JARFILE} == *\\.jar ]]; then\r\n echo -e \"adding.jar to server file name\"\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\n## mv old server files\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n echo -e \"moving old server.jar\"\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\necho -e \"Install Complete\"",
"container": "alpine:3.10",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Server Jar File",
"description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
"name": "Server Version",
"description": "The version of Minecraft Vanilla to install.\r\n\r\nOnly version currently supported is 1.12.2 as that is all there are builds for.",
"env_variable": "VANILLA_VERSION",
"default_value": "1.12.2",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|between:3,15"
},
{
"name": "Magma Build",
"description": "What version of magma to download.\r\n\r\nrecommended, stable, latest = current stable\r\ndev = latest dev build",
"env_variable": "BUILD",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Magma Dev Tag",
"description": "The dev tagged version to download. default is latest.",
"env_variable": "TAG",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,21 +3,21 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-03-28T15:18:36-04:00",
"exported_at": "2019-08-01T04:49:37-04:00",
"name": "Paper",
"author": "parker@pterodactyl.io",
"description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"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 \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-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 \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
"logs": "{}",
"stop": "stop"
},
"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"
}
]
}
}

View File

@ -0,0 +1,9 @@
# SpongeForge
SpongeForge is the implementation of the Sponge API on the Minecraft Forge platform.
## Server Ports
Minecraft servers requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
| Port | default |
|-------|---------|
| Game | 25565 |

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-12-11T01:44:03+03:00",
"name": "SpongeForge",
"author": "parker@parkervcp.com",
"description": "A community-driven open source Minecraft: Java Edition modding platform.",
"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 \"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": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# SpongeForge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\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\r\nif [ -z ${SF_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SF_VERSION=\"recommended\"\r\nfi\r\n\r\nif [ \"${SF_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended SpongeForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/recommended | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nelif [ \"${SF_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SF_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nelse\r\n echo -e \"found SpongeForge Version ${SF_VERSION}\"\r\n SF_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.artifacts.\"\".url')\r\n FORGE_DOWNLOAD_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.forge')\r\n echo -e \"found Forge Version ${FORGE_DOWNLOAD_VERSION}\"\r\n MC_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongeforge\/downloads\/${SF_VERSION} | jq -r '.dependencies.minecraft')\r\nfi\r\n\r\nFORGE_DL_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${MC_VERSION}-${FORGE_DOWNLOAD_VERSION}\/forge-${MC_VERSION}-${FORGE_DOWNLOAD_VERSION}\r\n\r\nif [ -f server.jar ] && [ $(sha1sum server.jar | awk '{ print $1 }') == $(curl -s ${FORGE_DL_LINK}-universal.jar.sha1) ]; then\r\n echo -e \"Already have the correct forge version\"\r\nelse\r\n echo -e \"Downloading forge version ${FORGE_VERSION}\"\r\n echo -e \"running: curl -s -o installer.jar -o ${FORGE_DL_LINK}-installer.jar\"\r\n curl -s -o installer.jar ${FORGE_DL_LINK}-installer.jar\r\n echo -e \"running: curl -s -o ${SERVER_JARFILE} -o ${FORGE_DL_LINK}-universal.jar\"\r\n curl -s -o ${SERVER_JARFILE} ${FORGE_DL_LINK}-universal.jar\r\n java -jar installer.jar --installServer\r\n rm installer.jar forge-${MC_VERSION}-${FORGE_DOWNLOAD_VERSION}-universal.jar\r\nfi\r\n\r\nif [ ! -d \/mnt\/server\/mods\/ ]; then\r\n echo -e \"making mods directory\"\r\n mkdir -p \/mnt\/server\/mods\/\r\nfi\r\n\r\nif [ -f \/mnt\/server\/mods\/spongeforge*.jar ]; then\r\n mkdir -p \/mnt\/server\/mods\/old\/\r\n mv -f \/mnt\/server\/mods\/spongeforge*.jar \/mnt\/server\/mods\/old\/spongeforge*.jar\r\nfi \r\n\r\necho -e \"running: curl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\"\r\ncurl -s ${SF_DL_LINK} -o \/mnt\/server\/mods\/spongeforge-${SF_VERSION}.jar\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\r\n\r\necho -e \"Install for SpongeForge is complete\"",
"container": "openjdk:8-jre-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "SpongeForge Version",
"description": "Example 1.12.2-2825-7.1.6\r\n\r\nIf the version fails it defaults to recommended",
"env_variable": "SF_VERSION",
"default_value": "recommended",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"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)$\/"
}
]
}

View File

@ -0,0 +1,10 @@
# SpongeVanilla
A community-driven open source Minecraft: Java Edition modding platform.
## 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 |

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-09-13T21:18:48-04:00",
"name": "SpongeVanilla",
"author": "parker@parkervcp.com",
"description": "SpongeVanilla is the implementation of the Sponge API on top of Vanilla Minecraft.",
"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 \"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": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# spongeVanilla Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y jq curl\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\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## check spongevanilla version and default to recommended if it's invalid\r\nif [ -z ${SV_VERSION} ] || [ \"$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/${SV_VERSION})\" == \"Unknown version\" ]; then\r\n echo -e \"defaulting to recommended\"\r\n SV_VERSION=\"recommended\"\r\nfi\r\n\r\n## handle getting download linsk for sponge\r\nif [ \"${SV_VERSION}\" == \"recommended\" ]; then\r\n echo -e \"using recommended spongevanilla version\"\r\n SV_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/recommended | jq -r '.version')\r\n echo -e \"found spongevanilla Version ${SV_VERSION}\"\r\n SV_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/recommended | jq -r '.artifacts.\"\".url')\r\nelif [ \"${SV_VERSION}\" == \"latest\" ]; then\r\n echo -e \"using latest SpongForge version\"\r\n SV_VERSION=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla | jq -r '.buildTypes.stable.latest.version')\r\n echo -e \"found spongevanilla Version ${SV_VERSION}\"\r\nelse\r\n echo -e \"found spongevanilla Version ${SV_VERSION}\"\r\n SV_DL_LINK=$(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/${SV_VERSION} | jq -r '.artifacts.\"\".url')\r\nfi\r\n\r\nif [ -f ${SERVER_JARFILE} ] && [ $(sha1sum server.jar | awk '{ print $1 }') == $(curl -s https:\/\/dl-api.spongepowered.org\/v1\/org.spongepowered\/spongevanilla\/downloads\/recommended | jq -r '.artifacts.\"\".sha1') ]; then\r\n echo -e \"Already have the correct spongevanilla version\"\r\nelse\r\n echo -e \"Downloading spongevanilla version ${SV_VERSION}\"\r\n echo -e \"running: curl -s ${SV_DL_LINK} -o \/mnt\/server\/mods\/spongevanilla-${SV_VERSION}.jar\"\r\n curl -s ${SV_DL_LINK} -o \/mnt\/server\/${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -s -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft_java\/server.properties\r\nfi\r\n\r\necho -e \"Install for spongevanilla is complete\"",
"container": "debian:stable-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "SpongeVanilla Version",
"description": "Example 1.12.2-7.1.6\r\n\r\nIf the version fails it defaults to recommended",
"env_variable": "SV_VERSION",
"default_value": "recommended",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
},
{
"name": "Server Jar File",
"description": "The name of the Jarfile to use when running Mod.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
}
]
}

View File

@ -0,0 +1,24 @@
## How to import an egg
If you are reading this it looks like you are looking to add an egg to your server.
1. Download any of the json files located in the folders below.
1. It's easiest to right click the `raw` button and save as.
2. In your panel go to the `Nests` section in the admin part of the panel
3. Click the green `Import Egg` button
4. Browse to the json file you saved earlier
5. Select what nest you want to put the egg in.
1. If you want a new nest you need to create it before importing the egg.
6. Restart the daemon on your node before creating a server using the new egg(s).
# You must restart your daemon after importing an egg
## 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/)
* [The 1.7.10 Pack](/minecraft_java/technic/the-1-7-10-pack/)

View File

@ -0,0 +1,11 @@
# Minecraft: Attack of the B Team
A very good modpack!
## 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 |

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-06-02T11:29:46+02:00",
"name": "Attack of the B-Team",
"author": "support@pterodactyl.io",
"description": "This modpack was designed with one thing in mind, crazy mad science! With the help of the B-Team we hand picked the wackiest mods we could find and shoved them all in a modpack for you guys. The result is Attack of the B-Team!",
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar BTeam.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:\/\/servers.technicpack.net\/Technic\/servers\/bteam\/BTeam_Server_v$MODPACK_VERSION.zip -o BTeam_Server_v$MODPACK_VERSION.zip\r\n\r\nunzip BTeam_Server_v$MODPACK_VERSION.zip\r\n\r\nrm -rf BTeam_Server_v$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": "1.0.12c",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}

Some files were not shown because too many files have changed in this diff Show More