Merge branch 'master' into master

This commit is contained in:
Daave 2018-08-19 22:04:55 +01:00 committed by GitHub
commit 19c8fadc8a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
63 changed files with 1865 additions and 186 deletions

18
.github/ISSUE_TEMPLATE/bugs.md vendored Normal file
View File

@ -0,0 +1,18 @@
---
name: "\U0001F41B Bug Report"
about: Report an issue for an egg
---
Please fill out the information bellow and remove from the line up
---------------
Panel Version: (version number)
Daemon Version: (version number)
Service: (minecraft/factorio/etc)
Modified: (yes/no) (did you add or change things, this includes startup configs/install scripts/variables)
Expected Behavior:
Actual Behavior:
Steps to Reproduce: (Step by step what to do to cause the issue)

11
.github/ISSUE_TEMPLATE/request.md vendored Normal file
View File

@ -0,0 +1,11 @@
---
name: "\U0001F3AE Game Request"
about: Suggest a server to build an egg for
---
Please fill out the information bellow and remove from the line up
---------------
Service: (Ex. minecraft/factorio/etc)
Link to game: (Ex. minecraft.net/factorio.com/etc)

View File

@ -0,0 +1,20 @@
### All Submissions:
* [ ] Have you followed the guidelines in our Contributing document?
* [ ] Have you checked to ensure there aren't other open [Pull Requests](../../pulls) for the same update/change?
<!-- You can erase any parts of this template not applicable to your Pull Request. -->
### New Feature Submissions:
1. [ ] Does your submission pass tests (server is connectable)?
### Changes to Egg Features:
* [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
* [ ] Have you tested your Egg changes?
### Changes to README:
* [ ] Have you added the server to the main README.md?
* [ ] Have you added a unique README.md for the server you are adding?

View File

@ -3,9 +3,11 @@
## General rules
1. Keep it simple.
We don't need 8 miles of install script
We don't need 8 miles of install script.
2. Keep it Small.
Only use what is absolutely needed.
Only use what is absolutely needed.
3. Try to stay in the stock containers.
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.

View File

@ -1,63 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-11T23:34:09-04:00",
"name": "Factorio",
"author": "parker@parkervcp.com",
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
"image": "quay.io\/pterodactyl\/core:glibc",
"startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --start-server {{SAVE_NAME}}.zip",
"config": {
"files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"game_password\": \"{{server.build.env.SERVER_PASS}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Type changing state from(CreatingGame) to(InGame)\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"factorio-current.log\"\r\n}",
"stop": "^C"
},
"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\r\n\r\nlatest_stable=`curl https:\/\/updater.factorio.com\/get-available-versions | grep stable | grep -o -E '([0-9]\\.[0-9][0-9]\\.[0-9][0-9]|[0-9]\\.[0-9][0-9]\\.[0-9])'`\r\nlatest_experimental=`curl https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9][0-9]\\.[0-9][0-9]|[0-9]\\.[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 -L 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 -L 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"
}
},
"variables": [
{
"name": "Factorio Version",
"description": "Which version of Factorio to install and use.",
"env_variable": "FACTORIO_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|between:3,12"
},
{
"name": "Maximum Slots",
"description": "Total number of slots to allow on the server.",
"env_variable": "MAX_SLOTS",
"default_value": "20",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Server Password",
"description": "Password to log onto the server.",
"env_variable": "SERVER_PASS",
"default_value": "password",
"user_viewable": 1,
"user_editable": 1,
"rules": "alpha_dash|between:1,100"
},
{
"name": "Save Name",
"description": "The save name for the server.",
"env_variable": "SAVE_NAME",
"default_value": "gamesave",
"user_viewable": 1,
"user_editable": 1,
"rules": "alpha_dash|between:1,100"
}
]
}

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-03-14T15:06:47-04:00",
"name": "FiveM",
"author": "parker@parkervcp.com",
"description": "The FiveM multiplayer server on Pterodactyl.",
"image": "quay.io\/pterodactyl\/core:glibc",
"startup": ".\/cfx-server\/FXServer +exec server.cfg +set sv_licenseKey {{FIVEM_LICENSE}} +set citizen_dir \/home\/container\/cfx-server\/citizen",
"config": {
"files": "{\r\n \"server_data\/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 }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server license key authentication succeeded. Welcome!\"\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\napk add openssl tar xz curl git --no-cache\r\n\r\necho \"cloning citizenfx files\"\r\n\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/mnt\/server\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading the fivem server files\"\r\n\r\nwget https:\/\/m-84g4dtu6fd76.runkit.sh\/?q=linux -O fx.tar.xz\r\n\r\necho \"Extracting fivem files\"\r\n\r\ntar xf fx.tar.xz alpine\/opt\/\r\n\r\nmv alpine\/opt\/cfx-server\/ .\/\r\n\r\nchmod +x .\/cfx-server\/FXServer\r\n\r\nrm -rf fx.tar.xz alpine\/\r\n\r\necho \"Downloading default fivem config\"\r\n\r\ncurl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/GTA\/FiveM\/server.cfg >> server.cfg",
"container": "alpine:3.7",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "fivem license",
"description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/",
"env_variable": "FIVEM_LICENSE",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
}
]
}

View File

@ -7,79 +7,53 @@ With that I am also accepting PR's for new service and also updates to the curre
If you are submitting PR's try and keep names and titles the same.
## Please read the HOWTO.md before submitting PRs
# You must restart your daemon after importing an egg.
#### Please read the HOWTO.md as it container important information.
## Please read the CONTRIBUTING.md before submitting PRs
## Bot Eggs
[Discord](/bots/discord/)
* [ATL Bot](/bots/discord/atlbot)
* [parkertron](/bots/discord/parkertron/)
* [pixel-bot](/bots/discord/pixelbot/)
* [Sinusbot](/bots/discord/sinusbot/)
## Game Eggs
### GTA
#### FiveM
The [FiveM](https://fivem.net/) GTA 5 dedicated server
[Real Virtuality 4 Engine](/RVR4/)
* [Arma 3](/RVR4/Arma 3/)
#### SA:MP
The [SA:MP](https://www.sa-mp.com/) GTA San Andreas dedicated server
[Factorio](/factorio/factorio/)
[Grand Theft Auto](/gta/)
* [FiveM](/gta/fivem/)
* [RageMP](/gta/ragemp/)
### Factorio
#### factorio
The [Factorio](https://factorio.com/) dedicated server
[Minecraft](/minecraft/)
* [Forge](/minecraft/forge/)
* [Feed The Beast](/minecraft/ftb/)
* [Spigot](/minecraft/spigot/)
* [Technic](/minecraft/technic/)
### RVR4
#### Arma 3
The [Arma 3](https://arma3.com/) dedicated server
[MinecraftPE](/minecraft_pe/)
* [Nukkit](/minecraft_pe/nukkit/)
* [PocketMine MP](/minecraft_pe/pocketmine_mp/)
### Terraria
#### tShock
The [tShock](https://tshock.co) modded server.
- This requires a minimum of 1g (1024m) to actually create a map. This will get OOM if you have less.
[Minecraft Proxies](/minecraft_proxy/)
* [Waterfall](/minecraft_proxy/waterfall/)
### Minecraft
#### Spigot Enhanced
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)
[Mount & Blade Warband](/mb_warband/)
#### Forge Enhanced
This is a direct fork of the default forge service
- Has a version detection fix for "latest"
[Source](/source_servers/)
* [7 Days to Die](/source_servers/7_days_to_die/)
* [PixARK](/source_servers/pixark/)
#### FTB Packs
##### Feed The Beast - generic
[FTB](https://www.feed-the-beast.com/modpacks)
Generic egg to handle any standard FTB modpack.
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
[Squad](/squad/)
[Terraria](/terraria/)
* [tshock](/terraria/tshock/)
##### FTB Revelation
[FTB Revelation](https://www.feed-the-beast.com/projects/ftb-revelation)
[Unturned](/unturned/)
* [RocketMod](/unturned/rocketmod/)
#### Tekkit Packs
##### Hexxit
[Hexxit](https://www.technicpack.net/modpack/hexxit.552552)
##### Blightfall
[Blightfall](https://www.technicpack.net/modpack/blightfall.592618)
##### Tekkit-Legends
[Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends.735902)
### Minecraft PE
#### Nukkit
The [Nukkit](https://nukkit.io/) Minecraft PE server
### Squad
#### Squad Dedicated
The [Squad](https://joinsquad.com/) official dedicated server
### Xonotic
#### xonotic
The [xonotic](http://www.xonotic.org/) official dedicated server.
- Disk space needs to be
## Bot Eggs
### Discord
#### ATLBot
The [ATLauncher Bot](https://github.com/ATLauncher/discord-bot/)
#### parkertron
My own stupid chat bot [parkertron](https://github.com/parkervcp/parkertron)
- Currently runs as the SupportBot in the pterodactyl discord server.
[Xonotic](/xonotic/)

20
bots/discord/README.md Normal file
View File

@ -0,0 +1,20 @@
# Discord Bots
### Some of these bots support other services but are primarily Discord bots
#### ATLauncher Discord Bot
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
Their github has all the info you need
#### parkertron
[parkervcp/parkertron](https://github.com/parkervcp/parkertron)
The bot that runs as the pterodactyl `@Support Bot`
#### pixelbot
[possatti/pixelbot](https://github.com/possatti/pixelbot)
No longer actively developed.
Was used to test python services.
#### SinusBot
[SinusBot](https://www.sinusbot.com/)
Please Check their site for an in depth on the bot.

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-21T23:58:08-04:00",
"exported_at": "2018-07-24T00:13:01-04:00",
"name": "parkertron",
"author": "parker@parkervcp.com",
"description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron",
@ -11,13 +11,13 @@
"startup": ".\/parkertron",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Discord service connected\"\r\n}",
"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"
},
"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\nmkdir -p go\/bin go\/src\r\n\r\napk add --no-cache --update go git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"installing dep for golang dependancies\"\r\n\r\ncurl https:\/\/raw.githubusercontent.com\/golang\/dep\/master\/install.sh | sh\r\n\r\ncd go\/src\/\r\n\r\necho \"pulling the parkertron pterodactyl branch\"\r\n\r\ngit clone -b pterodactyl https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\ndep ensure\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\ncp -r configs\/ \/mnt\/server\/\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
"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\nmkdir -p go\/bin go\/src\r\n\r\napk add --no-cache --update go git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"installing dep for golang dependancies\"\r\n\r\ncurl https:\/\/raw.githubusercontent.com\/golang\/dep\/master\/install.sh | sh\r\n\r\ncd go\/src\/\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\ndep ensure\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 -r configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
"container": "alpine:3.7",
"entrypoint": "ash"
}

View File

@ -0,0 +1,72 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-27T08:57:41-04: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",
"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}",
"startup": "{\r\n \"done\": \"Logged in as\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# 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",
"container": "python:3.6-alpine3.7",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Owner Discord UID",
"description": "The Discord UID of the bot owner.",
"env_variable": "OWNER_UID",
"default_value": "copy from discord",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
},
{
"name": "Discord Bot Token",
"description": "Get the app token from https:\/\/discordapp.com\/developers\/applications\/me",
"env_variable": "BOT_TOKEN",
"default_value": "get from discord developers",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Bot Name",
"description": "The name that you want set for the bot",
"env_variable": "BOT_NAME",
"default_value": "Ispyra",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Imgur API ID",
"description": "Add your Imgur API client_id if you want. \r\n\r\nhttps:\/\/api.imgur.com\/oauth2\/addclient",
"env_variable": "IMGUR_KEY",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:64"
},
{
"name": "Imgur Secret",
"description": "Add your Imgur API client_secret if you want. \r\n\r\nhttps:\/\/api.imgur.com\/oauth2\/addclient",
"env_variable": "IMGUR_SECRET",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:20"
}
]
}

View File

@ -0,0 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-10T00:15:54-04:00",
"name": "Sinusbot",
"author": "ki2007@damw.eu",
"description": "Musicbot for Discord and Teamspeak.",
"image": "quay.io\/parkervcp\/pterodactyl-images:sinusbot",
"startup": ".\/sinusbot --override-password=\"${OVERRIDE_PASSWORD}\"",
"config": {
"files": "{\r\n \"config.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ListenPort\": \"ListenPort = {{server.build.default.port}}\",\r\n \"ListenHost\": \"ListenHost = \\\"0.0.0.0\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Initialization complete\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# 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 -q `curl https:\/\/www.teamspeak.com\/en\/downloads#client | grep Client-linux_amd64 | grep option | grep 4Net | cut -d'\"' -f2`\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",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Password",
"description": "Password for admin account.",
"env_variable": "OVERRIDE_PASSWORD",
"default_value": "CHANGEME",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}

View File

@ -0,0 +1,658 @@
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#
# This file consists of lines of the form:
#
# name = value
#
# (The "=" is optional.) Whitespace may be used. Comments are introduced with
# "#" anywhere on a line. The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
#
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
#
# This file is read on server startup and when the server receives a SIGHUP
# signal. If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, run "pg_ctl reload", or execute
# "SELECT pg_reload_conf()". Some parameters, which are marked below,
# require a server shutdown and restart to take effect.
#
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on". Some parameters can be changed at run time
# with the "SET" SQL command.
#
# Memory units: kB = kilobytes Time units: ms = milliseconds
# MB = megabytes s = seconds
# GB = gigabytes min = minutes
# TB = terabytes h = hours
# d = days
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.
#data_directory = 'ConfigDir' # use data in another directory
# (change requires restart)
#hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
# (change requires restart)
#ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file
# (change requires restart)
# If external_pid_file is not explicitly set, no extra PID file is written.
#external_pid_file = '' # write an extra PID file
# (change requires restart)
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*'
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
#max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '/tmp' # comma-separated list of directories
# (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour = off # advertise server via Bonjour
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
# - Security and Authentication -
#authentication_timeout = 1min # 1s-600s
#ssl = off
#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
#ssl_prefer_server_ciphers = on
#ssl_ecdh_curve = 'prime256v1'
#ssl_dh_params_file = ''
#ssl_cert_file = 'server.crt'
#ssl_key_file = 'server.key'
#ssl_ca_file = ''
#ssl_crl_file = ''
#password_encryption = md5 # md5 or scram-sha-256
#db_user_namespace = off
#row_security = on
# GSSAPI using Kerberos
#krb_server_keyfile = ''
#krb_caseins_users = off
# - TCP Keepalives -
# see "man 7 tcp" for details
#tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds;
# 0 selects the system default
#tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds;
# 0 selects the system default
#tcp_keepalives_count = 0 # TCP_KEEPCNT;
# 0 selects the system default
#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------
# - Memory -
#shared_buffers = 32MB # min 128kB
# (change requires restart)
#huge_pages = try # on, off, or try
# (change requires restart)
#temp_buffers = 8MB # min 800kB
#max_prepared_transactions = 0 # zero disables the feature
# (change requires restart)
# Caution: it is not advisable to set max_prepared_transactions nonzero unless
# you actively intend to use prepared transactions.
#work_mem = 4MB # min 64kB
#maintenance_work_mem = 64MB # min 1MB
#replacement_sort_tuples = 150000 # limits use of replacement selection sort
#autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem
#max_stack_depth = 2MB # min 100kB
#dynamic_shared_memory_type = posix # the default is the first option
# supported by the operating system:
# posix
# sysv
# windows
# mmap
# use none to disable dynamic shared memory
# (change requires restart)
# - Disk -
#temp_file_limit = -1 # limits per-process temp file space
# in kB, or -1 for no limit
# - Kernel Resource Usage -
#max_files_per_process = 1000 # min 25
# (change requires restart)
#shared_preload_libraries = '' # (change requires restart)
# - Cost-Based Vacuum Delay -
#vacuum_cost_delay = 0 # 0-100 milliseconds
#vacuum_cost_page_hit = 1 # 0-10000 credits
#vacuum_cost_page_miss = 10 # 0-10000 credits
#vacuum_cost_page_dirty = 20 # 0-10000 credits
#vacuum_cost_limit = 200 # 1-10000 credits
# - Background Writer -
#bgwriter_delay = 200ms # 10-10000ms between rounds
#bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round
#bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round
#bgwriter_flush_after = 0 # measured in pages, 0 disables
# - Asynchronous Behavior -
#effective_io_concurrency = 1 # 1-1000; 0 disables prefetching
#max_worker_processes = 8 # (change requires restart)
#max_parallel_workers_per_gather = 2 # taken from max_parallel_workers
#max_parallel_workers = 8 # maximum number of max_worker_processes that
# can be used in parallel queries
#old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate
# (change requires restart)
#backend_flush_after = 0 # measured in pages, 0 disables
#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------
# - Settings -
#wal_level = replica # minimal, replica, or logical
# (change requires restart)
#fsync = on # flush data to disk for crash safety
# (turning this off can cause
# unrecoverable data corruption)
#synchronous_commit = on # synchronization level;
# off, local, remote_write, remote_apply, or on
#wal_sync_method = fsync # the default is the first option
# supported by the operating system:
# open_datasync
# fdatasync (default on Linux)
# fsync
# fsync_writethrough
# open_sync
#full_page_writes = on # recover from partial page writes
#wal_compression = off # enable compression of full-page writes
#wal_log_hints = off # also do full page writes of non-critical updates
# (change requires restart)
#wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers
# (change requires restart)
#wal_writer_delay = 200ms # 1-10000 milliseconds
#wal_writer_flush_after = 1MB # measured in pages, 0 disables
#commit_delay = 0 # range 0-100000, in microseconds
#commit_siblings = 5 # range 1-1000
# - Checkpoints -
#checkpoint_timeout = 5min # range 30s-1d
#max_wal_size = 1GB
#min_wal_size = 80MB
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
#checkpoint_flush_after = 0 # measured in pages, 0 disables
#checkpoint_warning = 30s # 0 disables
# - Archiving -
#archive_mode = off # enables archiving; off, on, or always
# (change requires restart)
#archive_command = '' # command to use to archive a logfile segment
# placeholders: %p = path of file to archive
# %f = file name only
# e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
#archive_timeout = 0 # force a logfile segment switch after this
# number of seconds; 0 disables
#------------------------------------------------------------------------------
# REPLICATION
#------------------------------------------------------------------------------
# - Sending Server(s) -
# Set these on the master and on any standby that will send replication data.
#max_wal_senders = 10 # max number of walsender processes
# (change requires restart)
#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
#wal_sender_timeout = 60s # in milliseconds; 0 disables
#max_replication_slots = 10 # max number of replication slots
# (change requires restart)
#track_commit_timestamp = off # collect timestamp of transaction commit
# (change requires restart)
# - Master Server -
# These settings are ignored on a standby server.
#synchronous_standby_names = '' # standby servers that provide sync rep
# method to choose sync standbys, number of sync standbys,
# and comma-separated list of application_name
# from standby(s); '*' = all
#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
# - Standby Servers -
# These settings are ignored on a master server.
#hot_standby = on # "off" disallows queries during recovery
# (change requires restart)
#max_standby_archive_delay = 30s # max delay before canceling queries
# when reading WAL from archive;
# -1 allows indefinite delay
#max_standby_streaming_delay = 30s # max delay before canceling queries
# when reading streaming WAL;
# -1 allows indefinite delay
#wal_receiver_status_interval = 10s # send replies at least this often
# 0 disables
#hot_standby_feedback = off # send info from standby to prevent
# query conflicts
#wal_receiver_timeout = 60s # time that receiver waits for
# communication from master
# in milliseconds; 0 disables
#wal_retrieve_retry_interval = 5s # time to wait before retrying to
# retrieve WAL after a failed attempt
# - Subscribers -
# These settings are ignored on a publisher.
#max_logical_replication_workers = 4 # taken from max_worker_processes
# (change requires restart)
#max_sync_workers_per_subscription = 2 # taken from max_logical_replication_workers
#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------
# - Planner Method Configuration -
#enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_indexonlyscan = on
#enable_material = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on
# - Planner Cost Constants -
#seq_page_cost = 1.0 # measured on an arbitrary scale
#random_page_cost = 4.0 # same scale as above
#cpu_tuple_cost = 0.01 # same scale as above
#cpu_index_tuple_cost = 0.005 # same scale as above
#cpu_operator_cost = 0.0025 # same scale as above
#parallel_tuple_cost = 0.1 # same scale as above
#parallel_setup_cost = 1000.0 # same scale as above
#min_parallel_table_scan_size = 8MB
#min_parallel_index_scan_size = 512kB
#effective_cache_size = 4GB
# - Genetic Query Optimizer -
#geqo = on
#geqo_threshold = 12
#geqo_effort = 5 # range 1-10
#geqo_pool_size = 0 # selects default based on effort
#geqo_generations = 0 # selects default based on effort
#geqo_selection_bias = 2.0 # range 1.5-2.0
#geqo_seed = 0.0 # range 0.0-1.0
# - Other Planner Options -
#default_statistics_target = 100 # range 1-10000
#constraint_exclusion = partition # on, off, or partition
#cursor_tuple_fraction = 0.1 # range 0.0-1.0
#from_collapse_limit = 8
#join_collapse_limit = 8 # 1 disables collapsing of explicit
# JOIN clauses
#force_parallel_mode = off
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
#log_destination = 'stderr' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
#logging_collector = off # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
#log_directory = 'log' # directory where log files are written,
# can be absolute or relative to PGDATA
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
#log_file_mode = 0600 # creation mode for log files,
# begin with 0 to use octal notation
#log_truncate_on_rotation = off # If on, an existing log file with the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
# time-driven rotation, not on restarts
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
#log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 disables.
#log_rotation_size = 10MB # Automatic rotation of logfiles will
# happen after that much log output.
# 0 disables.
# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'
#syslog_sequence_numbers = on
#syslog_split_messages = on
# This is only relevant when logging to eventlog (win32):
# (change requires restart)
#event_source = 'PostgreSQL'
# - When to Log -
#client_min_messages = notice # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# log
# notice
# warning
# error
#log_min_messages = warning # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic
#log_min_error_statement = error # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic (effectively off)
#log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this number
# of milliseconds
# - What to Log -
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_error_verbosity = default # terse, default, or verbose messages
#log_hostname = off
#log_line_prefix = '%m [%p] ' # special values:
# %a = application name
# %u = user name
# %d = database name
# %r = remote host and port
# %h = remote host
# %p = process ID
# %t = timestamp without milliseconds
# %m = timestamp with milliseconds
# %n = timestamp with milliseconds (as a Unix epoch)
# %i = command tag
# %e = SQL state
# %c = session ID
# %l = session line number
# %s = session start timestamp
# %v = virtual transaction ID
# %x = transaction ID (0 if none)
# %q = stop here in non-session
# processes
# %% = '%'
# e.g. '<%u%%%d> '
#log_lock_waits = off # log lock waits >= deadlock_timeout
#log_statement = 'none' # none, ddl, mod, all
#log_replication_commands = off
#log_temp_files = -1 # log temporary files equal or larger
# than the specified size in kilobytes;
# -1 disables, 0 logs all temp files
#log_timezone = 'GMT'
# - Process Title -
#cluster_name = '' # added to process titles if nonempty
# (change requires restart)
#update_process_title = on
#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------
# - Query/Index Statistics Collector -
#track_activities = on
#track_counts = on
#track_io_timing = off
#track_functions = none # none, pl, all
#track_activity_query_size = 1024 # (change requires restart)
#stats_temp_directory = 'pg_stat_tmp'
# - Statistics Monitoring -
#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off
#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------
#autovacuum = on # Enable autovacuum subprocess? 'on'
# requires track_counts to also be on.
#log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and
# their durations, > 0 logs only
# actions running at least this number
# of milliseconds.
#autovacuum_max_workers = 3 # max number of autovacuum subprocesses
# (change requires restart)
#autovacuum_naptime = 1min # time between autovacuum runs
#autovacuum_vacuum_threshold = 50 # min number of row updates before
# vacuum
#autovacuum_analyze_threshold = 50 # min number of row updates before
# analyze
#autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
# (change requires restart)
#autovacuum_multixact_freeze_max_age = 400000000 # maximum multixact age
# before forced vacuum
# (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
# autovacuum, in milliseconds;
# -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovacuum, -1 means use
# vacuum_cost_limit
#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------
# - Statement Behavior -
#search_path = '"$user", public' # schema names
#default_tablespace = '' # a tablespace name, '' uses the default
#temp_tablespaces = '' # a list of tablespace names, '' uses
# only default tablespace
#check_function_bodies = on
#default_transaction_isolation = 'read committed'
#default_transaction_read_only = off
#default_transaction_deferrable = off
#session_replication_role = 'origin'
#statement_timeout = 0 # in milliseconds, 0 is disabled
#lock_timeout = 0 # in milliseconds, 0 is disabled
#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
#vacuum_multixact_freeze_min_age = 5000000
#vacuum_multixact_freeze_table_age = 150000000
#bytea_output = 'hex' # hex, escape
#xmlbinary = 'base64'
#xmloption = 'content'
#gin_fuzzy_search_limit = 0
#gin_pending_list_limit = 4MB
# - Locale and Formatting -
#datestyle = 'iso, mdy'
#intervalstyle = 'postgres'
#timezone = 'GMT'
#timezone_abbreviations = 'Default' # Select the set of available time zone
# abbreviations. Currently, there are
# Default
# Australia (historical usage)
# India
# You can create your own file in
# share/timezonesets/.
#extra_float_digits = 0 # min -15, max 3
#client_encoding = sql_ascii # actually, defaults to database
# encoding
# These settings are initialized by initdb, but they can be changed.
#lc_messages = 'C' # locale for system error message
# strings
#lc_monetary = 'C' # locale for monetary formatting
#lc_numeric = 'C' # locale for number formatting
#lc_time = 'C' # locale for time formatting
# default configuration for text search
#default_text_search_config = 'pg_catalog.simple'
# - Other Defaults -
#dynamic_library_path = '$libdir'
#local_preload_libraries = ''
#session_preload_libraries = ''
#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------
#deadlock_timeout = 1s
#max_locks_per_transaction = 64 # min 10
# (change requires restart)
#max_pred_locks_per_transaction = 64 # min 10
# (change requires restart)
#max_pred_locks_per_relation = -2 # negative values mean
# (max_pred_locks_per_transaction
# / -max_pred_locks_per_relation) - 1
#max_pred_locks_per_page = 2 # min 0
#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------
# - Previous PostgreSQL Versions -
#array_nulls = on
#backslash_quote = safe_encoding # on, off, or safe_encoding
#default_with_oids = off
#escape_string_warning = on
#lo_compat_privileges = off
#operator_precedence_warning = off
#quote_all_identifiers = off
#standard_conforming_strings = on
#synchronize_seqscans = on
# - Other Platforms and Clients -
#transform_null_equals = off
#------------------------------------------------------------------------------
# ERROR HANDLING
#------------------------------------------------------------------------------
#exit_on_error = off # terminate session on any error?
#restart_after_crash = on # reinitialize after backend crash?
#------------------------------------------------------------------------------
# CONFIG FILE INCLUDES
#------------------------------------------------------------------------------
# These options allow settings to be loaded from files other than the
# default postgresql.conf.
#include_dir = 'conf.d' # include files ending in '.conf' from
# directory 'conf.d'
#include_if_exists = 'exists.conf' # include file only if it exists
#include = 'special.conf' # include file
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
# Add settings for extensions here

23
factorio/README.md Normal file
View File

@ -0,0 +1,23 @@
# Factorio
#### The Factorio Server
The server supports mods
#### from the developers
Factorio is a game in which you build and maintain factories.
You will be mining resources, researching technologies, building infrastructure, automating production and fighting enemies. Use your imagination to design your factory, combine simple elements into ingenious structures, apply management skills to keep it working, and protect it from the creatures who don't really like you.
The game is very stable and optimized for building massive factories. You can create your own maps, write mods in Lua, or play with friends via Multiplayer.
Factorio has been in development since the spring of 2012. So far over 1,400,000 people have bought the game. You can get it from [Steam](https://store.steampowered.com/app/427520/), [GOG](https://www.gog.com/game/factorio), or directly from their [shop](https://factorio.com/buy).
New to the game? Make sure to checkout their [starter page](https://factorio.com/starter-page).
### Server Ports
Factorio requires a single port
| Port | default |
|---------|---------|
| Game | 34197 |

View File

@ -0,0 +1,126 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-29T02:28:44-04:00",
"name": "Factorio",
"author": "parker@parkervcp.com",
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
"image": "quay.io\/pterodactyl\/core:glibc",
"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}",
"startup": "{\r\n \"done\": \"Hosting game at IP ADDR\",\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]\\.[0-9][0-9] | [0-9]\\.[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} --map-settings data\/map-settings.json --map-gen-settings data\/map-gen-settings.json\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi",
"container": "frolvlad\/alpine-glibc",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Factorio Version",
"description": "Which version of Factorio to install and use.",
"env_variable": "FACTORIO_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|between:3,12"
},
{
"name": "Maximum Slots",
"description": "Total number of slots to allow on the server.",
"env_variable": "MAX_SLOTS",
"default_value": "20",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Save Name",
"description": "The save name for the server.",
"env_variable": "SAVE_NAME",
"default_value": "gamesave",
"user_viewable": 1,
"user_editable": 1,
"rules": "alpha_dash|between:1,100"
},
{
"name": "Server Token",
"description": "Your factorio.com token, it is required for your server to be visible in the public server list.",
"env_variable": "SERVER_TOKEN",
"default_value": "undefined",
"user_viewable": 1,
"user_editable": 1,
"rules": "alpha_num|max:100"
},
{
"name": "Server Name",
"description": "Name of the game as it will appear in the game listing",
"env_variable": "SERVER_NAME",
"default_value": "Factorio Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:100"
},
{
"name": "Server Description",
"description": "Description of the game that will appear in the listing.",
"env_variable": "SERVER_DESC",
"default_value": "Description",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:200"
},
{
"name": "Server Username",
"description": "Username used for the server",
"env_variable": "SERVER_USERNAME",
"default_value": "unnamed",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:40"
},
{
"name": "Auto Save Interval",
"description": "Time between auto saves specified in minutes",
"env_variable": "SAVE_INTERVAL",
"default_value": "10",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Auto Save Slots",
"description": "The number of auto saves to keep.",
"env_variable": "SAVE_SLOTS",
"default_value": "5",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "AFK Kick",
"description": "Time specified in minutes to kick AFK players.\r\n0 is off",
"env_variable": "AFK_KICK",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Server Password",
"description": "Password to join the server, Blank is none.",
"env_variable": "SERVER_PASS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|max:30"
}
]
}

14
gta/README.md Normal file
View File

@ -0,0 +1,14 @@
# Grand Theft Auto
## GTA V
[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 Multiplayer is an multiplayer modification for Grand Theft Auto V that is alternative to GTA Online.
## San Andreas
[GTA SA:MP](https://www.sa-mp.com/)
SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).

3
gta/fivem/README.md Normal file
View File

@ -0,0 +1,3 @@
# FiveM
The [FiveM](https://fivem.net/) GTA 5 dedicated server
- Only installs latest version versions are not selectable.

54
gta/fivem/egg-five-m.json Normal file
View File

@ -0,0 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-17T10:59:42-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",
"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}",
"startup": "{\r\n \"done\": \"Server license key authentication 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\/ | tail -4 | head -1 | cut -d'\"' -f2`\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.7",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "fivem license",
"description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/",
"env_variable": "FIVEM_LICENSE",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
},
{
"name": "Max Players",
"description": "Set the fivem max play count",
"env_variable": "MAX_PLAYERS",
"default_value": "30",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|integer|between:1,32"
},
{
"name": "Server Hostname",
"description": "The name that shows up in the server browser",
"env_variable": "SERVER_HOSTNAME",
"default_value": "My new FXServer!",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}

View File

@ -1,5 +1,4 @@
# you probably don't want to change these!
# only change them if you're using a server with multiple network interfaces
# only change these if you're using a server with multiple network interfaces
endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120"
@ -13,11 +12,16 @@ start rconlog
start scoreboard
start playernames
# allow client mods such as Lamda Menu?
sv_scriptHookAllowed 1
# change this
#rcon_password yay
# 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!"
# nested configs!
@ -29,10 +33,10 @@ sv_hostname "My new FXServer!"
# convars for use from script
set temp_convar "hey world!"
# disable announcing? clear out the master by uncommenting this
# Uncomment to DISABLE your server coming up in the server list
#sv_master1 ""
# want to only allow players authenticated with a third-party provider like Steam?
# 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
@ -44,5 +48,5 @@ add_principal identifier.steam:110000112345678 group.admin # add the admin to th
# remove the # to hide player endpoints in external log output
#sv_endpointprivacy true
# server slots limit (must be between 1 and 31)
sv_maxclients 30
# server slots limit (must be between 1 and 32)
sv_maxclients 32

2
gta/ragemp/README.MD Normal file
View File

@ -0,0 +1,2 @@
# Rage-MP
The [Rage-MP](https://rage.mp/) GTA 5 dedicated server

9
gta/ragemp/conf.json Normal file
View File

@ -0,0 +1,9 @@
{
"announce": false,
"bind": "0.0.0.0",
"gamemode": "freeroam",
"name": "RAGE:MP Unofficial server",
"maxplayers": 100,
"port": 26011,
"streamdistance": 500
}

View File

@ -0,0 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-06-03T00:48:50-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",
"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}",
"startup": "{\r\n \"done\": \"Started HTTP server\"\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"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",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "Server name that will be displayed to the master server. (64 Char max)",
"env_variable": "SERVER_NAME",
"default_value": "RAGE:MP Unofficial server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Max Players",
"description": "Maximum number of players your server will hold. (Max 100)",
"env_variable": "MAX_PLAYERS",
"default_value": "50",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|integer|between:1,100"
},
{
"name": "Announce",
"description": "Announce to the master server so people can see you in their server browser.",
"env_variable": "ANNOUNCE",
"default_value": "false",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|boolean"
}
]
}

2
gta/samp/README.md Normal file
View File

@ -0,0 +1,2 @@
# SA:MP
The [SA:MP](https://www.sa-mp.com/) GTA San Andreas dedicated server

17
mb_warband/README.md Normal file
View File

@ -0,0 +1,17 @@
# Mount & Blade Warband
Mount & Blade: Warband is a stand alone expansion pack for the game that brought medieval battlefields to life with its realistic mounted combat and detailed fighting system. Many modifications have been developed to bring the Warband universe into different eras, including the popular Napoleonic Wars DLC, among many others, featuring battles of up to concurrent 200 players.
### Server Ports
Warband requires a single port (default 7240)
| Port | default |
|---------|---------|
| Game | 7240 |
### Other Notes
* The server can only use the main IP address of the node due to limitations in the way Warband's server reporting system operates, no alias or secondary IP addresses can be used.
* A complete list of modules supported by this egg can be found [here](https://github.com/masonr/pterodactyl-images/tree/mb-warband), the module name will need to be copied exactly as shown.
* The current module can be changed at any time and will automatically download the new files upon restart after changing the module name

View File

@ -0,0 +1,81 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-28T22:01:58-04:00",
"name": "M&B Warband",
"author": "mason@rowe.sh",
"description": "Mount & Blade Warband server",
"image": "masonr\/pterodactyl-images:mb-warband",
"startup": "WINEDEBUG=\"fixme-all\" wine mb_warband_dedicated.exe -r Config.txt -m {{MODULE}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Starting mission\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"Logs\/\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt update\r\napt install -y wget dos2unix\r\ncd \/mnt\/server\/\r\n\r\nif [[ -z \"$MODULE\" ]] ; then\r\n\tMODULE=\"Native\"\r\nfi\r\n\r\n# Download helper script with all server file links\r\nwget \"https:\/\/files.rowe.sh\/pterodactyl\/mb-warband\/mb-warband-links.sh\"\r\nchmod +x mb-warband-links.sh\r\n\r\n# Generate links for server files\r\nMODULE_BASE_LINK=`.\/mb-warband-links.sh link \"$MODULE\" base`\r\nMODULE_LINK=`.\/mb-warband-links.sh link \"$MODULE\" mod`\r\n\r\n# Ensure module files link has been obtained, exit if not\r\nif [[ -z \"$MODULE_LINK\" ]] ; then\r\n\techo \"ERROR: Module name was mistyped or is not currently supported.\"\r\n\techo \"Available modules:\"\r\n\t.\/mb-warband-links.sh modules\r\n\texit 1\r\nfi\r\n\r\n# Install base server files, if needed\r\nif [[ ! -z \"$MODULE_BASE_LINK\" ]] ; then\r\n\twget -qO- $MODULE_BASE_LINK | tar xvz --strip-components=1\r\nfi\r\n\r\n# Install module files\r\nwget -qO- $MODULE_LINK | tar xvz --strip-components=1\r\ncp -rf \"$MODULE\"_Sample_Config.txt Config.txt\r\ndos2unix Config.txt\r\n\r\necho \"Module: $MODULE has been sucessfully installed.\"\r\nrm mb-warband-links.sh\r\n\r\n# Edit Server Name ($SERVER_NAME)\r\nsed -i 's\/.*set_server_name.*\/set_server_name '\"$SERVER_NAME\"'\/g' Config.txt\r\n\r\n# Edit Server Admin Password ($ADMIN_PASSWORD)\r\nsed -i 's\/.*set_pass_admin.*\/set_pass_admin '\"$ADMIN_PASS\"'\/g' Config.txt\r\n\r\n# Edit Server Password ($SERVER_PASS)\r\nsed -i 's\/.*set_pass .*\/set_pass '\"$SERVER_PASS\"'\/g' Config.txt\r\nsed -i 's\/.*set_pass$\/set_pass '\"$SERVER_PASS\"'\/g' Config.txt\r\n\r\n# Edit Server Welcome Message ($MOTD)\r\nsed -i 's\/.*set_welcome_message.*\/set_welcome_message '\"$MOTD\"'\/g' Config.txt\r\n\r\n# Edit Player Count ($PLAYERS)\r\nsed -i 's\/.*set_max_players.*\/set_max_players '\"$PLAYERS\"' '\"$PLAYERS\"'\/g' Config.txt\r\n\r\n# Edit Server Port ($SERVER_PORT)\r\nsed -i 's\/.*set_port.*\/set_port '\"$SERVER_PORT\"'\/g' Config.txt",
"container": "ubuntu:16.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Module",
"description": "Name of the module. For a full list of supported modules visit --- https:\/\/github.com\/masonr\/pterodactyl-images\/tree\/mb-warband --- and copy the module name from the first column exactly as shown.",
"env_variable": "MODULE",
"default_value": "Native",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:200"
},
{
"name": "Player Count",
"description": "Number of players",
"env_variable": "PLAYERS",
"default_value": "32",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|integer|max:200"
},
{
"name": "Server Name",
"description": "Name of the game server",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl_Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:100"
},
{
"name": "Admin Password",
"description": "Password for admin login",
"env_variable": "ADMIN_PASS",
"default_value": "ptero",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:50"
},
{
"name": "Welcome Message",
"description": "Welcome message \/ MOTD",
"env_variable": "MOTD",
"default_value": "Welcome!",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:500"
},
{
"name": "Server Password",
"description": "Password for the server.\r\nLeave blank to keep server unlocked.",
"env_variable": "SERVER_PASS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:50"
}
]
}

49
minecraft/README.md Normal file
View File

@ -0,0 +1,49 @@
# 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.
## 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)
[PaperMC GitHub](https://github.com/PaperMC/Paper)
High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
[Taco Spigot GitHub](https://github.com/TacoSpigot/TacoSpigot)
An even-higher higher performance PaperSpigot fork that adds new features.
## 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 Revelation](https://www.feed-the-beast.com/projects/ftb-revelation)
Revelation is a general all-purpose modpack with optimal FPS, server performance and stability.
#### 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!

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-19T01:01:29-04:00",
"exported_at": "2018-08-02T16:56:12-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.",
@ -17,7 +17,7 @@
},
"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\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n FORGE_URL=http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/\r\nelse\r\n FORGE_URL=http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/index_$MC_VERSION.html\r\nfi\r\n\r\n echo \"MC version is $MC_VERSION\"\r\n echo \"Forge URL is $FORGE_URL\"\r\n\r\nGET_VERSIONS=$(curl -sl $FORGE_URL | grep -A1 Recommended | grep -o -E '[0-9]+\\.[0-9]+\\.[0-9]+ - [0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+')\r\nLATEST_VERSION=$(echo $GET_VERSIONS | sed 's\/ \/\/g')\r\n\r\necho \"full forge versions to download is $LATEST_VERSION\"\r\n\r\ncd \/mnt\/server\r\n\r\necho \"getting installer from 'http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$MC_VERSION\/forge-$LATEST_VERSION-installer.jar'\"\r\ncurl -sS http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$LATEST_VERSION\/forge-$LATEST_VERSION-installer.jar -o installer.jar\r\necho \"getting universal jar from 'http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$LATEST_VERSION\/forge-$LATEST_VERSION-universal.jar'\"\r\ncurl -sS http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/$LATEST_VERSION\/forge-$LATEST_VERSION-universal.jar -o server.jar\r\n\r\njava -jar installer.jar --installServer\r\nrm -rf installer.jar",
"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\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n INSTALLER_JAR=$(curl -sl http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/ | grep -A50 Recommended | grep installer.jar | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\" | tail -1)\r\n UNIVERSAL_JAR=$(curl -sl http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/ | grep -A50 Recommended | grep universal.jar | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\" | tail -1)\r\nelse\r\n INSTALLER_JAR=$(curl -sl http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/index_$MC_VERSION.html | grep -A50 Recommended | grep installer.jar | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\" | tail -1)\r\n UNIVERSAL_JAR=$(curl -sl http:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/index_$MC_VERSION.html | grep -A50 Recommended | grep universal.jar | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\" | tail -1)\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting installer from $INSTALLER_JAR\"\r\ncurl -Sl $INSTALLER_JAR -o installer.jar\r\n\r\necho -e \"getting universal jar from $UNIVERSAL_JAR\"\r\ncurl -Sl $UNIVERSAL_JAR -o server.jar\r\n\r\njava -jar installer.jar --installServer\r\nrm -rf installer.jar\r\n\r\necho \"Install complete\"",
"container": "frolvlad\/alpine-oraclejdk8:cleaned",
"entrypoint": "ash"
}
@ -42,4 +42,4 @@
"rules": "required|string|max:20"
}
]
}
}

View File

@ -0,0 +1,9 @@
# Forge Generic
### 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>`
This will grabe the latest release when the version is set to latest.
It "should" grab versions of the pack based on the modpack version numbers

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-15T12:35:48-04:00",
"name": "Forge Generic",
"author": "parker@parkervcp.com",
"description": "A generic egg for a forge modpack",
"image": "quay.io\/pterodactyl\/core:java",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar 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\/ash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk update\r\napk add curl\r\n\r\nBASE_URL=${MODPACK_URL}\/files\r\n\r\nif [ -z \"${MODPACK_VERSION}\" ] || [ \"${MODPACK_VERSION}\" == \"latest\" ]; then\r\n ID=`curl -sl ${BASE_URL} | grep -i -A9 'title=\"release\"' | grep -m 1 -i -o 'href=\".*\"' | cut -d \"\/\" -f5 | sed s\/\\\"\/\/g`\r\n echo \"ID: ${ID}\"\r\nelse \r\n ID=`curl -sl ${BASE_URL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m 1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f5 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n\r\nSECONDURL=${BASE_URL}\/${ID}\r\necho \"SECONDURL: ${SECONDURL}\"\r\n\r\nGOOD_ID=`curl -sl ${SECONDURL} | grep -i server | grep -Eo 'href=\"[^\\\"]+\"' | grep -o -E \"[0-9]+\" | tail -1`\r\necho \"GOOD_ID: ${GOOD_ID}\"\r\n\r\nDL_URL=${BASE_URL}\/${GOOD_ID}\/download\r\necho \"Download_URL: ${DL_URL}\"\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Executing curl -L ${DL_URL} -o server.zip\"\r\ncurl -L ${DL_URL} -o server.zip\r\n\r\nunzip server.zip\r\n\r\nrm -rf server.zip\r\n\r\necho -e \"\\nInstalling forge server usint the installer jar file.\\n\"\r\njava -jar *installer.jar --installServer\r\n\r\necho -e \"\\nDeleting installer jar file and cleaning up.\\n\"\r\nrm -rf *installer.jar\r\n\r\nmv *universal.jar server.jar",
"container": "frolvlad\/alpine-oraclejdk8:cleaned",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "modpack URL",
"description": "The modpack URL from the curseforge site.\r\n\r\n(Ex. https:\/\/minecraft.curseforge.com\/projects\/sevtech-ages)",
"env_variable": "MODPACK_URL",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Modpack Version",
"description": "Version of the modpack to use.",
"env_variable": "MODPACK_VERSION",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-23T11:15:04-04:00",
"exported_at": "2018-04-02T17:20:55-04:00",
"name": "Feed the Beast",
"author": "aevum@decess.us",
"description": "Egg to handle all official FTB Modpacks",
@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Generic FTB Server Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# MODPACK_VERSION = version of the modpack, set in variables\r\n# i.e MODPACK_VERSION=1.5.0\r\n# MODPACK_URL = url base of the pack, set in variables, hardcoded\r\n# i.e https:\/\/www.feed-the-beast.com\/projects\/ftb-revelation\/files\r\n# MODPACK_URL=ftb-revelation\r\n\r\napk add curl --no-cache\r\n\r\n## Correcting for bad variables\r\nGETPACK=$(echo ${MODPACK_URL} | cut -d \"\/\" -f 5 )\r\necho -e \"\\n The pack being downloaded is $GETPACK \\n\"\r\n\r\n## Getting the Base URL\r\nBASEURL=https:\/\/www.feed-the-beast.com\/projects\/${GETPACK}\/files\r\necho \"The base URL is ${BASEURL}\"\r\n\r\n## This is meant to get the pack ID that is unique and not exactly clear \r\n\r\n\r\nif [ -z \"${MODPACK_VERSION}\" ] || [ \"${MODPACK_VERSION}\" == \"latest\" ]; then\r\n ID=`curl -sl ${BASEURL} | grep -i -A9 'title=\"release\"' | grep -i -o 'href=\".*\"' | cut -d \"\/\" -f5 | sed s\/\\\"\/\/g`\r\n echo \"ID: ${ID}\"\r\nelse \r\n ID=`curl -sl ${BASEURL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f5 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\r\nfi\r\n\r\nSECONDURL=${BASEURL}\/${ID}\r\necho \"SECONDURL: ${SECONDURL}\"\r\n\r\nGOOD_ID=`curl -sl ${SECONDURL} | grep -i server | grep -Eo 'href=\"[^\\\"]+\"' | grep -o -E \"[0-9]+\" | tail -1`\r\necho \"GOOD_ID: ${GOOD_ID}\"\r\n\r\nDL_URL=${BASEURL}\/${GOOD_ID}\/download\r\necho \"Download_URL: ${DL_URL}\"\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Executing curl -L ${DL_URL} -o $GETPACK.zip\"\r\ncurl -L ${DL_URL} -o $GETPACK.zip\r\n\r\nunzip ${GETPACK}.zip\r\n\r\nrm -rf ${GETPACK}.zip\r\n\r\nsh .\/FTBInstall.sh",
"script": "#!\/bin\/ash\r\n# Generic FTB Server Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# MODPACK_VERSION = version of the modpack, set in variables\r\n# i.e MODPACK_VERSION=1.5.0\r\n# MODPACK_URL = url base of the pack, set in variables, hardcoded\r\n# i.e https:\/\/www.feed-the-beast.com\/projects\/ftb-revelation\/files\r\n# MODPACK_URL=ftb-revelation\r\n\r\napk add curl --no-cache\r\n\r\n## Correcting for bad variables\r\nGETPACK=$(echo ${MODPACK_URL} | cut -d \"\/\" -f 5 )\r\necho -e \"\\n The pack being downloaded is $GETPACK \\n\"\r\n\r\n## Getting the Base URL\r\nBASEURL=https:\/\/www.feed-the-beast.com\/projects\/${GETPACK}\/files\r\necho \"The base URL is ${BASEURL}\"\r\n\r\n## This is meant to get the pack ID that is unique and not exactly clear \r\n\r\n\r\nif [ -z \"${MODPACK_VERSION}\" ] || [ \"${MODPACK_VERSION}\" == \"latest\" ]; then\r\n ID=`curl -sl ${BASEURL} | grep -i -A9 'title=\"release\"' | grep -i -o 'href=\".*\"' | cut -d \"\/\" -f5 | sed s\/\\\"\/\/g`\r\n echo \"ID: ${ID}\"\r\nelse \r\n ID=`curl -sl ${BASEURL} | grep -i -A9 \"${MODPACK_VERSION}\" | grep -m1 -oE 'href=\"[^\\\"]+\"' | cut -d \"\/\" -f5 | grep -oE [0-9]+`\r\n echo \"ID: ${ID}\"\r\nfi\r\n\r\nSECONDURL=${BASEURL}\/${ID}\r\necho \"SECONDURL: ${SECONDURL}\"\r\n\r\nGOOD_ID=`curl -sl ${SECONDURL} | grep -i server | grep -Eo 'href=\"[^\\\"]+\"' | grep -o -E \"[0-9]+\" | tail -1`\r\necho \"GOOD_ID: ${GOOD_ID}\"\r\n\r\nDL_URL=${BASEURL}\/${GOOD_ID}\/download\r\necho \"Download_URL: ${DL_URL}\"\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Executing curl -L ${DL_URL} -o $GETPACK.zip\"\r\ncurl -L ${DL_URL} -o $GETPACK.zip\r\n\r\nunzip ${GETPACK}.zip\r\n\r\nrm -rf ${GETPACK}.zip\r\n\r\necho \"Running FTBInstall.sh\"\r\n\r\nsh .\/FTBInstall.sh",
"container": "alpine:3.7",
"entrypoint": "ash"
}

View File

@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Paper Spigot 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\nif [ -z \"${DL_VERSION}\" ] || [ \"${DL_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=\"lastSucessfulBuild\"\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.destroystokyo.com\/job\/Paper\/${DL_VERSION}\/artifact\/paperclip.jar",
"script": "#!\/bin\/ash\r\n# Paper Spigot 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\nif [ -z \"${DL_VERSION}\" ] || [ \"${DL_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=\"lastSuccessfulBuild\"\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.destroystokyo.com\/job\/Paper\/${DL_VERSION}\/artifact\/paperclip.jar",
"container": "alpine:3.4",
"entrypoint": "ash"
}
@ -42,4 +42,4 @@
"rules": "required|string|between:3,7"
}
]
}
}

View File

@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Taco Spigot 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\nif [ -z \"${DL_VERSION}\" ] || [ \"${DL_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=\"lastSucessfulBuild\"\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.techcable.net\/job\/TacoSpigot\/${DL_VERSION}\/artifact\/build\/TacoSpigot.jar",
"script": "#!\/bin\/ash\r\n# Taco Spigot 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\nif [ -z \"${DL_VERSION}\" ] || [ \"${DL_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=\"lastSuccessfulBuild\"\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} https:\/\/ci.techcable.net\/job\/TacoSpigot\/${DL_VERSION}\/artifact\/build\/TacoSpigot.jar",
"container": "alpine:3.4",
"entrypoint": "ash"
}
@ -42,4 +42,4 @@
"rules": "required|string|between:3,7"
}
]
}
}

9
minecraft_pe/README.md Normal file
View File

@ -0,0 +1,9 @@
# Minecraft PE (bedrock edition)
#### Nukkit
[Nukkit GitHub](https://github.com/Nukkit/Nukkit)
Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition
#### PocketMine MP
[PockletMine MP](https://github.com/pmmp/PocketMine-MP)
A server software for Minecraft: Bedrock Edition in PHP

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-03-01T08:34:01-05:00",
"exported_at": "2018-05-13T20:03:45+00: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,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget http:\/\/ci.mengcraft.com:8080\/job\/nukkit\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget http:\/\/ci.mengcraft.com:8080\/job\/nukkit\/${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%20PE\/nukkit\/nukkit.yml",
"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\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/nukkit\/${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%20PE\/nukkit\/nukkit.yml\r\n\r\nwget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/Minecraft%20PE\/nukkit\/server.properties",
"container": "alpine:3.7",
"entrypoint": "ash"
}
@ -37,7 +37,7 @@
"description": "A URL to use to download Spigot rather than building it on the server. This is not user viewable. Use <code>{{DL_VERSION}}<\/code> in the URL to automatically insert the assigned version into the URL. If you do not enter a URL Spigot will build directly in the container (this will fail on low memory containers).",
"env_variable": "DL_PATH",
"default_value": "",
"user_viewable": 1,
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},

View File

@ -0,0 +1,31 @@
#Properties Config file
#2018-05-13 08:00:20
motd=Nukkit Server For Minecraft: PE
sub-motd=Powered by Nukkit
server-port=19132
server-ip=0.0.0.0
view-distance=10
white-list=off
achievements=on
announce-player-achievements=on
spawn-protection=16
max-players=20
allow-flight=off
spawn-animals=on
spawn-mobs=on
gamemode=0
force-gamemode=off
hardcore=off
pvp=on
difficulty=1
generator-settings=
level-name=world
level-seed=
level-type=DEFAULT
enable-query=on
enable-rcon=off
rcon.password=wMDM2Y2EwN
auto-save=on
force-resources=off
bug-report=on
xbox-auth=on

View File

@ -0,0 +1,26 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-03T15:36:00-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\/pterodactyl\/core:glibc",
"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}",
"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\": \"server.log\"\r\n}",
"stop": "stop"
},
"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 latest pocketmine MP build\"\r\ncurl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\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-Aggregate\/6\/artifact\/PHP-7.2-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%20PE\/PocketmineMP\/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.7",
"entrypoint": "ash"
}
},
"variables": []
}

View File

@ -0,0 +1,28 @@
#Properties Config file
#Tue Jul 3 19:14:16 UTC 2018
motd=PocketMine-MP Server
server-port=25573
white-list=off
announce-player-achievements=on
spawn-protection=16
max-players=20
allow-flight=off
spawn-animals=on
spawn-mobs=on
gamemode=0
force-gamemode=off
hardcore=off
pvp=on
difficulty=1
generator-settings=
level-name=world
level-seed=
level-type=DEFAULT
enable-query=true
enable-rcon=off
rcon.password=BhPTpB1bvi
auto-save=on
view-distance=8
xbox-auth=on
server-ip=0.0.0.0
query.port=25573

View File

View File

@ -0,0 +1,16 @@
# 7 Days to Die
Steam Description
Set in a brutally unforgiving post-apocalyptic world overrun by the undead, 7 Days to Die is an open-world game that is a unique combination of first person shooter, survival horror, tower defense, and role-playing games. It presents combat, crafting, looting, mining, exploration, and character growth, in a way that has seen a rapturous response from fans worldwide. Play the definitive zombie survival sandbox RPG that came first. Navezgane awaits!
### Server Ports
7 Days to Die requires up to 6 ports
game ports (default 26900-26902)
remote control (default 8080, 8081)
allocs webmap (default 8082)
| Port | default |
|---------|---------------|
| Game | 26900 - 26902 |
| RCON | 8080 - 8081 |
| webmap | 8082 |

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-07T19:23:03-04:00",
"name": "7 Days To Die",
"author": "kristoffer.norman@bahnhof.se",
"description": "7 days to die server",
"image": "quay.io\/parkervcp\/pterodactyl-images:7daystodie",
"startup": "-ServerPort=${{SERVER_PORT}} -ServerMaxPlayerCount=${{MAX_PLAYERS}} -GameDifficulty=${{GAME_DIFFICULTY}} -ControlPanelEnabled=false -TelnetEnabled=true -TelnetPort=8081",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Connected with 7DTD server\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "shutdown"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# 7 days to die 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.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 294420 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Max Players",
"description": "Maximum Concurrent Players",
"env_variable": "MAX_PLAYERS",
"default_value": "8",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Game Difficulty",
"description": "0 - 5, 0=easiest, 5=hardest",
"env_variable": "GAME_DIFFICULTY",
"default_value": "2",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|integer|between:0,5"
}
]
}

View File

@ -0,0 +1,13 @@
# PixARK
Welcome to PixARK, a vast, wild world filled with vicious dinosaurs, magical creatures and endless adventure! To survive in this mysterious land, you must tame creatures both ferocious and cuddly, craft high tech and magical tools, and build your own base out of cubes.
### Server Ports
PixARK requires 4 ports
| Port | default |
|-------|---------|
| Game | 27015 |
| Query | 27016 |
| RCON | 27017 |
| cube | 27018 |

View File

@ -0,0 +1,90 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-06-07T12:39:45-04:00",
"name": "PixARK",
"author": "hello@venatus.digital",
"description": "A simple Docker container with Wine to run PixARK using Pterodactyl Panel",
"image": "quay.io\/parkervcp\/pterodactyl-images:wine-source",
"startup": "wine64 .\/ShooterGame\/Binaries\/Win64\/PixARKServer.exe CubeWorld_Light?listen?MaxPlayers={{MAX_PLAYERS}}?Port={{SERVER_PORT}}?QueryPort={{QPORT}}?RCONPort={{RCPORT}}?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?CULTUREFORCOOKING=en -NoBattlEye -CubePort={{CUBEPORT}} -cubeworld=world -nosteamclient -NoHangDetection -game -server -log",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Full Startup:\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"Logs\/\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# PixARK: 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\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/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\/mnt\/server\/steamcmd\/steamcmd.sh +@sSteamCmdForcePlatformType windows +login anonymous +force_install_dir \/home\/container +app_update {{SRCDS_APPID}} +quit",
"container": "ubuntu:latest",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Password",
"description": "If specified, players must provide this password to join the server.",
"env_variable": "ARK_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|alpha_dash|between:1,100"
},
{
"name": "Admin Password",
"description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.",
"env_variable": "ARK_ADMIN_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|alpha_dash|between:1,100"
},
{
"name": "Maximum Players",
"description": "Specifies the maximum number of players that can play on the server simultaneously.",
"env_variable": "MAX_PLAYERS",
"default_value": "10",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,4"
},
{
"name": "Query Port",
"description": "The port assigned for use as query port",
"env_variable": "QPORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,5"
},
{
"name": "RCON Port",
"description": "The port assigned for use as RCON port",
"env_variable": "RCPORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,5"
},
{
"name": "Cube Port",
"description": "The port to be used for terrain",
"env_variable": "CUBEPORT",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,5"
},
{
"name": "App ID",
"description": "PixARK Source App ID",
"env_variable": "SRCDS_APPID",
"default_value": "824360",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|numeric"
}
]
}

13
squad/squad/README.md Normal file
View File

@ -0,0 +1,13 @@
# Squad
Squad is an online multiplayer first-person shooter that aims to capture combat realism through communication and teamplay.
### Server Ports
Squad requires 4 ports
| Port | default |
|----------|---------|
| Game | 7787 |
| game +1 | 7788 |
| Query | 27165 |
| Query +1 | 27166 |

5
stock-eggs/README.md Normal file
View File

@ -0,0 +1,5 @@
# Stock pterodactyl eggs
eggs based on the stock [pterodactyl eggs](https://github.com/pterodactyl/panel/tree/develop/database/seeds/eggs)
These are mostly fixes that should make it into the main repo eventually as I pr them over.

View File

@ -0,0 +1,5 @@
# Source Based Games
### Server Ports
Many of these servers will require the steam query ports to be open for the server.
The default steam query port is 27015

View File

@ -0,0 +1,17 @@
# ARK Survival Evolved
#### Port Requirements
The ARK server requires 4 ports minimum.
| Port | default |
|---------|---------|
| Game | 7777 |
| Game +1 | 7778 |
| Query | 27015 |
| RCON | 27020 |
Please note the server may not show up on steam game server lists due to this requirement if all ports are not set/added.
### Server Ports
Many of these servers will require the steam query ports to be open for the server.
The default steam query port is 27015

View File

@ -0,0 +1,90 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-07-07T06:35:40-04:00",
"name": "Ark: Survival Evolved",
"author": "support@pterodactyl.io",
"description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK",
"image": "quay.io\/pterodactyl\/core:source",
"startup": ".\/ShooterGame\/Binaries\/Linux\/ShooterGameServer TheIsland?listen?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?MaxPlayers={{SERVER_MAX_PLAYERS}}?QueryPort={{QUERY_PORT}}?bRawScokets?RCONPort={{RCON_PORT}}",
"config": {
"files": "{\r\n \"ShooterGame\/Saved\/Config\/LinuxServer\/GameUserSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"SessionName=\": \"SessionName={{server.build.env.SESSION_NAME}}\",\r\n \"RCONPort=\": \"RCONPort={{server.build.env.RCON_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 346110\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# ARK: 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\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nHOME=\/mnt\/server\r\nln -s ~\/Steam\/steamapps ~\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Password",
"description": "If specified, players must provide this password to join the server.",
"env_variable": "ARK_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|alpha_dash|between:1,100"
},
{
"name": "Admin Password",
"description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.",
"env_variable": "ARK_ADMIN_PASSWORD",
"default_value": "APa55word",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|alpha_dash|between:1,100"
},
{
"name": "Maximum Players",
"description": "Specifies the maximum number of players that can play on the server simultaneously.",
"env_variable": "SERVER_MAX_PLAYERS",
"default_value": "20",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,4"
},
{
"name": "Game ID",
"description": "The ID corresponding to the game to download and run using SRCDS.",
"env_variable": "SRCDS_APPID",
"default_value": "376030",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Query Port",
"description": "This is the steam query port.",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
},
{
"name": "Session Name",
"description": "The name that shows up in the server list",
"env_variable": "SESSION_NAME",
"default_value": "ARK Server",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "RCON Port",
"description": "This is the rcon port for the server",
"env_variable": "RCON_PORT",
"default_value": "27020",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}

15
terraria/tshock/README.md Normal file
View File

@ -0,0 +1,15 @@
# TShock
TShock provides Terraria servers with server-side characters, anti-cheat, and community management tools. https://tshock.co/
### From their GitHub
TShock is a toolbox for Terraria servers and communities. That toolbox is jam packed with anti-cheat tools, server-side characters, groups, permissions, item bans, tons of commands, and limitless potential. It's one of a kind.
### Server Ports
TShock, like Terraria, only requires a single port to run. The default is 7777
| Port | default |
|---------|---------|
| Game | 7777 |
Plugins may require ports to be added to the server.

View File

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

View File

@ -0,0 +1,45 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2018-04-27T21:30:05+00:00",
"name": "RocketMod",
"author": "isaac@isaacs.site",
"description": "The RocketMod server mod for Unturned.",
"image": "tenten8401\/pterodactyl-unturned",
"startup": "mono RocketLauncher.exe unturned",
"config": {
"files": "{\r\n \"Servers\/unturned\/Server\/Commands.dat\": {\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\": \"Loading level: 100%\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "shutdown"
},
"scripts": {
"installation": {
"script": "apt 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\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformBitness 32 +login \"${STEAM_USER}\" \"${STEAM_PASS}\" +force_install_dir \/mnt\/server +app_update 304930 +quit\r\n\r\nmkdir -p \/mnt\/server\/Servers\/unturned\/Server\r\necho \"Port 27015\" > \/mnt\/server\/Servers\/unturned\/Server\/Commands.dat\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so",
"container": "ubuntu:16.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Account Name",
"description": "A Steam username w\/ Unturned on the account.",
"env_variable": "STEAM_USER",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "required"
},
{
"name": "Account Password",
"description": "The password for the Steam account.",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "required"
}
]
}

10
xonotic/xonotic/README.md Normal file
View File

@ -0,0 +1,10 @@
# Xonotic
The Free and Fast Arena Shooter
### Server Ports
Xonotic requires 1 port
| Port | default |
|-------|---------|
| Game | 26000 |

View File

@ -8,7 +8,7 @@
"author": "parker@parkervcp.com",
"description": "This is for the default xonotic setup.",
"image": "quay.io\/pterodactyl\/core:source",
"startup": ".\/xonotic-linux64-dedicated +log_file latest.log +net_address 0.0.0.0 +port {{DEFAULT_PORT}} +maxplayers {{MAX_PLAYERS}}",
"startup": ".\/xonotic-linux64-dedicated +log_file latest.log +net_address 0.0.0.0 +port {{SERVER_PORT}} +maxplayers {{MAX_PLAYERS}}",
"config": {
"files": "{\r\n \"tshock\/config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {}\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server listening on address 0.0.0.0:\",\r\n \"userInteraction\": []\r\n}",
@ -33,4 +33,4 @@
"rules": "required|numeric|digits_between:1,3"
}
]
}
}