1
0
mirror of https://github.com/parkervcp/eggs.git synced 2024-10-06 23:57:07 +02:00

Merge branch 'master' into add/pavlov

This commit is contained in:
Thomas Selwyn 2021-03-18 12:24:52 -04:00 committed by GitHub
commit 6545582cd8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
62 changed files with 1891 additions and 901 deletions

View File

@ -76,7 +76,11 @@ If you are reading this it looks like you are looking to add an egg to your serv
[ET Legacy](/enemy_territory/etlegacy)
[Factorio](/factorio/factorio)
[FTL: Tachyon](/ftl/tachyon)
[Factorio](/factorio)
* [Vanilla](/factorio/factorio)
* [ModUpdate](/factorio/factorio-modupdate)
[Grand Theft Auto](/gta)
* GTA V
@ -155,10 +159,12 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Hurtworld](/steamcmd_servers/hurtworld)
* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm)
* [Killing Floor 2](/steamcmd_servers/killing_floor_2)
* [Modiverse](/steamcmd_servers/modiverse)
* [Mordhau](/steamcmd_servers/mordhau)
* [Onset](/steamcmd_servers/onset)
* [Pavlov VR](/steamcmd_servers/pavlov_vr)
* [PixARK](/steamcmd_servers/pixark)
* [Post Scriptum](/steamcmd_servers/post_scriptum)
* [Project Zomboid](/steamcmd_servers/project_zomboid)
* [Quake Live](/steamcmd_servers/quake_live)
* [Rising World](/steamcmd_servers/rising_world)
@ -169,14 +175,19 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [dedicated](/steamcmd_servers/scpsl/dedicated)
* [multiadmin](/steamcmd_servers/scpsl/multiadmin)
* [Soldat](/steamcmd_servers/soldat)
* [Space Engineers](/steamcmd_servers/space_engineers)
* [Squad](/steamcmd_servers/squad)
* [Starbound](/steamcmd_servers/starbound)
* [Stationeers](/steamcmd_servers/stationeers)
* [Stormworks: Build and Rescue](/steamcmd_servers/stormworks)
* [Subnautica: Nitrox Mod](/steamcmd_servers/subnautica_nitrox_mod)
* [Sven Co-op](/steamcmd_servers/svencoop)
* [The Forest](/steamcmd_servers/the_forest)
* [Team Fortress 2 Classic](/steamcmd_servers/team_fortress_2_classic)
* [Unturned](/steamcmd_servers/unturned)
* [Valheim](/steamcmd_servers/valheim)
* [Valheim Vanilla](/steamcmd_servers/valheim/valheim_vanilla)
* [Valheim Plus Mod](/steamcmd_servers/valheim/valheim_plus)
[Teeworlds](/teeworlds)
* [Teeworlds](/teeworlds/teeworlds)
@ -193,10 +204,16 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Tower Unite](/unreal_engine/tower_unite)
* [Tower Unite](/steamcmd_servers/tower_unite)
[Vintage Story](/vintage_story/vintage_story)
[Xonotic](/xonotic/xonotic)
## [Storage](/storage/)
### S3 Storage
* [minio](/storage/minio)
* [minio](/storage/minio)
## [Software](/software/)
### Code Server
* [Code-Server](/software/code-server)

View File

@ -1,18 +1,21 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-11-18T00:37:48+02:00",
"exported_at": "2021-01-29T22:41:09+02:00",
"name": "JMusicBot",
"author": "parker@parkervcp.com",
"description": "A Discord music bot that's easy to set up and run yourself!",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre",
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre"
],
"startup": "java -Djavax.accessibility.assistive_technologies=\" \" -Dnogui=true -jar JMusicBot.jar",
"config": {
"files": "{\r\n \"config.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"token =\": \"token = \\\"{{env.BOT_TOKEN}}\\\"\",\r\n \"prefix =\": \"prefix = \\\"{{env.BOT_PREFIX}}\\\"\",\r\n \"owner =\": \"owner = \\\"{{env.BOT_OWNER}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"\"\r\n}",
"startup": "{\r\n \"done\": \"Finished Loading\"\r\n}",
"logs": "{}",
"stop": "^C"
},
@ -26,7 +29,7 @@
"variables": [
{
"name": "Discord Bot Token",
"description": "The token for your discord bot.\r\n\r\nhttps:\/\/discordapp.com\/developers\/applications\/",
"description": "The token for your discord bot.\r\n\r\nhttps:\/\/discord.com\/developers\/applications\/",
"env_variable": "BOT_TOKEN",
"default_value": "You need to get a token",
"user_viewable": true,

View File

@ -5,6 +5,8 @@ A multifunction Discord bot
### Server Ports
No port are required to run Red.
if you want to use the internal Lavalink Server, you need to allocate port 2333 as primary
### Additional Requirements
When using the Audio Cog the bot will attempt to save files to /tmp resulting in a disk space error. To resolve this error you must increase the size of `tmpfs` using custom container policy.

View File

@ -1,5 +1,5 @@
# PhantomBot
### Their [Site](https://phantombot.tv)
### Their [Site](https://phantombot.github.io/PhantomBot/)
PhantomBot is an actively developed open source interactive Twitch bot
with a vibrant community that provides entertainment and moderation for your channel,
allowing you to focus on what matters the most to you - your game and your viewers.

View File

@ -62,7 +62,7 @@
},
{
"name": "Your OAuth Token",
"description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.tv\/oauth\/",
"description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.github.io\/PhantomBot\/oauth\/",
"env_variable": "USER_OAUTH_TOKEN",
"default_value": "",
"user_viewable": true,
@ -115,4 +115,4 @@
"rules": "max:64"
}
]
}
}

View File

@ -1,14 +1,17 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-11-28T06:01:04+01:00",
"exported_at": "2021-02-08T16:56:23+01:00",
"name": "SogeBot",
"author": "info@goover.de",
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-14",
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-14"
],
"startup": "npm start",
"config": {
"files": "{\r\n \".env\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
@ -18,7 +21,7 @@
},
"scripts": {
"installation": {
"script": "#\/bin\/bash\r\napt -y update\r\napt -y upgrade\r\napt install -y curl unzip sqlite jq wget python3 build-essential\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n#echo $DOWNLOAD_LINK\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH-*.zip\r\nrm -fR $MATCH-*.zip\r\n\r\necho \"Installing depencies...\"\r\n\/usr\/local\/bin\/npm ci 2>&1 | tee npmlog.txt\r\n\r\nexit 0",
"script": "#\/bin\/bash\r\napt -y update\r\napt -y upgrade\r\napt install -y curl unzip sqlite jq wget python3 build-essential\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\nrm -fR dest\r\nrm -fR public\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n#echo $DOWNLOAD_LINK\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH-*.zip\r\nrm -fR $MATCH-*.zip\r\n\r\necho \"Installing depencies...\"\r\n\/usr\/local\/bin\/npm ci 2>&1 | tee npmlog.txt\r\n\r\nexit 0",
"container": "node:14-buster-slim",
"entrypoint": "bash"
}
@ -52,4 +55,4 @@
"rules": "required|string|max:20"
}
]
}
}

View File

@ -1,13 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-10-17T02:36:40+00:00",
"exported_at": "2021-01-22T16:39:06+01:00",
"name": "CryoFall",
"author": "contact@zennodes.dk",
"description": "NOTE: For now you have to change SettingsServer.xml under CryoFall_Server_v(Version)_NetCore\/Data\/SettingsServer.xml\r\n\r\nCryoFall is a sci-fi multiplayer colony simulation survival game set on a forgotten planet in a distant future.\r\n\r\nJoin the vast world of CryoFall together with other survivors to rebuild your civilization from scratch. Start with primitive technology and simple tools and use them to progress towards modern industrial might and even beyond, eventually reaching space-age technology only seen in science fiction.\r\n\r\nCryoFall can be played either as a relaxed PvE experience with no competition or as a brutal and unforgiving PvP. Make your choice and join one of many available servers with different game modes or host your own and invite your friends to join you!\r\n\r\nBuild your house or a large base together with other players. Dig wells and create farms to sustain basic needs. Build vehicles to explore the world faster. Establish basics of science, all the way from medicine and chemistry to fuel creation and even lithium extraction to create electronic devices. Cook food or prepare drinks to sell them from vending machines in your store.\r\n\r\nBuild factories to produce on an industrial scale: Weapons and defense systems, bionic implants to augment yourself, even large war machines and artillery guns to use against the biggest of opponents",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_dotnet",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_dotnet-5"
],
"file_denylist": "",
"startup": "dotnet Binaries\/Server\/CryoFall_Server.dll loadOrNew",
"config": {
"files": "{}",

View File

@ -18,7 +18,7 @@
"scripts": {
"installation": {
"script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\necho $POSTGRES_PASSWORD > .passwd\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\ncat .passwd\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U container --pwfile .passwd'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\necho -e \"Done\"",
"container": "postgres:12.2-alpine",
"container": "postgres:13.1-alpine",
"entrypoint": "ash"
}
},

View File

@ -1,7 +1,8 @@
# Factorio
#### The Factorio Server
The server supports mods
The server supports mods.
The factorio-modupdate egg uses the factorio-mod-updater (https://github.com/pdemonaco/factorio-mod-updater) to update your mods when ReInstalling the Server.
#### from the developers

View File

@ -0,0 +1,121 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-01-15T16:32:57+01:00",
"name": "Factorio-ModUpdate",
"author": "tueye@tuworld.de",
"description": "The vanilla Factorio server. With automatic Mod Updates after ReInstall.\r\n\r\nhttps:\/\/www.factorio.com\/",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
],
"startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{SAVE_NAME}}.zip",
"config": {
"files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Hosting game at\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"factorio-current.log\"\r\n}",
"stop": "\/quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils python3 python3-requests jq\r\n\r\nlatest_ModUpdate=$(curl --silent \"https:\/\/api.github.com\/repos\/pdemonaco\/factorio-mod-updater\/tags\" | jq -r '.[0].name')\r\n\r\nVERSION_JSON=$(curl -sSL https:\/\/factorio.com\/api\/latest-releases)\r\n\r\nlatest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')\r\nlatest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi\r\n\r\n# Download Mod Updater\r\necho -e \"\\n running 'curl -sL https:\/\/github.com\/pdemonaco\/factorio-mod-updater\/archive\/${latest_ModUpdate}.tar.gz -o factorio-MU-${latest_ModUpdate}' \\n\"\r\n\r\ncurl -sL https:\/\/github.com\/pdemonaco\/factorio-mod-updater\/archive\/${latest_ModUpdate}.tar.gz -o factorio-MU-${latest_ModUpdate}\r\n\r\ntar -xf factorio-MU-${latest_ModUpdate} -C \/mnt\/server\r\n\r\nrm factorio-MU-${latest_ModUpdate}\r\n\r\n# Run Mod Updater\r\n.\/factorio-mod-updater-${latest_ModUpdate}\/mod_updater.py -s \/mnt\/server\/data\/server-settings.json -m \/mnt\/server\/mods --fact-path \/mnt\/server\/bin\/x64\/factorio --update",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Factorio Version",
"description": "Which version of Factorio to install and use.",
"env_variable": "FACTORIO_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"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": true,
"user_editable": false,
"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": true,
"user_editable": true,
"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": true,
"user_editable": true,
"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": true,
"user_editable": true,
"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": true,
"user_editable": true,
"rules": "required|string|max:200"
},
{
"name": "Server Username",
"description": "Username used for the server",
"env_variable": "SERVER_USERNAME",
"default_value": "unnamed",
"user_viewable": true,
"user_editable": true,
"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": true,
"user_editable": true,
"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": true,
"user_editable": true,
"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": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3"
}
]
}

15
ftl/tachyon/README.MD Normal file
View File

@ -0,0 +1,15 @@
# Tachyon
Tachyon is a multiplayer FTL server and client.
## Server Ports
The Tachyon server requires a single port for access.
| Port | default |
|-------|---------|
| Game | 30303 |
## Server Specific
Latest client and standalone server can be found at https://github.com/Dav-Edward/TachyonsCE/releases

View File

@ -0,0 +1,31 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-02-09T11:53:05-08:00",
"name": "Tachyon",
"author": "alex.chang-lam@protonmail.com",
"description": "A multiplayer version of FTL.",
"features": null,
"images": [
"quay.io\/pterodactyl\/core:java-11"
],
"file_denylist": "",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar TachyonsCEServer.jar",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"[Server] SERVER STARTED.\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "\/exit"
},
"scripts": {
"installation": {
"script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=Dav-Edward\/TachyonsCE\r\nMATCH=TachyonsCE\r\n\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" != \"Not Found\" ] && [[ -z \"${VERSION}\" || \"${VERSION}\" == \"latest\" ]]; then\r\n echo -e \"grabbing latest version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" == \"Not Found\" ]; then\r\n ## emergency fallback if latest isn't found\r\n ## grabs the latest release even it it's a pre-release\r\n echo -e \"grabbing latest pre-release\"\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})\r\nelse\r\n echo -e \"grabbing version $VERSION\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -o ${VALIDATED_URL##*\/} ${VALIDATED_URL}\r\n\r\nFILETYPE=$(file -F ',' ${VALIDATED_URL##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${VALIDATED_URL##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\n#pull version and format folder name for renaming\r\nFOLDER=$(echo ${LATEST_JSON} | jq .tag_name | tr -d 'v\"')\r\n\r\n#move all server files out\r\ncp -r .\/TachyonsCE_${FOLDER}\/server\/* \/mnt\/server\r\n\r\n#remove zip and unneeded client-side and dev files\r\nrm -rf TachyonsCE_${FOLDER}\r\nrm ${VALIDATED_URL##*\/}\r\n\r\nchmod +x TachyonsCEServer.jar",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": []
}

File diff suppressed because one or more lines are too long

View File

@ -17,7 +17,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi",
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.opencollab.dev\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.opencollab.dev\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f server.properties ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi",
"container": "alpine:3.10",
"entrypoint": "ash"
}

View File

@ -1,14 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-12-24T13:08:36+01:00",
"exported_at": "2021-03-12T14:38:58+01: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 :)",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"images": [
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
],
"file_denylist": [],
"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}",
@ -18,7 +22,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n downloading pocketmine MP build ${PMMP_VERSION}\"\r\nif [ -z \"$PMMP_VERSION\" ] || [ \"$PMMP_VERSION\" == \"latest\" ]; then\r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/Stable\/artifact\/PocketMine-MP.phar\r\nelse \r\n curl -sSL -o PocketMine-MP.phar https:\/\/jenkins.pmmp.io\/job\/PocketMine-MP\/${PMMP_VERSION}\/artifact\/PocketMine-MP.phar\r\nfi\r\n\r\necho -e \"\\n downloading latest php7.4 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.4-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing pvp7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl jq\r\n\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n## this is a simple script to validate a download url actaully exists\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} > PocketMine-MP.phar\r\n\r\necho -e \"\\n downloading latest php7.4 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.4-Linux-x86_64\/lastSuccessfulBuild\/artifact\/PHP_Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing php7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -26,12 +30,30 @@
"variables": [
{
"name": "PocketmineMP Version",
"description": "The build to pull and install. (Ex. 1604)\r\n\r\nThis is the build number on https:\/\/jenkins.pmmp.io",
"env_variable": "PMMP_VERSION",
"description": "Version from Github",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Github Package",
"description": "",
"env_variable": "GITHUB_PACKAGE",
"default_value": "pmmp\/PocketMine-MP",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Match",
"description": "",
"env_variable": "MATCH",
"default_value": "PocketMine-MP.phar",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
}
]
}

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-12-06T19:54:35-08:00",
"exported_at": "2021-02-17T10:45:06-05:00",
"name": "Fabric",
"author": "accounts@bofanodes.io",
"description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.",
@ -18,7 +18,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\nFABRIC_VERSION=$(curl https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/ | grep -Po '(?<=href=\")[^\"]*' | sort -h | tail -1 | sed 's,\/,,g')\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nelse\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nfi\r\njava -jar fabric-installer-$FABRIC_VERSION.jar server -downloadMinecraft\r\necho -e \"Install Complete\"",
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n# Enable snapshots\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== true )|.version' | head -n1)\r\nelif [ \"$MC_VERSION\" == \"snapshot\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== false )|.version' | head -n1)\r\nfi\r\n\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\n FABRIC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/installer | jq -r '.[0].version')\r\nfi\r\nwget -O fabric-installer.jar https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\njava -jar fabric-installer.jar server -mcversion $MC_VERSION -downloadMinecraft\r\necho -e \"Install Complete\"",
"container": "openjdk:11-jdk-slim",
"entrypoint": "bash"
}
@ -33,6 +33,15 @@
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
"name": "Minecraft Version",
"description": "The version of Minecraft to install. Use \"latest\" to install the latest version, or use \"snapshot\" to install the latest snapshot.",
"env_variable": "MC_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,15"
},
{
"name": "Fabric Version",
"description": "The version of Fabric to install.",

View File

@ -22,7 +22,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\n FORGE_JAR=forge-${FORGE_VERSION}.jar\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n FILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version ${FORGE_VERSION}\"\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_VERSION} !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar",
"script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\n FORGE_JAR=forge-${FORGE_VERSION}*.jar\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n FILE_SITE=$(echo -e ${JSON_DATA} | jq -r '.homepage' | sed \"s\/http:\/https:\/g\")\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version ${FORGE_VERSION}\"\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_VERSION} !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar",
"container": "openjdk:8-jdk-slim",
"entrypoint": "bash"
}
@ -65,4 +65,4 @@
"rules": "nullable|string|max:20"
}
]
}
}

View File

@ -21,7 +21,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq dos2unix\r\n}\r\n\r\n\r\nfunction get_download {\r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ \"${FTB_SEARCH_TERM}\" != \"\" ]; then\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ \"${FTB_VERSION_STRING}\" != \"\" ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n \r\n echo -e \"ID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID}\"\r\n \r\n cd \/mnt\/server\r\n \r\n curl https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID}\/${FTB_MODPACK_VERSION_ID}\/server\/linux --output serversetup\r\n chmod +x .\/serversetup\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} <<< 'y'\r\n}\r\n\r\nfunction cleanup {\r\n rm -rf serversetup\r\n mv forge-*.jar forge-server.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\ncleanup",
"script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq dos2unix\r\n}\r\n\r\n\r\nfunction get_download {\r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ \"${FTB_SEARCH_TERM}\" != \"\" ]; then\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ \"${FTB_VERSION_STRING}\" != \"\" ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n \r\n echo -e \"ID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID}\"\r\n \r\n cd \/mnt\/server\r\n \r\n curl https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID}\/${FTB_MODPACK_VERSION_ID}\/server\/linux --output serversetup\r\n chmod +x .\/serversetup\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto\r\n}\r\n\r\nfunction cleanup {\r\n rm -rf serversetup\r\n mv forge-*.jar forge-server.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\ncleanup",
"container": "openjdk:8-jdk-slim",
"entrypoint": "bash"
}

View File

@ -1,17 +1,19 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-03-28T14:53:55-04:00",
"exported_at": "2021-01-25T03:08:06-08:00",
"name": "Magma",
"author": "support@pterodactyl.io",
"description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.",
"image": "quay.io\/pterodactyl\/core:java",
"features": null,
"images": [
"quay.io\/pterodactyl\/core:java",
"quay.io\/pterodactyl\/core:java-11"
],
"file_denylist": "",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
@ -21,9 +23,9 @@
},
"scripts": {
"installation": {
"script": "## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE, VERSION and MATCH (match is to match the filename in some way)\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napk add --no-cache curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n## get latest download link\r\necho -e \"Set to download the ${BUILD} build\"\r\nif [ \"${BUILD}\" == \"dev\" ]; then\r\n echo -e \"dev tag is ${tag}\"\r\nfi\r\n\r\ncase ${BUILD} in\r\n\r\n \"recommended\" | \"stable\" | \"latest\")\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download\"\r\n ;;\r\n\r\n \"dev\")\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/dev\/${TAG}\/download\"\r\n ;;\r\n\r\n *)\r\n DOWNLOAD_URL=\"https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${VANILLA_VERSION}\/stable\/latest\/download\"\r\n ;;\r\nesac\r\n\r\necho -e \"Download URL is ${DOWNLOAD_URL}\"\r\n\r\n## validate download link\r\nif [ ! -z \"${DOWNLOAD_URL}\" ] ; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n# Adding '.jar' if it isn't part of the file name\r\nif [[ ${SERVER_JARFILE} == *\\.jar ]]; then\r\n echo -e \"adding.jar to server file name\"\r\n SERVER_JARFILE=\"${SERVER_JARFILE}.jar\"\r\nfi\r\n\r\n## mv old server files\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n echo -e \"moving old server.jar\"\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\necho -e \"Install Complete\"",
"container": "alpine:3.10",
"entrypoint": "ash"
"script": "apt update\r\napt install -y curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ ! -z ${MC_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/api.magmafoundation.org\/api\/resources\/magma\/${MC_VERSION}\/dev\/latest\/download\r\nelse\r\n DOWNLOAD_LINK=https:\/\/api.magmafoundation.org\/api\/resources\/magma\/1.12.2\/dev\/latest\/download\r\nfi\r\n\r\necho -e \"Download URL is ${DOWNLOAD_LINK}\"\r\n\r\n## validate download link\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ] ; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_LINK}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\n## mv old server files\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n echo -e \"moving old server.jar\"\r\n mv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\n## download files\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -s -o ${SERVER_JARFILE} -sSL ${DOWNLOAD_LINK}\r\n\r\necho -e \"Install Complete\"",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
@ -32,36 +34,18 @@
"description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": false,
"user_editable": false,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
},
{
"name": "Server Version",
"description": "The version of Minecraft Vanilla to install.\r\n\r\nOnly version currently supported is 1.12.2 as that is all there are builds for.",
"env_variable": "VANILLA_VERSION",
"default_value": "1.12.2",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|between:3,15"
},
{
"name": "Magma Build",
"description": "What version of magma to download.\r\n\r\nrecommended, stable, latest = current stable\r\ndev = latest dev build",
"env_variable": "BUILD",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Magma Dev Tag",
"description": "The dev tagged version to download. default is latest.",
"env_variable": "TAG",
"default_value": "latest",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
"name": "Minecraft Version",
"description": "Optional.\r\n\r\nSpecify vanilla version other than default 1.12.2.",
"env_variable": "MC_VERSION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20"
}
]
}

View File

@ -41,7 +41,7 @@
"name": "Minecraft Version",
"description": "The version of Minecraft to download.",
"env_variable": "MC_VERSION",
"default_value": "1.16.4",
"default_value": "1.16.5",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
@ -65,4 +65,4 @@
"rules": "required|string|max:20"
}
]
}
}

View File

@ -0,0 +1,13 @@
# Code-Server
### From the [Code-Server](https://github.com/cdr/code-server) GitHub
Run [VS Code](https://github.com/Microsoft/vscode) on any machine anywhere and access it in the browser.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
| ---- | ------- |
| Game | 8080 |

View File

@ -0,0 +1,49 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-01-27T07:26:08+01:00",
"name": "Code-Server",
"author": "mario.franze@gmail.com",
"description": "Run VS Code on any machine anywhere and access it in the browser.",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-14"
],
"startup": "sh .local\/lib\/code-server-{{VERSION}}\/bin\/code-server",
"config": {
"files": "{\r\n \".config\/code-server\/config.yaml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"password\": \"password: {{server.build.env.PASSWORD}}\",\r\n \"bind-addr\": \"bind-addr: 0.0.0.0:{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"info HTTP server listening on\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "apt update\r\napt install curl -y\r\n\r\n# Create initial directories\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n# Create needed directories\r\nmkdir -p \/mnt\/server\/.local\/lib \/mnt\/server\/.local\/bin \/mnt\/server\/.config\/code-server \/mnt\/server\/projects\r\n\r\n# Change permission of projects directory so it can be accessed by code-server\r\nchmod 777 \/mnt\/server\/projects\r\ntouch \"\/mnt\/server\/projects\/PLACE YOUR PROJECTS HERE\"\r\n\r\n# Download the given Version and extract it\r\ncurl -fL https:\/\/github.com\/cdr\/code-server\/releases\/download\/v${VERSION}\/code-server-${VERSION}-linux-amd64.tar.gz \\\r\n | tar -C \/mnt\/server\/.local\/lib -xz\r\nmv \/mnt\/server\/.local\/lib\/code-server-${VERSION}-linux-amd64 \/mnt\/server\/.local\/lib\/code-server-${VERSION}\r\nPATH=\"\/mnt\/server\/.local\/bin:$PATH\"\r\necho \"password: changeme\r\nbind-addr: 0.0.0.0\r\nauth: password\r\ncert: false\" > \/mnt\/server\/.config\/code-server\/config.yaml",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Password",
"description": "Passwort to login to your Code-Server instance",
"env_variable": "PASSWORD",
"default_value": "changeme",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32"
},
{
"name": "Version",
"description": "Version for (re)installation",
"env_variable": "VERSION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -10,9 +10,9 @@ This is a collection of servers that use SteamCMD to install.
## Arma
[Arma](arma)
* [Arma 3](arma/arma3)
* [Arma 3 64 Bit](arma/arma3_x64)
* [Arma 3 Headless Client](arma/arma3_headless_client)
* [Arma 3](arma/arma3)
* [Arma 3 64 Bit](arma/arma3_x64)
* [Arma 3 Headless Client](arma/arma3_headless_client)
## Avorion
[Avorion](avorion)
@ -50,6 +50,9 @@ This is a collection of servers that use SteamCMD to install.
## Killing Floor 2
[Killing Floor 2](killing_floor_2)
## Modiverse
[Modiverse](modiverse)
## Mordhau
[Mordhau](mordhau)
@ -62,6 +65,9 @@ This is a collection of servers that use SteamCMD to install.
## Pavlov VR
[Pavlov VR](pavlov_vr)
## Post Scriptum
[Post Scriptum](post_scriptum)
## Project Zomboid
[Project Zomboid](project_zomboid)
@ -84,6 +90,9 @@ This is a collection of servers that use SteamCMD to install.
## Soldat
[Soldat](soldat)
## Space Engineers
[Space Engineers](space_engineers)
## Squad
[Squad](squad)
@ -96,6 +105,9 @@ This is a collection of servers that use SteamCMD to install.
## Stormworks: Build and Rescue
[Stormworks: Build and Rescue](stormworks)
## Subnautica: Nitrox Mod
[Subnautica: Nitrox Mod](subnautica_nitrox_mod)
## Sven coop
[Sven Co-op](svencoop)
@ -109,4 +121,9 @@ This is a collection of servers that use SteamCMD to install.
[Tower Unite](tower_unite)
## Unturned
[Unturned](unturned)
[Unturned](unturned)
## Valheim
[Valheim](/valheim)
* [Valheim Vanilla](valheim_vanilla)
* [Valheim Plus Mod](valheim_plus)

View File

@ -1,14 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-09-13T10:56:00-04:00",
"exported_at": "2021-03-04T06:38:31+02:00",
"name": "Ark: Survival Evolved",
"author": "dev@shepper.fr",
"description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_source",
"startup": "rmv() { echo -e \"stoppping server\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap rmv 15; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName=\"{{SESSION_NAME}}\"?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}}$( [ \"$BATTLE_EYE\" == \"0\" ] || printf %s '?-NoBattlEye' ) -server -log & until echo \"waiting for rcon connection...\"; rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_source"
],
"startup": "rmv() { echo -e \"stoppping server\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c saveworld && rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} -c DoExit; }; trap rmv 15; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName=\"{{SESSION_NAME}}\"?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled={{ENABLE_RCON}}$( [ \"$BATTLE_EYE\" == \"0\" ] || printf %s '?-NoBattlEye' ) -server -log & until echo \"waiting for rcon connection...\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD}; do sleep 5; done",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\",\r\n \"userInteraction\": []\r\n}",
@ -28,8 +32,8 @@
"description": "If specified, players must provide this password to join the server.",
"env_variable": "ARK_PASSWORD",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|between:1,100"
},
{
@ -37,8 +41,8 @@
"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": "PleaseChangeMe",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_dash|between:1,100"
},
{
@ -46,8 +50,8 @@
"description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis",
"env_variable": "SERVER_MAP",
"default_value": "TheIsland",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -55,8 +59,8 @@
"description": "ARK steam app id for auto updates. Leave blank to avoid auto update.",
"env_variable": "SRCDS_APPID",
"default_value": "376030",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "nullable|numeric"
},
{
@ -64,8 +68,8 @@
"description": "ARK server name",
"env_variable": "SESSION_NAME",
"default_value": "A Pterodactyl Hosted ARK Server",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128"
},
{
@ -73,8 +77,8 @@
"description": "Enable or disable rcon system. (true or false)\r\n\r\nDefault True for the console to work.",
"env_variable": "ENABLE_RCON",
"default_value": "True",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|string|in:True,False"
},
{
@ -82,8 +86,8 @@
"description": "ARK rcon port used by rcon tools.",
"env_variable": "RCON_PORT",
"default_value": "27020",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric"
},
{
@ -91,8 +95,8 @@
"description": "ARK query port used by steam server browser and ark client server browser.",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric"
},
{
@ -100,8 +104,8 @@
"description": "This is to enable auto-updating for servers.\r\n\r\nDefault is 0. Set to 1 to update",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean"
},
{
@ -109,8 +113,8 @@
"description": "Enable BattleEye\r\n\r\n0 to disable\r\n1 to enable\r\n\r\ndefault=\"1\"",
"env_variable": "BATTLE_EYE",
"default_value": "1",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean"
}
]

View File

@ -4,5 +4,3 @@ ARMA is a series of first-person tactical military shooters, originally released
## Arma 3
* [Arma 3](arma3)
* [Arma 3 64 Bit](arma3_x64)
* [Arma 3 Headless Client](arma3_headless_client)

View File

@ -1,20 +1,38 @@
# Arma 3
### From their [Site](https://arma3.com/)
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PCs premier military game. Authentic, diverse, open - Arma 3 sends you to war.
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PCs premier military game. Authentic, diverse, open - Arma 3 sends you to war.
### Minimum RAM warning
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
### Egg Capabilities
- Configurable to run 32 or 64-bit versions of the server.
- Configurable to run Beta/Performance binaries of the server (if desired; advanced users only).
- Able to download server updates.
- Able to download Steam Workshop mods\* and move `.bikey`'s to the `/keys/` directory (\*see Installation Requirements).
- Configurable to run up to 5 Headless Clients in parallel with the main server (may require additional performance overhead).
### Additional settings
### Installation Requirements
- A valid, real Steam account, with **Steam Guard turned off**, is required to install the server (default "anonymous" login cannot be used). For security reasons it is [recommended](https://developer.valvesoftware.com/wiki/SteamCMD#With_a_Steam_account) that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3.
- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. This is, of course, optional functionality, and mods can be manually uploaded to the server if desired. Hosts may feel free to delete the "Steam Workshop Mods to Download/Update" variable if they would not like to offer it's functionallity.
### Minimum RAM Warning
This server requires about 2048 MB of RAM to run properly. If used, every Headless Client uses an additional 2048 MB of RAM as well.
### CPU Usage Information
ARMA 3 is mainly CPU intensive. Contrary to popular belief, the server binary *can* run on multiple cores/threads. However, it's ability to manage asynchronous tasks and hyperthread is *very* limited, meaning additional cores/threads reach diminishing returns very quickly. In addition, it's ability to utilize all of the CPU alloted to it for AI processing seems to be limited as well. Therefore, a Headless Client ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used.
### Additional Settings
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
This can help is you see the server using to many cores/threads on the server.
These can help you fine tune how the server will behave during runtime.
*Note: The `-maxMem=` flag is currently known to cause an unknown segmentaion fault crash on startup. Other hardware related flags may cause similar behavior.*
### Server Ports
Ports required to run the server in a table format.
Default server ports. **All ports are required.** Ports after the Main port are relative to the main port (For example: The BattlEye port is always 4 ports higher than the main port). It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports seperate from each other.
| Port | default |
| Port | Default |
|---------|---------|
| Game | 2302-2306 |
| BattleEye | 2344-2345 |
| **Arma 3 Game & VON (Main)** | 2302 |
| Steam Query (+1) | 2303 |
| Steam Port (+2) | 2304 |
| BattleEye (+4) | 2306 |
#### Mods/Plugins may require ports to be added to the server.

View File

@ -1,32 +1,34 @@
// ****************************************************************************
// *
// Arma 3 - basic.cfg *
// Version 060116 *
// ArmA 3 Basic Network Config File - basic.cfg *
// *
// More info about parameters: *
// https://community.bistudio.com/wiki/basic.cfg *
// *
// ****************************************************************************
// Defines network tuning parameters
// Defines network tuning parameters.
//
// This file is to be passed to the -cfg parameter on the command line for the server
// See http://community.bistudio.com/wiki/basic.cfg
// The following settings are the suggested settings
// This file is to be passed to the -cfg parameter on the command line for the server.
// The following settings are the suggested settings.
// Some settings are disabled (commented out) by default. Remove the // behind a setting to activate it.
// BANDWIDTH SETTINGS
// Bandwidth the server is guaranteed to have (in bps)
// General guideline is NumberOfPlayers * 256kb
// Default: 131072
MinBandwidth=5120000;
//MinBandwidth=5120000;
// Bandwidth the server can never go above (in bps)
// For a single server, use full network speed; decrease when running multiple servers
MaxBandwidth=10240000;
//MaxBandwidth=10240000;
// PACKET SETTINGS
// Maximum number of packets per frame.
// Increasing the value potentially decreases lag, but increases desync
// Default: 128
MaxMsgSend=2048;
//MaxMsgSend=2048;
// Maximum payload of guaranteed packet (in b)
// Small messages are packed to larger packets
// Guaranteed packets are used for non-repetitive events, like shooting
@ -42,42 +44,16 @@ MaxSizeNonguaranteed=256;
// Maximal size of a packet sent over the network
// Only necessary if ISP forces lower packet size and there are connectivity issues
// Default: 1400
// class sockets{maxPacketSize=1400};
//class sockets{maxPacketSize=1400};
// SMOOTHNESS SETTINGS
// Minimal error required to send network updates for far units
// Smaller values will make for smoother movement at long ranges, but will increase network traffic
// Default: 0.003
MinErrorToSend=0.01;
//MinErrorToSend=0.01;
// Minimal error required to send network updates for near units
// Using larger value can reduce traffic sent for near units
// Also controls client to server traffic
// Default: 0.01
MinErrorToSendNear=0.02;
// GEOLOCATION SETTINGS
// Server latitude
serverLatitude=52;
serverLatitudeAuto=52;
// Server Longitude
serverLongitude=0;
serverLongitudeAuto=0;
// MISC
// View Distance (not sure if this actually works)
viewDistance=10000;
// Maximum size (in b) for custom face or sound files
// Default: 0
MaxCustomFileSize=65536;
// Server language
language="English";
steamLanguage="English";
// Adapter
adapter=-1;
// Windowed mode
Windowed=0;
3D_Performance=1.000000;
//MinErrorToSendNear=0.02;

View File

@ -1,17 +1,16 @@
// ****************************************************************************
// *
// Arma 3 - server.cfg *
// Version 060117 *
// ArmA 3 Server Config File - server.cfg *
// *
// More info about parameters: *
// https://community.bistudio.com/wiki/server.cfg *
// *
// ****************************************************************************
// ArmA 3 Server Config File
//
// More info about parameters:
// https://community.bistudio.com/wiki/server.cfg
// Some settings are not listed here; see link above for extensive list.
// Some settings are disabled (commented out). Remove the // to enable them.
// GENERAL SETTINGS
// === GLOBAL SETTINGS ===
// Hostname for server.
hostname = "Arma 3 Server";
@ -22,45 +21,16 @@ hostname = "Arma 3 Server";
// Admin Password
//passwordAdmin = "ADMINPASSWORD";
// Auto-admin
admins[] = {"<UID>"};
// Whitelisted Admins - Clients that do not need a password to login.
//admins[] = { "UID OR steamID64", "0123456789", "9876543210" };
// Server Slots
maxPlayers = 32;
// Server Command Password - for scripting and certain mods.
//serverCommandPassword = "COMMANDPASSWORD";
// Logfile
logFile = "arma3server.log";
// Minimum Required Client Build
//requiredBuild = 95691
class Missions
{
class Mission1
{
template = ;
difficulty = "Regular";
class Params {};
};
class Mission2
{
template = ;
difficulty = "Regular";
class Params {};
};
class Mission3
{
template = ;
difficulty = "Regular";
class Params {};
};
class Mission4
{
template = ;
difficulty = "Regular";
class Params {};
};
};
// Log File
logFile = "server_console.log";
// RPT File Timestamp Format - none | short | full
timeStampFormat = "short";
// Message of the Day (MOTD)
motd[] = {
@ -68,91 +38,129 @@ motd[] = {
"TS3 Server: teamspeak.somewhere.com",
"Web: www.example.com"
};
// MOTD Interval - Seconds between each message.
motdInterval = 5;
// MOTD Interval (Seconds)
motdInterval = 30;
// Missions Cycle
class Missions
{
class Mission1
{
template = MP_ZGM_m11.Altis;
difficulty = "Regular";
class Params {};
};
class Mission2
{
template = MP_ZGM_m12.Stratis;
difficulty = "Recruit";
class Params {};
};
};
// Whitelisted Missions - Only these missions can be selected on the mission select screen.
//missionWhitelist[] = { "MP_ZGM_m11.Altis", "MP_ZGM_m12.Stratis" };
// VOTING
// === JOINING RULES ===
// Server Mission Start
// minimum number of clients before server starts mission
voteMissionPlayers = 1;
// Server Slots
maxPlayers = 32;
// Accepted Vote Threshold
// 0.33 = 33% clients.
voteThreshold = 0.33;
// Enable BattlEye
BattlEye = 1;
// INGAME SETTINGS
// Addon Signature Verification - Verifies .pbos against .bisign files - 0 = Disabled | 2 = Enabled (v2)
verifySignatures = 2;
// Disable Voice over Net (VoN)
// 0 = voice enabled.
// 1 = voice disabled.
// Kick Duplicate Player IDs - 0 = No | 1 = Yes
kickDuplicate = 1;
// Allow File Patching - 0 = No Clients | 1 = Headless Clients only | 2 = All Clients
allowedFilePatching = 0;
// Minimum Required Client Version
//requiredBuild = 999999999;
// LAN Mode
loopback = 0;
// UPNP Router Mode
upnp = 0;
// Headless Client IP Whitelists
headlessClients[] = { "127.0.0.1" };
localClient[] = { "127.0.0.1" };
// === INGAME SETTINGS ===
// Advanced Flight Model Enforcement - 0 = Up to player | 1 = Advanced model enforced | 2 = Simple model enforced
forceRotorLibSimulation = 0;
// Disable In-Game Voice Chat (Voice over Network)
disableVoN = 0;
// VoN Codec - 0 = older SPEEX codec | 1 = newer IETF standard OPUS codec
vonCodec = 1;
// VoN Codec Quality
// 0-10 = 8kHz (narrowband).
// 11-20 = 16kHz (wideband).
// 21-30 = 32kHz (ultrawideband).
vonCodecQuality = 3;
vonCodecQuality = 10;
// Persistent Battlefield
// 0 = disable.
// 1 = enable.
persistent = 1;
// Persistent Mission - Keeps mission running when all players disconnect.
persistent = 0;
// Time Stamp Format
// none, short, full
timeStampFormat = "short";
// Allow Drawing in Map
drawingInMap = 1;
// Server Statistics
// Set this to 0 to opt-out! More info: https://community.bistudio.com/wiki/Arma_3_Analytics
statisticsEnabled = 1;
// Enforce Difficulty - Use "Custom" for ServerProfile-defined custom difficulty
forcedDifficulty = "regular";
// SERVER SECURITY/ANTI HACK
// Verify Signitures for Client Addons
// 0 = off.
// 1 = weak protection (depricated).
// 2 = full protection.
verifySignatures = 2;
// === VOTING ===
// Secure Player ID
// 1 = Server warning message.
// 2 = Kick client.
requiredSecureId = 2;
// Allowed Vote Commands - Un-comment this to prevent voted commands (like vote-kick)
//allowedVoteCmds[] = {};
// Kick Duplicate Player IDs
kickDuplicate = 1;
// Start mission-voting when X number of players connect.
voteMissionPlayers = 1;
// BattlEye Anti-Cheat
// 0 = disable
// 1 = enable
BattlEye = 1;
// Vote Threshold - Percentage of votes needed to confirm a vote.
voteThreshold = 0.33;
// Allowed File Extentions
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
// SCRIPTING ISSUES
// === CLIENT NETWORK HEALTH ===
// Seconds to wait before disconnecting a user which temporarily lost connection.
disconnectTimeout = 90;
// Max Desync Value
maxdesync = 150;
// Max Ping (ms)
maxping = 200;
// Max Packet Loss
maxpacketloss = 50;
// Action to Take on Slow Network (defined above)
// Defines if {<MaxPing>, <MaxPacketLoss>, <MaxDesync>, <DisconnectTimeout>} will be logged (0) or kicked (1)
kickClientsOnSlowNetwork[] = { 1, 1, 0, 1 };
// Kick Duration (temp-ban) on Network Kick
// Options {<manual kick>, <connectivity kick>, <BattlEye kick>, <harmless kick>} -- Timeout {>0 seconds; -1 until missionEnd; -2 until serverRestart}
kickTimeout[] = { {0, -1},{1, 1},{2, 5},{3, 1} };
// === SERVER SIDE SCRIPTING ===
// See https://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
onUserConnected = "";
onUserDisconnected = "";
doubleIdDetected = "";
// SIGNATURE VERIFICATION
// kick = kick (_this select 0)
// ban = ban (_this select 0)
onUnsignedData = "kick (_this select 0)";
onHackedData = "kick (_this select 0)";
onDifferentData = "";
// HEADLESS CLIENT SUPPORT
// specify ip-adresses of allowed headless clients
headlessClients[] = {"127.0.0.1", "172.18.0.1"};
localClient[] = {"127.0.0.1", "172.18.0.1"};
// BattlEye Anti-Cheat License
// 0 = decline
// 1 = accept
battleyeLicense = 1;
// Only allow files with these extensions to be loaded via loadFile command
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
// Only allow files with these extensions to be loaded via preprocessFile/preprocessFileLineNumber commands
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
// Only allow files with these extensions to be loaded via HTMLLoad command
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
// Leave commented to let missions/campaigns/addons decide what URIs are supported. Un-comment to define server-level restrictions for URIs
//allowedHTMLLoadURIs = {};

View File

@ -1,108 +1,166 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2019-12-26T15:50:38-05:00",
"exported_at": "2021-01-30T22:22:39+00:00",
"name": "Arma 3",
"author": "daave@aaathats3as.com",
"author": "rehlmgaming@gmail.com",
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
"image": "quay.io\/parkervcp\/pterodactyl-images:game_arma3",
"startup": ".\/arma3server -ip=0.0.0.0 -port={{SERVER_PORT}} -cfg={{BASIC}} -config={{CONFIG}} {{CUSTOM}} -mod=\"{{MODS}}\" -serverMod=\"{{SERVERMODS}}\"",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:game_arma3"
],
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/battleye -cfg=\\\"{{BASIC}}\\\" -config=\\\"{{CONFIG}}\\\" -mod=\\\"{{MODIFICATIONS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" {{STARTUP_PARAMS}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Connected to Steam servers\",\r\n \"userInteraction\": []\r\n}",
"startup": "{\r\n \"done\": \"Host identity created.\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg",
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg\r\nchmod 755 basic.cfg server.cfg",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game App ID",
"description": "Steam CMD App ID.",
"env_variable": "SRCDS_APPID",
"name": "Arma 3 Dedicated Server App ID",
"description": "Used for installation and updates.",
"env_variable": "STEAMCMD_APPID",
"default_value": "233780",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|alpha_dash|between:1,100"
"user_viewable": false,
"user_editable": false,
"rules": "required|integer"
},
{
"name": "Config",
"description": "Server config",
"env_variable": "CONFIG",
"default_value": "server.cfg",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|nullable"
},
{
"name": "Custom Command Line Option.",
"description": "Put -autoinit or related things in here :)",
"env_variable": "CUSTOM",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|nullable"
},
{
"name": "SERVERMODS",
"description": "This is where you put the files that go along with the -serverMods startup option.",
"env_variable": "SERVERMODS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|nullable"
},
{
"name": "Mods",
"description": "This is where you put mods that go along with the -mods startup option",
"env_variable": "MODS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|nullable"
},
{
"name": "Steam User",
"description": "A Steam username with Arma3 on the account.",
"name": "Steam Username",
"description": "Used for installation and updates. Account does not need to own Arma 3, but must be a valid Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
"env_variable": "STEAM_USER",
"default_value": "anonymous",
"user_viewable": 0,
"user_editable": 0,
"default_value": "your_steam_username",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Steam Password",
"description": "Steam User Password",
"description": "Used for installation and updates. Steam Guard must be TURNED OFF for install to complete successfully. *This info is not visible to the server owner.*",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
"default_value": "your_steam_password",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Basic",
"description": "Basic network config",
"env_variable": "BASIC",
"default_value": "basic.cfg",
"user_viewable": 1,
"user_editable": 1,
"name": "Server Binary",
"description": "Server binary to call on server start. (32-bit: arma3server | 64-bit: arma3server_x64)",
"env_variable": "SERVER_BINARY",
"default_value": "arma3server_x64",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64"
},
{
"name": "Extra Startup Parameters",
"description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info.",
"env_variable": "STARTUP_PARAMS",
"default_value": "-noLogs",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"name": "Steam Auth Code",
"description": "Steam Auth Code only when you're using Steam Auth",
"env_variable": "STEAM_AUTH",
"name": "Server Configuration File",
"description": "See https:\/\/community.bistudio.com\/wiki\/server.cfg for more info.",
"env_variable": "CONFIG",
"default_value": "server.cfg",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"name": "Basic Network Configuration",
"description": "See https:\/\/community.bistudio.com\/wiki\/basic.cfg for more info.",
"env_variable": "BASIC",
"default_value": "basic.cfg",
"user_viewable": true,
"user_editable": true,
"rules": "required|string"
},
{
"name": "Mods",
"description": "Mod folders to be used with the -mods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
"env_variable": "MODIFICATIONS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Server Mods",
"description": "Server-side only mod folders to be used with the -serverMods startup option. NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
"env_variable": "SERVERMODS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Check for Server Updates",
"description": "Check for server updates on server start. (1 True | 0 False)",
"env_variable": "UPDATE_SERVER",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "boolean"
},
{
"name": "Steam Workshop Mods to Download\/Update",
"description": "[*Only works if the host owns Arma 3] Comma separated list of Steam Workshop mod IDs to download\/update on server start. (ex. 450814997,463939057) Each mod will be downloaded to the root directory with the folder format \"@ModIdNumber\". NOTE: Particularly large mods (ie. RHS, CUP, typically anything over 3 GB) may not download properly due to limitations of SteamCMD.",
"env_variable": "UPDATE_WORKSHOP",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"name": "Set Mods to Lowercase",
"description": "On server start, goes through all the mod folders listed in \"Mods\" & \"Server Mods\", and makes sure every folder and file is lowercase (to prevent errors). This is particularly useful to run ONCE after copying a mod from a Windows machine to the server, or if mods seem to not be loading.",
"env_variable": "MODS_LOWERCASE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "boolean"
},
{
"name": "[Advanced] Extra Flags for SteamCMD",
"description": "Only used when checking for server updates, and typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
"env_variable": "STEAMCMD_EXTRA_FLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "[Advanced] Headless Clients (HC)",
"description": "Number of Headless Clients (0 - 5) to launch parallel with the server. Be sure to set the following \"HC Connect Password\" variable if your server is password locked. PLEASE NOTE: Using a headless client is only recommended for advanced users, adds extra overhead to your permitted server resources, and is only beneficial if a properly written, HC compliant mission file is provided. See https:\/\/community.bistudio.com\/wiki\/Arma_3:_Headless_Client for more info.",
"env_variable": "HC_NUM",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:0,5"
},
{
"name": "[Advanced] HC Connect Password",
"description": "If Headless Clients are used, this is the password used to connect to the server if the server is password locked.",
"env_variable": "HC_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
}
]
}
}

View File

@ -1,21 +0,0 @@
# Arma 3 Headless Client
### From their [Site](https://community.bistudio.com/wiki/Arma_3_Headless_Client)
What is a Headless Client (HC) used for?
* Headless Client is used to offload AI calculations from the server
* Headless Client is integrated into game client and dedicated server executable (WIndows and Linux, use -client parameter)
* The server doesn't allow arbitrary connections from headless clients if you do not define the headless clients IPs in the server.cfg,
### But why?
If you host an Arma 3 Server with lots of AI in it, the Server FPS will drop fast.
Since the server files are only 32 Bit you will need some kind of magical assistant to prevent slow AI.
### Minimum RAM warning
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
### Additional settings
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
This can help is you see the server using to many cores/threads on the server.
If you want to know how to implement, take a look at the Wiki [here](https://community.bistudio.com/wiki/Arma_3_Headless_Client#Spawning_the_AI) or at a guide in the A3 Forums [here](https://forums.bohemia.net/forums/topic/178434-arma3-headless-client-guide/).
### Server Ports
Since this is basically a client, this Egg does not need a port.

View File

@ -1,99 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2019-12-26T15:50:34-05:00",
"name": "Arma 3 Headless Client",
"author": "brainp4in@blueberry-hood-clan.de",
"description": "Headless Clients are used to offload AI calculations from the Arma 3 Server.",
"image": "quay.io\/parkervcp\/pterodactyl-images:game_arma3",
"startup": ".\/arma3server -client -connect={{SERVERIP}} -port={{SERVERPORT}} {{CUSTOM}} -mod=\"{{MODS}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Client connected\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## ARMA III specific setup\r\ncd \/mnt\/server\/\r\n\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\n[[ -f basic.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg\r\n[[ -f server.cfg ]] || curl -sSLO https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/server.cfg",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game App ID",
"description": "Steam CMD App ID.",
"env_variable": "SRCDS_APPID",
"default_value": "233780",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|alpha_dash|between:1,100"
},
{
"name": "Server IP",
"description": "IP address of the Arma 3 server that should be supported by the Headless Client.",
"env_variable": "SERVERIP",
"default_value": "127.0.0.1",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:30"
},
{
"name": "Server Port",
"description": "Port of the Arma 3 server that should be supported by the Headless Client.",
"env_variable": "SERVERPORT",
"default_value": "2302",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:5"
},
{
"name": "Custom Command Line Option.",
"description": "Put -autoinit or related things in here :)",
"env_variable": "CUSTOM",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|nullable"
},
{
"name": "Mods",
"description": "This is where you put mods that go along with the -mods startup option",
"env_variable": "MODS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "string|nullable"
},
{
"name": "Steam User",
"description": "A Steam username with Arma3 on the account.",
"env_variable": "STEAM_USER",
"default_value": "anonymous",
"user_viewable": 0,
"user_editable": 0,
"rules": "required|string"
},
{
"name": "Steam Password",
"description": "Steam User Password",
"env_variable": "STEAM_PASS",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
},
{
"name": "Steam Auth Code",
"description": "Steam Auth Code only when you're using Steam Auth",
"env_variable": "STEAM_AUTH",
"default_value": "",
"user_viewable": 0,
"user_editable": 0,
"rules": "nullable|string"
}
]
}

View File

@ -1,20 +0,0 @@
# Arma 3
### From their [Site](https://arma3.com/)
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PCs premier military game. Authentic, diverse, open - Arma 3 sends you to war.
### Minimum RAM warning
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
### Additional settings
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
This can help is you see the server using to many cores/threads on the server.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 2302-2306 |
| BattleEye | 2344-2345 |
#### Mods/Plugins may require ports to be added to the server.

View File

@ -1,109 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-11-18T10:58:51-05:00",
"name": "Arma 3 (64-bit)",
"author": "brycea@terrahost.cloud",
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
"features": null,
"image": "quay.io\/terrahost\/pterodactyl-images:game_arma3_x64",
"startup": ".\/arma3server_x64 -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/profiles -bepath=.\/battleye -cfg={{BASIC}} -config={{CONFIG}} {{CUSTOM}} -mod={{MODS}} -serverMod={{SERVERMODS}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Connected to Steam servers\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n## install required packages to install arma\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates\r\n## install steamcmd\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\n## needs to be used for steamcmd to operate correctly\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n## install arma\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n# 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\nchmod +x \/mnt\/server\/arma3server_x64\r\n# doesn't actually work with current 64 bit wrapper\r\nchmod +x \/mnt\/server\/arma3server",
"container": "ubuntu:20.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game AppID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "233780",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric"
},
{
"name": "Steam Username",
"description": "Used for installation",
"env_variable": "STEAM_USER",
"default_value": "anonymous",
"user_viewable": true,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Steam Password",
"description": "",
"env_variable": "STEAM_PASS",
"default_value": "!xNfMpAN*Lr3iMsJ",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|string"
},
{
"name": "Server Configuration File",
"description": "https:\/\/community.bistudio.com\/wiki\/server.cfg",
"env_variable": "CONFIG",
"default_value": "server.cfg",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"name": "Basic Network Config",
"description": "Network Configuration",
"env_variable": "BASIC",
"default_value": "basic.cfg",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable"
},
{
"name": "Check for Updates",
"description": "Check for updates on server start.\r\n1 True | 0 False",
"env_variable": "UPDATE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|numeric"
},
{
"name": "Mods",
"description": "Client mods with the -mods startup option",
"env_variable": "MODS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Server Mods",
"description": "Server-sided mods with the -serverMods startup option.",
"env_variable": "SERVERMODS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "Extra Flags for SteamCMD",
"description": "Typically used for grabbing beta builds.\r\nExample: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
"env_variable": "EXTRA_FLAGS",
"default_value": "",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|string"
}
]
}

View File

@ -1,83 +0,0 @@
// ****************************************************************************
// *
// Arma 3 - basic.cfg *
// Version 060116 *
// *
// ****************************************************************************
// Defines network tuning parameters
//
// This file is to be passed to the -cfg parameter on the command line for the server
// See http://community.bistudio.com/wiki/basic.cfg
// The following settings are the suggested settings
// BANDWIDTH SETTINGS
// Bandwidth the server is guaranteed to have (in bps)
// General guideline is NumberOfPlayers * 256kb
// Default: 131072
MinBandwidth=5120000;
// Bandwidth the server can never go above (in bps)
// For a single server, use full network speed; decrease when running multiple servers
MaxBandwidth=10240000;
// PACKET SETTINGS
// Maximum number of packets per frame.
// Increasing the value potentially decreases lag, but increases desync
// Default: 128
MaxMsgSend=2048;
// Maximum payload of guaranteed packet (in b)
// Small messages are packed to larger packets
// Guaranteed packets are used for non-repetitive events, like shooting
// Lower value means more packets are sent, so less events will get combined
// Default: 512
MaxSizeGuaranteed=512;
// Maximum payload of non-guaranteed packet (in b)
// Increasing this value may improve bandwidth requirement, but may also increase lag
// Largest factor in desync
// Guidance is half of MaxSizeGuaranteed
// Default: 256
MaxSizeNonguaranteed=256;
// Maximal size of a packet sent over the network
// Only necessary if ISP forces lower packet size and there are connectivity issues
// Default: 1400
// class sockets{maxPacketSize=1400};
// SMOOTHNESS SETTINGS
// Minimal error required to send network updates for far units
// Smaller values will make for smoother movement at long ranges, but will increase network traffic
// Default: 0.003
MinErrorToSend=0.01;
// Minimal error required to send network updates for near units
// Using larger value can reduce traffic sent for near units
// Also controls client to server traffic
// Default: 0.01
MinErrorToSendNear=0.02;
// GEOLOCATION SETTINGS
// Server latitude
serverLatitude=52;
serverLatitudeAuto=52;
// Server Longitude
serverLongitude=0;
serverLongitudeAuto=0;
// MISC
// View Distance (not sure if this actually works)
viewDistance=10000;
// Maximum size (in b) for custom face or sound files
// Default: 0
MaxCustomFileSize=65536;
// Server language
language="English";
steamLanguage="English";
// Adapter
adapter=-1;
// Windowed mode
Windowed=0;
3D_Performance=1.000000;

View File

@ -1,158 +0,0 @@
// ****************************************************************************
// *
// Arma 3 - server.cfg *
// Version 060117 *
// *
// ****************************************************************************
// ArmA 3 Server Config File
//
// More info about parameters:
// https://community.bistudio.com/wiki/server.cfg
// GENERAL SETTINGS
// Hostname for server.
hostname = "Arma 3 Server";
// Server password - for private servers.
//password = "arma3pass";
// Admin Password
//passwordAdmin = "ADMINPASSWORD";
// Auto-admin
admins[] = {"<UID>"};
// Server Slots
maxPlayers = 32;
// Logfile
logFile = "arma3server.log";
// Minimum Required Client Build
//requiredBuild = 95691
class Missions
{
class Mission1
{
template = ;
difficulty = "Regular";
class Params {};
};
class Mission2
{
template = ;
difficulty = "Regular";
class Params {};
};
class Mission3
{
template = ;
difficulty = "Regular";
class Params {};
};
class Mission4
{
template = ;
difficulty = "Regular";
class Params {};
};
};
// Message of the Day (MOTD)
motd[] = {
"Welcome to My Arma 3 Server",
"TS3 Server: teamspeak.somewhere.com",
"Web: www.example.com"
};
// MOTD Interval (Seconds)
motdInterval = 30;
// VOTING
// Server Mission Start
// minimum number of clients before server starts mission
voteMissionPlayers = 1;
// Accepted Vote Threshold
// 0.33 = 33% clients.
voteThreshold = 0.33;
// INGAME SETTINGS
// Disable Voice over Net (VoN)
// 0 = voice enabled.
// 1 = voice disabled.
disableVoN = 0;
// VoN Codec Quality
// 0-10 = 8kHz (narrowband).
// 11-20 = 16kHz (wideband).
// 21-30 = 32kHz (ultrawideband).
vonCodecQuality = 3;
// Persistent Battlefield
// 0 = disable.
// 1 = enable.
persistent = 1;
// Time Stamp Format
// none, short, full
timeStampFormat = "short";
// Server Statistics
// Set this to 0 to opt-out! More info: https://community.bistudio.com/wiki/Arma_3_Analytics
statisticsEnabled = 1;
// SERVER SECURITY/ANTI HACK
// Verify Signitures for Client Addons
// 0 = off.
// 1 = weak protection (depricated).
// 2 = full protection.
verifySignatures = 2;
// Secure Player ID
// 1 = Server warning message.
// 2 = Kick client.
requiredSecureId = 2;
// Kick Duplicate Player IDs
kickDuplicate = 1;
// BattlEye Anti-Cheat
// 0 = disable
// 1 = enable
BattlEye = 1;
// Allowed File Extentions
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
// SCRIPTING ISSUES
onUserConnected = "";
onUserDisconnected = "";
doubleIdDetected = "";
// SIGNATURE VERIFICATION
// kick = kick (_this select 0)
// ban = ban (_this select 0)
onUnsignedData = "kick (_this select 0)";
onHackedData = "kick (_this select 0)";
onDifferentData = "";
// HEADLESS CLIENT SUPPORT
// specify ip-adresses of allowed headless clients
headlessClients[] = {"127.0.0.1", "172.18.0.1"};
localClient[] = {"127.0.0.1", "172.18.0.1"};
// BattlEye Anti-Cheat License
// 0 = decline
// 1 = accept
battleyeLicense = 1;

View File

@ -11,7 +11,7 @@ Minimum required memory to run the server is around 512mb for a single user..
### Server Ports
Don't Starve Together only requires a single port to run. The default is 7777
Don't Starve Together only requires a single port to run. The default is 10999
| Port | default |
|---------|---------|

View File

@ -3,7 +3,7 @@
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-11-30T16:56:23+01:00",
"exported_at": "2021-02-08T10:56:34-06:00",
"name": "Eco",
"author": "info@goover.de",
"description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any player does in the world affects the underlying ecosystem.",
@ -12,7 +12,7 @@
"startup": "export DOTNET_BUNDLE_EXTRACT_BASE_DIR=.\/dotnet-bundle && .\/EcoServer",
"config": {
"files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\",\r\n \"PublicServer\": \"{{server.build.env.PUB_SRV}}\",\r\n \"Password\": \"{{server.build.env.SRV_PWD}}\",\r\n \"UPnPEnabled\": \"{{server.build.env.UPNP}}\",\r\n \"Description\": \"{{server.build.env.SRV_DES}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"[Server Initialization]... \",\r\n \"userInteraction\": []\r\n}",
"startup": "{\r\n \"done\": \"Web Server now listening on\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "exit"
},
@ -79,4 +79,4 @@
"rules": "required|string|max:20"
}
]
}
}

View File

@ -16,4 +16,8 @@ Fight on multiple fronts in Holdfast: Nations At War - A competitive multiplayer
> If you want a new nest you need to create it before importing the egg.
6. Restart the daemon on your node before creating a server using the new egg(s).
server_port 20100
steam_communications_port 8700
steam_query_port 27000
# You must restart your daemon after importing an egg

View File

@ -0,0 +1,14 @@
# Modiverse
Modiverse provides a sandbox environment with the ability to create and play mods such as TTT, Deathrun, FortWars, RP, and more! Use the many sandbox tools to build complex worlds with props, lights, thrusters, wheels, and much much more!
### Information
Default ServerConfiguration.json is provided to start the server, you must modify it with your own mods to customize the server. The game is currently in beta and as such the console is filled with debug spam, developers have noted that this will be removed when the game releases.
## Server Ports
| Port | default |
|-------------|---------|
| Game | 7777 |
| Query | 27015 |

View File

@ -0,0 +1,11 @@
{
"version": 1,
"pin": "0000",
"motdURL": "http://test.com/motd.html",
"motdDelay": 5,
"rconPassword" : "cHangeRC0nPasswOrD",
"mapCycle":
[
{"gameMode":"2285067974","comment":"Deathrun, Deathrun Example Map, ","map":"2286680373","assets":["2229481041"],"duration":1800}
]
}

View File

@ -0,0 +1,67 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-03-02T23:42:26+02:00",
"name": "Modiverse",
"author": "admin@softwarenoob.com",
"description": "Modiverse provides a sandbox environment with the ability to create and play mods such as TTT, Deathrun, FortWars, RP, and more! Use the many sandbox tools to build complex worlds with props, lights, thrusters, wheels, and much much more!",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:ubuntu_source"
],
"startup": ".\/KJMod\/Binaries\/Linux\/KJModServer -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -SteamServerName=\\\"{{HOSTNAME}}\\\" -KJModBaseUGCFolder=ServerData -DoNotRestartOnEmpty -InitUGCs -maxplayers={{MAX_PLAYERS}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"listening on port\"\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Modiverse install\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\nAPP_ID=1549820\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"Downloading the game as Steam user ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${APP_ID} ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# Server Configuration \r\nif [ -f \/mnt\/server\/KJModServer.sh ]; then\r\n rm \/mnt\/server\/KJModServer.sh\r\n echo \"Removing default script\"\r\nfi\r\nif [ ! -d \"\/mnt\/server\/KJMod\/Binaries\/Linux\/ServerData\" ]; then\r\n echo \"ServerData folder missing....Creating ServerData Folder\"\r\n mkdir -p \/mnt\/server\/KJMod\/Binaries\/Linux\/ServerData\r\n fi\r\n if [ -f \/mnt\/server\/KJMod\/Binaries\/Linux\/ServerData\/ServerConfiguration.json ]; then\r\n echo \"Config file exists already, skipping config file download\"\r\n else\r\n echo \"Config file missing...Downloading default ServerConfiguration file\"\r\n cd \/mnt\/server\/KJMod\/Binaries\/Linux\/ServerData || exit\r\n curl -sS -o ServerConfiguration.json https:\/\/github.com\/\/parkervcp\/eggs\/raw\/master\/steamcmd_servers\/modiverse\/ServerConfiguration.json\r\nfi\r\nchmod +x \/mnt\/server\/KJMod\/Binaries\/Linux\/KJModServer\r\necho \"\"\r\necho \"Installation completed, have fun!\"",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "Server name as shown to players in the various server browsing windows",
"env_variable": "HOSTNAME",
"default_value": "Pterodactyl Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32"
},
{
"name": "Query Port",
"description": "Query Port",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric"
},
{
"name": "Max Players",
"description": "The maximum amount of player slots, the value should be between 2 and 128.",
"env_variable": "MAX_PLAYERS",
"default_value": "128",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|between:2,128"
},
{
"name": "Auto Update",
"description": "Auto-update the game each time server is started, enter value 0 to disable.",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean"
}
]
}

View File

@ -1,15 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-01-01T18:31:11+02:00",
"exported_at": "2021-01-01T19:35:46+01:00",
"name": "PixARK",
"author": "hello@venatus.digital",
"description": "A simple Docker container with Wine to run PixARK using Pterodactyl Panel",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_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",
"images": [
"quay.io\/parkervcp\/pterodactyl-images:ubuntu_wine-source"
],
"startup": "wine64 .\/ShooterGame\/Binaries\/Win64\/PixARKServer.exe CubeWorld_Light?listen?MaxPlayers={{MAX_PLAYERS}}?SessionName={{SRV_NAME}}?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}",
@ -18,8 +21,8 @@
},
"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 --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +@sSteamCmdForcePlatformType windows +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit",
"container": "ubuntu:latest",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
@ -86,6 +89,24 @@
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric"
},
{
"name": "WINDOWS_INSTALL",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Server Name",
"description": "Name of the Server !!!! NO SPACES ALLOWED !!!!",
"env_variable": "SRV_NAME",
"default_value": "PteroPixARKServer",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:30"
}
]
}
}

View File

@ -0,0 +1,14 @@
# Post Scriptum
Post Scriptum is a WW2-themed first-person tactical shooter that provides an authentic WWII combat experience. Focusing on historical accuracy, large-scale battles, and a challenging battlefield demands an intense need for cohesion, communication, and teamwork.
## Server Ports
Post Scriptum requires Game and Query port to function, while RCON port is only required if you want to use RCON.
| Port | default |
|-------------|---------|
| Game | 10027 |
| Query | 10037 |
| RCON (optional) | 21114 |

View File

@ -0,0 +1,148 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-02-22T13:23:01+04:00",
"name": "Post Scriptum",
"author": "admin@softwarenoob.com",
"description": "Post Scriptum is a WW2-themed first-person tactical shooter that provides an authentic WWII combat experience. Focusing on historical accuracy, large-scale battles, and a challenging battlefield demands an intense need for cohesion, communication, and teamwork.",
"features": null,
"images": [
"quay.io\/pterodactyl\/core:source"
],
"startup": ".\/PostScriptumServer.sh Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -RCONPORT={{RCON_PORT}} -RCONPASSWORD={{RCON_PASSWORD}} -fullcrashdump -log",
"config": {
"files": "{\r\n \"PostScriptum\/ServerConfig\/Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName\": \"ServerName={{server.build.env.hostname}}\",\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.maxplayers}}\",\r\n \"AllowTeamChanges\": \"AllowTeamChanges={{server.build.env.allowteamchange}}\",\r\n \"ShouldAdvertise\": \"ShouldAdvertise={{server.build.env.advertise}}\",\r\n \"NumReservedSlots\": \"NumReservedSlots={{server.build.env.reservedslots}}\",\r\n \"PreventTeamChangeIfUnbalanced\": \"PreventTeamChangeIfUnbalanced={{server.build.env.team_change}}\",\r\n \"EnforceTeamBalance\": \"EnforceTeamBalance={{server.build.env.teambalance}}\",\r\n \"RecordDemos\": \"RecordDemos={{server.build.env.demo_recording}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Engine Initialization\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 746200 ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Query Port",
"description": "Server Query port",
"env_variable": "QUERY_PORT",
"default_value": "10037",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric"
},
{
"name": "RCON Port",
"description": "Port used for RCON connections",
"env_variable": "RCON_PORT",
"default_value": "21114",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric"
},
{
"name": "RCON Password",
"description": "Password for RCON connections, leave empty to disable.",
"env_variable": "RCON_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|regex:\/^[a-zA-Z0-9]*$\/"
},
{
"name": "Auto Update",
"description": "Auto-update the game each time server is started, enter value 0 to disable.",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean"
},
{
"name": "Server Name",
"description": "The name that will be displayed in the server browser list",
"env_variable": "hostname",
"default_value": "Pterodactyl Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32"
},
{
"name": "Max Players",
"description": "Sets the maximum number of players.",
"env_variable": "maxplayers",
"default_value": "80",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric"
},
{
"name": "Allow Team Change",
"description": "Allow players to change teams (true\/false)",
"env_variable": "allowteamchange",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "Advertise Server",
"description": "Display the server in the public server browser list (true\/false)",
"env_variable": "advertise",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "Reserved Slots",
"description": "The number of reserved slots",
"env_variable": "reservedslots",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:80"
},
{
"name": "Prevent team change",
"description": "This will prevent players from changing teams when teams are not balanced (true\/false)",
"env_variable": "team_change",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "Enforce Team Balance",
"description": "This will force team balance if the teams are uneven, by default 3 player difference. (true\/false)",
"env_variable": "teambalance",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "Record Demos",
"description": "This will record demos of the players (true\/false)",
"env_variable": "demo_recording",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "ld lib path",
"description": "This is required, do not touch it",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
}
]
}

View File

@ -1,13 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-10-11T07:16:29+02:00",
"exported_at": "2021-03-11T16:01:09+01:00",
"name": "Rising World",
"author": "info@goover.de",
"description": "Rising World is a voxel based open-world sandbox game, featuring a procedurally generated world, playable in single and multi-player.",
"image": "quay.io\/pterodactyl\/core:java",
"features": null,
"images": [
"quay.io\/pterodactyl\/core:java"
],
"file_denylist": [],
"startup": "java -Xmx{{SERVER_MEMORY}}M -jar server.jar +maxplayer={{MAX_PLAYERS}} +serverport={{SERVER_PORT}} +servername=\\\"{{SERVER_NAME}}\\\" +rconport {{RCON_PORT}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"rcon_enabled\": \"true\",\r\n \"rcon_password\": \"{{server.build.env.RCON_PASSWORD}}\",\r\n \"server_password\": \"{{server.build.env.SERVER_PASSWORD}}\"\r\n }\r\n }\r\n}",
@ -63,7 +68,7 @@
"name": "LD Library Path",
"description": "",
"env_variable": "LD_LIBRARY_PATH",
"default_value": "..\/linux64",
"default_value": ".\/linux64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"

View File

@ -1,13 +1,17 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2018-01-21T16:58:36-06:00",
"exported_at": "2021-02-25T22:11:15+02:00",
"name": "Rust Staging",
"author": "root@smc.li",
"description": "The only aim in Rust is to survive. To do this you will need to overcome struggles such as hunger, thirst and cold. Build a fire. Build a shelter. Kill animals for meat. Protect yourself from other players, and kill them for meat. Create alliances with other players and form a town. Do whatever it takes to survive.",
"image": "quay.io\/pterodactyl\/core:rust",
"features": null,
"images": [
"quay.io\/pterodactyl\/core:rust"
],
"startup": ".\/RustDedicated -batchmode +server.port {{SERVER_PORT}} +server.identity \"rust\" +rcon.port {{RCON_PORT}} +rcon.web true +server.hostname \\\"{{HOSTNAME}}\\\" +server.level \\\"{{LEVEL}}\\\" +server.description \\\"{{DESCRIPTION}}\\\" +server.url \\\"{{SERVER_URL}}\\\" +server.headerimage \\\"{{SERVER_IMG}}\\\" +server.worldsize \\\"{{WORLD_SIZE}}\\\" +server.seed \\\"{{WORLD_SEED}}\\\" +server.maxplayers {{MAX_PLAYERS}} +rcon.password \\\"{{RCON_PASS}}\\\" +server.saveinterval {{SAVEINTERVAL}} {{ADDITIONAL_ARGS}}",
"config": {
"files": "{}",
@ -17,8 +21,8 @@
},
"scripts": {
"installation": {
"script": "apt update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\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\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 258550 -beta staging +quit\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so",
"container": "ubuntu:16.04",
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"Downloading the game as Steam user ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update 258550 -beta ${BRANCH} ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
@ -28,8 +32,8 @@
"description": "The name of your server in the public server list.",
"env_variable": "HOSTNAME",
"default_value": "A Rust Staging Server",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:40"
},
{
@ -37,8 +41,8 @@
"description": "The world file for Rust to use.",
"env_variable": "LEVEL",
"default_value": "Procedural Map",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
@ -46,8 +50,8 @@
"description": "The description under your server title. Commonly used for rules & info. Use \\n for newlines.",
"env_variable": "DESCRIPTION",
"default_value": "Powered by Pterodactyl",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|string"
},
{
@ -55,8 +59,8 @@
"description": "The URL for your server. This is what comes up when clicking the \"Visit Website\" button.",
"env_variable": "SERVER_URL",
"default_value": "http:\/\/pterodactyl.io",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|url"
},
{
@ -64,8 +68,8 @@
"description": "The world size for a procedural map.",
"env_variable": "WORLD_SIZE",
"default_value": "3000",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|integer"
},
{
@ -73,8 +77,8 @@
"description": "The seed for a procedural map.",
"env_variable": "WORLD_SEED",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
@ -82,8 +86,8 @@
"description": "The maximum amount of players allowed in the server at once.",
"env_variable": "MAX_PLAYERS",
"default_value": "50",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|integer"
},
{
@ -91,8 +95,8 @@
"description": "The header image for the top of your server listing.",
"env_variable": "SERVER_IMG",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "nullable|url"
},
{
@ -100,8 +104,8 @@
"description": "Port for RCON connections.",
"env_variable": "RCON_PORT",
"default_value": "28016",
"user_viewable": 1,
"user_editable": 0,
"user_viewable": true,
"user_editable": false,
"rules": "required|integer"
},
{
@ -109,27 +113,45 @@
"description": "RCON access password.",
"env_variable": "RCON_PASS",
"default_value": "CHANGEME",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^[\\w.-]*$\/|max:64"
},
{
"name": "Save Interval",
"description": "Sets the servers auto-save interval in seconds.",
"description": "Sets the server\u2019s auto-save interval in seconds.",
"env_variable": "SAVEINTERVAL",
"default_value": "60",
"user_viewable": 1,
"user_editable": 1,
"user_viewable": true,
"user_editable": true,
"rules": "required|integer"
},
{
"name": "Additional Arguments",
"description": "Add additional startup parameters to the server.",
"env_variable": "ADDITIONAL_ARGS",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"name": "Branch",
"description": "Select the branch to install, such as staging or workcart",
"env_variable": "BRANCH",
"default_value": "staging",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string"
},
{
"name": "App Port",
"description": "Port for the Rust+ App. -1 to disable.",
"env_variable": "APP_PORT",
"default_value": "28082",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer"
},
{
"name": "Server Logo",
"description": "The circular server logo for the Rust+ app.",
"env_variable": "SERVER_LOGO",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|url"
}
]
}

View File

@ -1,23 +1,27 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-11-05T01:08:38+01:00",
"exported_at": "2021-01-08T14:18:35+01:00",
"name": "SCP:SL",
"author": "info@goover.de",
"description": "Egg for SCP: Secret Laboratory Dedicated Linux Server",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete"
],
"startup": ".\/LocalAdmin {{SERVER_PORT}}",
"config": {
"files": "{\r\n \"config_gameplay.txt\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server_ip\": \"0.0.0.0\",\r\n \"forward_ports\": \"false\"\r\n }\r\n }\r\n}",
"files": "{}",
"startup": "{\r\n \"done\": \"Waiting for players..\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n#echo 'gamedir_for_configs: true' >> \/mnt\/server\/hoster_policy.txt\r\n#chmod +x \/mnt\/server\/hoster_policy.txt\r\n\r\n#URL=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/MultiAdmin\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\n#wget -P \/mnt\/server\/ $URL\r\n#chmod +x \/mnt\/server\/MultiAdmin.exe\r\n\r\n#SmodVersion=$(curl https:\/\/api.github.com\/repos\/Grover-c13\/Smod2\/releases\/latest | grep tag_name | cut -d '\"' -f 4)\r\n#AssemblyURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Assembly-CSharp.dll\"\r\n#SmodURL=\"https:\/\/github.com\/Grover-c13\/Smod2\/releases\/download\/${SmodVersion}\/Smod2.dll\"\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll $SmodURL\r\n#wget -O \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll $AssemblyURL\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Smod2.dll\r\n#chmod +x \/mnt\/server\/SCPSL_Data\/Managed\/Assembly-CSharp.dll",
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p $HOME\/.config",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -42,4 +46,4 @@
"rules": "required|string"
}
]
}
}

View File

@ -0,0 +1,27 @@
# Space Engineers
Space Engineers is a voxel-based sandbox game set in space and on planets.
Many parts of this egg are based on the work of [mmmaxwwwell](https://github.com/mmmaxwwwell/space-engineers-dedicated-docker-linux). A thank you therefore goes to him.
**NOTE**
Because of the winetricks installation, the install process could take some time. Likewise, the first start of the server takes its time.
When installed, the Server loads a base World and config from this repo. New world must be generated with the Windows Dedicated Server and then uploaded to the /config/Saves folder.
Everything which is not defined in a variable could be edited directy in the config file /config/SpaceEngineers-Dedicated.cfg.
## Minumum server settings
### RAM
This server requires about 6GB.
Based on the information provided by the developer: [See here](https://www.spaceengineersgame.com/dedicated-servers/)
### Disk
This server uses about 7GB of diskspace.
## Server Ports
| Port | default |
|-------|---------|
| Game | 27016 |
| Steam | 8766 |
| API | 8081 |

View File

@ -0,0 +1,167 @@
<?xml version="1.0"?>
<MyConfigDedicated xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<SessionSettings>
<GameMode>Survival</GameMode>
<InventorySizeMultiplier>3</InventorySizeMultiplier>
<BlocksInventorySizeMultiplier>1</BlocksInventorySizeMultiplier>
<AssemblerSpeedMultiplier>3</AssemblerSpeedMultiplier>
<AssemblerEfficiencyMultiplier>3</AssemblerEfficiencyMultiplier>
<RefinerySpeedMultiplier>3</RefinerySpeedMultiplier>
<OnlineMode>PUBLIC</OnlineMode>
<MaxPlayers>4</MaxPlayers>
<MaxFloatingObjects>56</MaxFloatingObjects>
<MaxBackupSaves>5</MaxBackupSaves>
<MaxGridSize>0</MaxGridSize>
<MaxBlocksPerPlayer>0</MaxBlocksPerPlayer>
<TotalPCU>100000</TotalPCU>
<PiratePCU>50000</PiratePCU>
<MaxFactionsCount>0</MaxFactionsCount>
<BlockLimitsEnabled>GLOBALLY</BlockLimitsEnabled>
<EnableRemoteBlockRemoval>true</EnableRemoteBlockRemoval>
<EnvironmentHostility>SAFE</EnvironmentHostility>
<AutoHealing>true</AutoHealing>
<EnableCopyPaste>false</EnableCopyPaste>
<WeaponsEnabled>true</WeaponsEnabled>
<ShowPlayerNamesOnHud>true</ShowPlayerNamesOnHud>
<ThrusterDamage>true</ThrusterDamage>
<CargoShipsEnabled>true</CargoShipsEnabled>
<EnableSpectator>false</EnableSpectator>
<WorldSizeKm>0</WorldSizeKm>
<RespawnShipDelete>false</RespawnShipDelete>
<ResetOwnership>false</ResetOwnership>
<WelderSpeedMultiplier>2</WelderSpeedMultiplier>
<GrinderSpeedMultiplier>2</GrinderSpeedMultiplier>
<RealisticSound>false</RealisticSound>
<HackSpeedMultiplier>0.33</HackSpeedMultiplier>
<PermanentDeath>false</PermanentDeath>
<AutoSaveInMinutes>5</AutoSaveInMinutes>
<EnableSaving>true</EnableSaving>
<InfiniteAmmo>false</InfiniteAmmo>
<EnableContainerDrops>true</EnableContainerDrops>
<SpawnShipTimeMultiplier>0</SpawnShipTimeMultiplier>
<ProceduralDensity>0.35</ProceduralDensity>
<ProceduralSeed>0</ProceduralSeed>
<DestructibleBlocks>true</DestructibleBlocks>
<EnableIngameScripts>false</EnableIngameScripts>
<ViewDistance>15000</ViewDistance>
<EnableToolShake>true</EnableToolShake>
<VoxelGeneratorVersion>4</VoxelGeneratorVersion>
<EnableOxygen>true</EnableOxygen>
<EnableOxygenPressurization>true</EnableOxygenPressurization>
<Enable3rdPersonView>true</Enable3rdPersonView>
<EnableEncounters>true</EnableEncounters>
<EnableConvertToStation>true</EnableConvertToStation>
<StationVoxelSupport>false</StationVoxelSupport>
<EnableSunRotation>true</EnableSunRotation>
<EnableRespawnShips>true</EnableRespawnShips>
<ScenarioEditMode>false</ScenarioEditMode>
<Scenario>false</Scenario>
<CanJoinRunning>false</CanJoinRunning>
<PhysicsIterations>8</PhysicsIterations>
<SunRotationIntervalMinutes>119.999992</SunRotationIntervalMinutes>
<EnableJetpack>true</EnableJetpack>
<SpawnWithTools>true</SpawnWithTools>
<StartInRespawnScreen>false</StartInRespawnScreen>
<EnableVoxelDestruction>true</EnableVoxelDestruction>
<MaxDrones>5</MaxDrones>
<EnableDrones>true</EnableDrones>
<EnableWolfs>false</EnableWolfs>
<EnableSpiders>false</EnableSpiders>
<FloraDensityMultiplier>1</FloraDensityMultiplier>
<EnableStructuralSimulation>false</EnableStructuralSimulation>
<MaxActiveFracturePieces>50</MaxActiveFracturePieces>
<BlockTypeLimits>
<dictionary />
</BlockTypeLimits>
<EnableScripterRole>false</EnableScripterRole>
<MinDropContainerRespawnTime>5</MinDropContainerRespawnTime>
<MaxDropContainerRespawnTime>20</MaxDropContainerRespawnTime>
<EnableTurretsFriendlyFire>false</EnableTurretsFriendlyFire>
<EnableSubgridDamage>false</EnableSubgridDamage>
<SyncDistance>3000</SyncDistance>
<ExperimentalMode>false</ExperimentalMode>
<AdaptiveSimulationQuality>true</AdaptiveSimulationQuality>
<EnableVoxelHand>true</EnableVoxelHand>
<RemoveOldIdentitiesH>0</RemoveOldIdentitiesH>
<TrashRemovalEnabled>true</TrashRemovalEnabled>
<StopGridsPeriodMin>15</StopGridsPeriodMin>
<TrashFlagsValue>1562</TrashFlagsValue>
<AFKTimeountMin>0</AFKTimeountMin>
<BlockCountThreshold>20</BlockCountThreshold>
<PlayerDistanceThreshold>500</PlayerDistanceThreshold>
<OptimalGridCount>0</OptimalGridCount>
<PlayerInactivityThreshold>0</PlayerInactivityThreshold>
<PlayerCharacterRemovalThreshold>15</PlayerCharacterRemovalThreshold>
<VoxelTrashRemovalEnabled>false</VoxelTrashRemovalEnabled>
<VoxelPlayerDistanceThreshold>5000</VoxelPlayerDistanceThreshold>
<VoxelGridDistanceThreshold>5000</VoxelGridDistanceThreshold>
<VoxelAgeThreshold>24</VoxelAgeThreshold>
<EnableResearch>true</EnableResearch>
<EnableGoodBotHints>true</EnableGoodBotHints>
<OptimalSpawnDistance>16000</OptimalSpawnDistance>
<EnableAutorespawn>true</EnableAutorespawn>
<EnableBountyContracts>true</EnableBountyContracts>
<EnableSupergridding>false</EnableSupergridding>
<EnableEconomy>false</EnableEconomy>
<DepositsCountCoefficient>2</DepositsCountCoefficient>
<DepositSizeDenominator>30</DepositSizeDenominator>
<WeatherSystem>true</WeatherSystem>
<HarvestRatioMultiplier>1</HarvestRatioMultiplier>
<TradeFactionsCount>15</TradeFactionsCount>
<StationsDistanceInnerRadius>10000000</StationsDistanceInnerRadius>
<StationsDistanceOuterRadiusStart>10000000</StationsDistanceOuterRadiusStart>
<StationsDistanceOuterRadiusEnd>30000000</StationsDistanceOuterRadiusEnd>
<EconomyTickInSeconds>1200</EconomyTickInSeconds>
<SimplifiedSimulation>false</SimplifiedSimulation>
<SuppressedWarnings />
<EnablePcuTrading>true</EnablePcuTrading>
<FamilySharing>true</FamilySharing>
<EnableSelectivePhysicsUpdates>false</EnableSelectivePhysicsUpdates>
<PredefinedAsteroids>true</PredefinedAsteroids>
<UseConsolePCU>false</UseConsolePCU>
<MaxPlanets>99</MaxPlanets>
<OffensiveWordsFiltering>false</OffensiveWordsFiltering>
<AdjustableMaxVehicleSpeed>true</AdjustableMaxVehicleSpeed>
</SessionSettings>
<LoadWorld>C:\Users\USERNAME\AppData\Roaming\SpaceEngineersDedicated\Saves\World</LoadWorld>
<IP>0.0.0.0</IP>
<SteamPort>8766</SteamPort>
<ServerPort>27016</ServerPort>
<AsteroidAmount>0</AsteroidAmount>
<Administrators />
<Banned />
<GroupID>0</GroupID>
<ServerName />
<WorldName>World</WorldName>
<VerboseNetworkLogging>false</VerboseNetworkLogging>
<PauseGameWhenEmpty>false</PauseGameWhenEmpty>
<MessageOfTheDay />
<MessageOfTheDayUrl />
<AutoRestartEnabled>true</AutoRestartEnabled>
<AutoRestatTimeInMin>0</AutoRestatTimeInMin>
<AutoRestartSave>true</AutoRestartSave>
<AutoUpdateEnabled>false</AutoUpdateEnabled>
<AutoUpdateCheckIntervalInMin>10</AutoUpdateCheckIntervalInMin>
<AutoUpdateRestartDelayInMin>15</AutoUpdateRestartDelayInMin>
<AutoUpdateSteamBranch />
<AutoUpdateBranchPassword />
<IgnoreLastSession>false</IgnoreLastSession>
<PremadeCheckpointPath />
<ServerDescription />
<ServerPasswordHash />
<ServerPasswordSalt>O+61kcmfFdESpxZr3sQdYQ==</ServerPasswordSalt>
<Reserved />
<RemoteApiEnabled>false</RemoteApiEnabled>
<RemoteSecurityKey>fw8j74YGyC9HnbVWwuyRSA==</RemoteSecurityKey>
<RemoteApiPort>8080</RemoteApiPort>
<Plugins />
<WatcherInterval>30</WatcherInterval>
<WatcherSimulationSpeedMinimum>0.05</WatcherSimulationSpeedMinimum>
<ManualActionDelay>5</ManualActionDelay>
<ManualActionChatMessage>Server will be shut down in {0} min(s).</ManualActionChatMessage>
<AutodetectDependencies>true</AutodetectDependencies>
<SaveChatToLog>false</SaveChatToLog>
<NetworkType>steam</NetworkType>
<ConsoleCompatibility>false</ConsoleCompatibility>
<NetworkParameters />
</MyConfigDedicated>

Binary file not shown.

View File

@ -0,0 +1,158 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-03-17T23:07:02+01:00",
"name": "Space Engineers",
"author": "tueye@tuworld.de",
"description": "Space Engineers is a voxel-based sandbox game set in space and on planets.",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_wine-5"
],
"file_denylist": [],
"startup": "cd \/home\/container\/spaceengineers\/DedicatedServer64\/; wine \/home\/container\/spaceengineers\/DedicatedServer64\/SpaceEngineersDedicated.exe -path Z:\\\\home\\\\container\\\\config -noconsole -ignorelastsession",
"config": {
"files": "{\r\n \"config\/SpaceEngineers-Dedicated.cfg\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"MyConfigDedicated.SessionSettings.GameMode\": \"{{server.build.env.SERVER_MODE}}\",\r\n \"MyConfigDedicated.SessionSettings.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"MyConfigDedicated.SessionSettings.AutoSaveInMinutes\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"MyConfigDedicated.SessionSettings.EnableSaving\": \"{{server.build.env.SAVE_ENABLED}}\",\r\n \"MyConfigDedicated.LoadWorld\": \"Z:\\\\home\\\\container\\\\config\\\\Saves\\\\{{server.build.env.WORLD_NAME}}\\\\Sandbox.sbc\",\r\n \"MyConfigDedicated.ServerPort\": \"{{server.build.default.port}}\",\r\n \"MyConfigDedicated.SteamPort\": \"{{server.build.env.STEAM_PORT}}\",\r\n \"MyConfigDedicated.ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"MyConfigDedicated.WorldName\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"MyConfigDedicated.ServerDescription\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"MyConfigDedicated.RemoteApiEnabled\": \"{{server.build.env.REMOTEAPI_ENABLE}}\",\r\n \"MyConfigDedicated.RemoteApiPort\": \"{{server.build.env.REMOTEAPI_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Game ready...\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n## Define variables\r\ndlurl=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/steamcmd_servers\/space_engineers\"\r\nexport HOME=\/mnt\/server\r\n\r\n## Install dependencies\r\ndpkg --add-architecture i386\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates libsdl2-2.0-0:i386 cabextract\r\napt install -y --install-recommends wine wine64 xvfb\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\nchown -R root:root \/mnt\r\n\r\n## Install game using steamcmd\r\nmkdir $HOME\/spaceengineers\r\n.\/steamcmd.sh +login anonymous +@sSteamCmdForcePlatformType windows +force_install_dir $HOME\/spaceengineers +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## Create world and config\r\nmkdir -p $HOME\/config\/Saves\r\nif [ ! -d $HOME\/config\/Saves\/World ]\r\nthen\r\n curl $dlurl\/World.zip -o \/tmp\/World.zip\r\n unzip \/tmp\/World.zip -d $HOME\/config\/Saves\/\r\nfi\r\nif [ ! -f $HOME\/config\/SpaceEngineers-Dedicated.cfg ]; then curl $dlurl\/SpaceEngineers-Dedicated.cfg -o $HOME\/config\/SpaceEngineers-Dedicated.cfg; fi\r\n\r\n## Install WineTricks\r\nexport DISPLAY=:0.0\r\nexport WINEPREFIX=$HOME\/.wine\r\nrm -r $HOME\/.wine\r\nrm -r $HOME\/.cache\r\nmkdir -p $HOME\/.wine\r\nmkdir \/tmp\/winetricks\r\ncurl https:\/\/raw.githubusercontent.com\/Winetricks\/winetricks\/master\/src\/winetricks -o \/tmp\/winetricks\/winetricks\r\nchmod +x \/tmp\/winetricks\/winetricks\r\nXvfb :0 -screen 0 1024x768x16 &\r\nenv WINEDLLOVERRIDES=\"mscoree=d;mshtml=d\" wineboot --init --force \/nogui\r\nenv \/tmp\/winetricks\/winetricks -q vcrun2017 \r\nenv \/tmp\/winetricks\/winetricks -q vcrun2013 \r\nenv \/tmp\/winetricks\/winetricks -q sound=disabled \r\nenv \/tmp\/winetricks\/winetricks -q corefonts\r\nenv \/tmp\/winetricks\/winetricks -q --force dotnet48",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "APP ID",
"description": "The ID corresponding to the game to download.",
"env_variable": "APPID",
"default_value": "298740",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|digits_between:1,6"
},
{
"name": "Server Name",
"description": "Name of the server, appears in Steam browser.",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl Space Engineer Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
"name": "World Name",
"description": "Name of your world (and of your save folder)",
"env_variable": "WORLD_NAME",
"default_value": "World",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Server Description",
"description": "Description of the game",
"env_variable": "SERVER_DESC",
"default_value": "Pterodactyl Space Engineer Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:200"
},
{
"name": "Game Mode",
"description": "Game Mode setting: Survival, Creative",
"env_variable": "SERVER_MODE",
"default_value": "Survival",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:Survival,Creative"
},
{
"name": "Maximum Players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Enable Saving",
"description": "",
"env_variable": "SAVE_ENABLED",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "Auto Save Interval",
"description": "Time between auto saves specified in minutes",
"env_variable": "SAVE_INTERVAL",
"default_value": "5",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Steam Port",
"description": "Steam Port",
"env_variable": "STEAM_PORT",
"default_value": "8766",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:65535"
},
{
"name": "Enable Remote Api",
"description": "Enable Remote Api",
"env_variable": "REMOTEAPI_ENABLE",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false"
},
{
"name": "Remote Api Port",
"description": "Remote Api Port",
"env_variable": "REMOTEAPI_PORT",
"default_value": "8081",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|max:65535"
},
{
"name": "WINEARCH",
"description": "WINEARCH. win32 or win64",
"env_variable": "WINEARCH",
"default_value": "win64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:win32,win64"
},
{
"name": "WINEPREFIX",
"description": "WINEPREFIX",
"env_variable": "WINEPREFIX",
"default_value": "\/home\/container\/.wine",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:64"
},
{
"name": "WINEDEBUG",
"description": "WINEDEBUG: Debug Level of wine",
"env_variable": "WINEDEBUG",
"default_value": "-all",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string|max:20"
}
]
}

View File

@ -0,0 +1,22 @@
## Subnautica: Nitrox Mod
Subnautica is an open world survival action-adventure video game developed and published by Unknown Worlds Entertainment.
In it, players are free to explore the ocean on an alien planet, known as planet 4546B, after their spaceship, the Aurora, crashes on the planet's surface.
The multiplayer function is provided by the mod "Nitrox". This mod is still in alpha version and therefore not yet fully stable.
**NOTE**
To download the base game, you will need to authenticate against Steam.
Because of the normally active Steamgaurd protection, it is important to enter the Steamgaurd code.
Once the initial installation is complete, you will need to enter the Steamguard code that will be emailed to you and then reinstall the server.
This will only work if you receive Steamguard codes via mail. The Authenticator app is not supported.
## Server Ports
The nitrox server requires only the default Server port.
| Port | default |
|---------|---------|
| Server | any |

View File

@ -0,0 +1,130 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-02-28T17:37:13+01:00",
"name": "Subnautica",
"author": "tueye@tuworld.de",
"description": "Subnautica is an open world survival action-adventure video game developed and published by Unknown Worlds Entertainment. In it, players are free to explore the ocean on an alien planet, known as planet 4546B, after their spaceship, the Aurora, crashes on the planet's surface.",
"features": null,
"images": [
"quay.io\/pterodactyl\/core:mono"
],
"startup": ".\/start.sh",
"config": {
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"ServerPort\": \"{{server.build.default.port}}\",\r\n \"SaveInterval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"DisableAutoSave\": \"{{server.build.env.SAVE_DISABLE}}\",\r\n \"SaveName\": \"{{server.build.env.SAVE_NAME}}\",\r\n \"ServerPassword\": \"{{server.build.env.SUBNAUTICA_PASSWORD}}\",\r\n \"AdminPassword\": \"{{server.build.env.SUBNAUTICA_ADMIN_PASSWORD}}\",\r\n \"GameMode\": \"{{server.build.env.SERVER_MODE}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server is waiting for players!\"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Installation Script\r\n#\r\n# Install dependencies\r\napt update\r\napt -y --no-install-recommends install curl unzip libstdc++6 lib32gcc1 ca-certificates nuget git\r\n\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n\r\n## Install game using steamcmd\r\nGUARDCODE=\"${STEAM_GUARDCODE}\"\r\nif [ -z $GUARDCODE ]\r\nthen\r\n echo \"\"\r\n echo \"### You did not specify a Steam Guardcode\"\r\n echo \"### A new one should be send to you shortly\"\r\n echo \"### Enter it in the startup-config after this installation is finished and reinstall the Server\"\r\n sleep 10\r\n timeout 60 .\/steamcmd.sh +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +quit\r\n exit 1\r\nfi\r\n\r\nmkdir $HOME\/subnautica\r\n.\/steamcmd.sh +set_steam_guard_code ${STEAM_GUARDCODE} +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +@sSteamCmdForcePlatformType windows +force_install_dir $HOME\/subnautica +app_update ${APPID} ${EXTRA_FLAGS} validate +quit\r\nstatus=$?\r\n\r\nif [ $status -ne 0 ]\r\nthen\r\n echo \"\"\r\n echo \"### The Download was not successful\"\r\n echo \"### Probably the entered Guardcode was wrong\"\r\n echo \"### A new one should be send to you shortly\"\r\n echo \"### Enter it in the startup-config after this installation is finished and reinstall the Server\"\r\n sleep 10\r\n sleep 10\r\n timeout 30 .\/steamcmd.sh +login ${STEAM_USERNAME} ${STEAM_PASSWORD} +quit\r\n exit 1\r\nfi\r\n\r\n\r\n## Install Nitrox using git\r\n[ -d \"$HOME\/nitrox\" ] && rm -r $HOME\/nitrox\r\ngit clone --recursive https:\/\/github.com\/SubnauticaNitrox\/Nitrox.git --branch ${NITROX_VERSION} $HOME\/nitrox\r\n\r\n\r\n## set up 32 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## Prepare building Nitrox\r\ncd $HOME\/nitrox\r\nnuget restore\r\n\r\n\r\n## Create path files to Subnautica Install-Dir\r\necho \"\/home\/container\/subnautica\" > $HOME\/path.txt\r\ncp $HOME\/nitrox\/DevVars.targets.example $HOME\/nitrox\/DevVars.targets\r\nsed -i 's#<SubnauticaDir>C:\\\\Program Files\\\\Epic Games\\\\Subnautica<\/SubnauticaDir>#<SubnauticaDir>\/mnt\/server\/subnautica<\/SubnauticaDir>#' $HOME\/nitrox\/DevVars.targets\r\n\r\n\r\n## Build Nitrox\r\nmsbuild\r\n\r\n\r\n## Configure server startup config\r\necho \"#!\/bin\/sh\r\nexport MONO_PATH=$MONO_PATH:\/home\/container\/nitrox\/NitroxModel-Subnautica\/bin\/Debug\/\r\nmono .\/nitrox\/NitroxServer-Subnautica\/bin\/Debug\/NitroxServer-Subnautica.exe\" > \/mnt\/server\/start.sh\r\nchmod +x \/mnt\/server\/start.sh\r\n\r\n\r\n## Create Config\r\nif [ -e $HOME\/server.cfg ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"writing server default settings\"\r\n cat <<EOT > $HOME\/server.cfg\r\n # Server settings can be changed here\r\n ServerPort=11000\r\n # Measured in milliseconds\r\n SaveInterval=120000\r\n MaxConnections=100\r\n DisableConsole=False\r\n DisableAutoSave=False\r\n SaveName=world\r\n ServerPassword=\r\n AdminPassword=PleaseChangeMe\r\n # Possible values: SURVIVAL, FREEDOM, HARDCORE, CREATIVE\r\n GameMode=SURVIVAL\r\n # Possible values: PROTOBUF, JSON\r\n SerializerMode=PROTOBUF\r\n #\r\n # Default player stats below here\r\n DefaultOxygenValue=45\r\n DefaultMaxOxygenValue=45\r\n DefaultHealthValue=80\r\n DefaultHungerValue=50.5\r\n DefaultThirstValue=90.5\r\n # Recommended to keep at 0.1f which is the default starting value. If set to 0 then new players are cured by default.\r\n DefaultInfectionValue=0.1\r\nEOT\r\nfi",
"container": "mono:latest",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "APP ID",
"description": "The ID corresponding to the game to download.",
"env_variable": "APPID",
"default_value": "264710",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|digits_between:1,6"
},
{
"name": "Steam-Username",
"description": "Your Steam-Account SUername",
"env_variable": "STEAM_USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
"name": "Steam-Password",
"description": "Your Steam Account Password",
"env_variable": "STEAM_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64"
},
{
"name": "Steam-GuardCode",
"description": "Yout Steam Guard Code",
"env_variable": "STEAM_GUARDCODE",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:6"
},
{
"name": "Nitrox Version",
"description": "Which version of Nitrox to install and use. Enter Github tags or branch name.",
"env_variable": "NITROX_VERSION",
"default_value": "1.4.0.0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,12"
},
{
"name": "Auto Save Interval",
"description": "Time between auto saves specified in milliseconds",
"env_variable": "SAVE_INTERVAL",
"default_value": "120000",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:6,7"
},
{
"name": "Disable Auto Save",
"description": "Disables Auto Save: False \/ True",
"env_variable": "SAVE_DISABLE",
"default_value": "False",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:True,False"
},
{
"name": "Save Name",
"description": "The save name for the server.",
"env_variable": "SAVE_NAME",
"default_value": "world",
"user_viewable": true,
"user_editable": true,
"rules": "alpha_dash|between:1,100"
},
{
"name": "Server Password",
"description": "Password neccessary for connecting to the Server",
"env_variable": "SUBNAUTICA_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:3,12"
},
{
"name": "Admin Password",
"description": "If specified, players must provide this password to gain access to administrator commands on the server.",
"env_variable": "SUBNAUTICA_ADMIN_PASSWORD",
"default_value": "PleaseChangeMe",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|between:3,12"
},
{
"name": "Game Mode",
"description": "Game Mode setting: SURVIVAL, FREEDOM, HARDCORE, CREATIVE",
"env_variable": "SERVER_MODE",
"default_value": "SURVIVAL",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:SURVIVAL,FREEDOM,HARDCORE,CREATIVE"
}
]
}

View File

@ -0,0 +1,22 @@
# Valheim Plus Mod
##Valheim
A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture. Battle, build, and conquer your way to a saga worthy of Odins patronage!
https://store.steampowered.com/app/892970/Valheim/
##Plus Mod
A HarmonyX Mod aimed at improving the gameplay quality of Valheim. The mod includes several different main features including modifiers to ingame stats of players, buildings and entities and a sophisticated system to build and place objects with high precision and a system to modify already placed objects with high precision. The general goal is to provide V+ as a base modification for your gameplay to increase quality of life, change difficulty or have a better experience in general. The mod also comes with a version and configuration control system for servers and users, allowing servers to make sure that only people with the same configuration are able to join their servers.
Support: https://github.com/valheimPlus/ValheimPlus
Discord: https://discord.gg/AmH6Va97GT
***!!! ATTENTION !!!***
***All (Server + Clients) need to have a installed Valheim Plus Mod !!!!***
## Server Ports
| Port | default |
|-------|---------|
| Game | 2456 |
| Query | 2457 |

View File

@ -0,0 +1,140 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-03-08T17:51:46+01:00",
"name": "Valheim Plus Mod",
"author": "info@goover.de",
"description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture.",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_source"
],
"file_denylist": [],
"startup": "export templdpath=$LD_LIBRARY_PATH; export DOORSTOP_ENABLE=TRUE; export DOORSTOP_INVOKE_DLL_PATH=.\/BepInEx\/core\/BepInEx.Preloader.dll; export DOORSTOP_CORLIB_OVERRIDE_PATH=.\/unstripped_corlib; export LD_LIBRARY_PATH=.\/doorstop_libs:$LD_LIBRARY_PATH; export LD_PRELOAD=libdoorstop_x64.so:$LD_PRELOAD; export LD_LIBRARY_PATH=.\/linux64:$LD_LIBRARY_PATH; export SteamAppId=892970; .\/valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{SERVER_PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" -public ${PUBLIC} > >(sed -uE \"{{FILTER}}\") & trap \"{{STOP}}\" 15; wait $!",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"DungeonDB Start\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates unzip jq wget\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\ncd \/mnt\/server\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH\r\nrm -fR $MATCH\r\n\r\nchmod u+x start_server_bepinex.sh",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "Name that appears in server browser.",
"env_variable": "SERVER_NAME",
"default_value": "My Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:60"
},
{
"name": "Server Password",
"description": "Server password.",
"env_variable": "PASSWORD",
"default_value": "secret",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:5|max:20"
},
{
"name": "World Name",
"description": "Name to load if switching between multiple saved worlds.",
"env_variable": "WORLD",
"default_value": "Dedicated",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "App ID",
"description": "Valheim steam app id for auto updates.",
"env_variable": "SRCDS_APPID",
"default_value": "896660",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|numeric"
},
{
"name": "LD Library Path",
"description": "Required to load server libraries.",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".\/linux64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Auto Update",
"description": "",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "GITHUB_PACKAGE",
"description": "",
"env_variable": "GITHUB_PACKAGE",
"default_value": "valheimPlus\/ValheimPlus",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:40"
},
{
"name": "Version",
"description": "",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "MATCH",
"description": "",
"env_variable": "MATCH",
"default_value": "UnixServer.zip",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20"
},
{
"name": "Public Server",
"description": "",
"env_variable": "PUBLIC",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "Filter",
"description": "",
"env_variable": "FILTER",
"default_value": "\/^\\(Filename:.*Line:[[:space:]]+[[:digit:]]+\\)$\/d; \/^([[:space:]]+)?$\/d",
"user_viewable": false,
"user_editable": false,
"rules": "string"
},
{
"name": "Shutdown Command",
"description": "",
"env_variable": "STOP",
"default_value": "kill -2 $!; wait;",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
}
]
}

View File

@ -0,0 +1,11 @@
# Valheim Server
A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture. Battle, build, and conquer your way to a saga worthy of Odins patronage!
https://store.steampowered.com/app/892970/Valheim/
## Server Ports
| Port | default |
|-------|---------|
| Game | 2456 |
| Query | 2457 |

View File

@ -0,0 +1,103 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2021-02-17T16:43:58+01:00",
"name": "Valheim",
"author": "magi1053@outlook.com",
"description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture.",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:debian_source"
],
"startup": ".\/valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{SERVER_PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" > >(sed -uE \"{{FILTER}}\") & trap \"{{STOP}}\" 15; wait $!",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"DungeonDB Start\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "Name that appears in server browser.",
"env_variable": "SERVER_NAME",
"default_value": "My Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:60"
},
{
"name": "Server Password",
"description": "Server password.",
"env_variable": "PASSWORD",
"default_value": "secret",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:5|max:20"
},
{
"name": "World Name",
"description": "Name to load if switching between multiple saved worlds.",
"env_variable": "WORLD",
"default_value": "Dedicated",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
},
{
"name": "App ID",
"description": "Valheim steam app id for auto updates.",
"env_variable": "SRCDS_APPID",
"default_value": "896660",
"user_viewable": true,
"user_editable": false,
"rules": "nullable|numeric"
},
{
"name": "LD Library Path",
"description": "Required to load server libraries.",
"env_variable": "LD_LIBRARY_PATH",
"default_value": ".\/linux64",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Console Filter",
"description": "Remove spam from the console output.",
"env_variable": "FILTER",
"default_value": "\/^\\(Filename:.*Line:[[:space:]]+[[:digit:]]+\\)$\/d; \/^([[:space:]]+)?$\/d",
"user_viewable": false,
"user_editable": false,
"rules": "string"
},
{
"name": "Shutdown Command",
"description": "Commands to trigger a server shutdown.",
"env_variable": "STOP",
"default_value": "kill -2 $!; wait;",
"user_viewable": false,
"user_editable": false,
"rules": "required|string"
},
{
"name": "Auto Update",
"description": "",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
}
]
}

View File

@ -35,7 +35,7 @@ Counter-Strike: Global Offensive (CS: GO) expands upon the team-based action gam
This is a generic one size fit's all egg that supports srcds game servers.
This is not for games like Counter Strike 1.6 which is an HLDS title. See [HLDS server](/source_servers/hlds_server)
This is not for games like Counter Strike 1.6 which is an HLDS title. See [HLDS server](/steamcmd_servers/hlds_server)
### Port Requirements
| Port | default |
@ -67,4 +67,4 @@ Nine distinct classes provide a broad range of tactical abilities and personalit
### Port Requirements
| Port | default |
|----------|---------|
| Game | 27015 |
| Game | 27015 |

View File

@ -1,14 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-10-23T22:27:50+00:00",
"exported_at": "2021-01-13T22:27:35+00:00",
"name": "Teamspeak3 Server",
"author": "support@pterodactyl.io",
"description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalabilty up to thousands of simultaneous users.",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"startup": ".\/ts3server default_voice_port={{SERVER_PORT}} query_port={{SERVER_PORT}} filetransfer_ip=0.0.0.0 filetransfer_port={{FILE_TRANSFER}} license_accepted=1",
"features": null,
"images": [
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
],
"startup": ".\/ts3server default_voice_port={{SERVER_PORT}} query_port={{SERVER_QUERY}} filetransfer_ip=0.0.0.0 filetransfer_port={{FILE_TRANSFER}} license_accepted=1",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"listening on 0.0.0.0:\",\r\n \"userInteraction\": []\r\n}",
@ -17,7 +21,7 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# TS3 Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y tar curl jq bzip2\r\n\r\nif [ -z ${TS_VERSION} ] || [ ${TS_VERSION} == latest ]; then\r\n TS_VERSION=$(curl https:\/\/teamspeak.com\/versions\/server.json -s | jq -r '.linux.x86_64.version')\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n\r\necho -e \"getting files from http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2\"\r\ncurl http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar xj --strip-components=1",
"script": "#!\/bin\/bash\r\n# TS3 Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y tar curl jq bzip2\r\n\r\nif [ -z ${TS_VERSION} ] || [ ${TS_VERSION} == latest ]; then\r\n TS_VERSION=$(curl -sSL https:\/\/teamspeak.com\/versions\/server.json | jq -r '.linux.x86_64.version')\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting files from http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2\" \r\ncurl -L http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar -xvj --strip-components=1\r\n\r\nrm teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2",
"container": "debian:buster-slim",
"entrypoint": "bash"
}
@ -40,6 +44,15 @@
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
},
{
"name": "Server Query Port",
"description": "Teamspeak's Server Query Port",
"env_variable": "SERVER_QUERY",
"default_value": "10011",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1,65535"
}
]
}

View File

@ -3,6 +3,8 @@
## Features
Auto generate keys on server creation bypassing default minio keys
## Update
Auto update minio to latest version using "update" startup feature
Automatic Key rotation using "rotate" startup feature

View File

@ -1,14 +1,17 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v1",
"update_url": null
},
"exported_at": "2020-12-14T05:29:26+02:00",
"exported_at": "2021-01-11T15:35:14-05:00",
"name": "Minio S3",
"author": "accounts@bofanodes.io",
"description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maximum size of an object is 5TB.",
"features": null,
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu",
"images": [
"quay.io\/parkervcp\/pterodactyl-images:ubuntu"
],
"startup": ".\/minio.sh",
"config": {
"files": "{}",
@ -26,12 +29,12 @@
"variables": [
{
"name": "Startup Type",
"description": "normal or rotate",
"description": "normal,rotate,update",
"env_variable": "STARTUP_TYPE",
"default_value": "normal",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:normal,rotate"
"rules": "required|string|in:normal,rotate,update"
}
]
}
}

View File

@ -1,39 +1,51 @@
#!/bin/bash
##################################
echo Starting up....
echo "Startup Type: $STARTUP_TYPE"
echo "$(tput setaf 2)Starting up...."
echo "Startup Type: $(tput setaf 2)$STARTUP_TYPE"
if [ -f "keys/key.txt" ]; then
echo "Key file detected..."
echo "$(tput setaf 2)Key file detected..."
export MINIO_ACCESS_KEY=`cat keys/key.txt`
else
echo minioadmin > keys/key.txt
echo "No key file detected...Preparing First Time Boot"
echo "$(tput setaf 3)No key file detected...Preparing First Time Boot"
fi
if [ -f "keys/secret.txt" ]; then
echo "Secret file detected..."
echo "$(tput setaf 2)Secret file detected..."
export MINIO_SECRET_KEY=`cat keys/secret.txt`
else
echo minioadmin > keys/secret.txt
echo "No secret file detected...Preparing First Time Boot"
fi
if [ -f "keys/oldsecret.txt" ]; then
echo "Old secret file detected..."
echo "$(tput setaf 1)Old secret file detected..."
export MINIO_SECRET_KEY_OLD=`cat keys/oldsecret.txt`
fi
if [ -f "keys/oldkey.txt" ]; then
echo "Old key file detected..."
echo "$(tput setaf 1)Old key file detected..."
export MINIO_ACCESS_KEY_OLD=`cat keys/oldkey.txt`
fi
if [ -f "keys/justrotated.txt" ]; then
echo "Previous key rotation detected...."
echo "Clearing the Lanes...."
echo "$(tput setaf 3)Previous key rotation detected...."
echo "$(tput setaf 3)Clearing the Lanes...."
unset MINIO_ACCESS_KEY_OLD
unset MINIO_SECRET_KEY_OLD
echo "$(tput setaf 2)Lanes Cleared!"
STARTUP_TYPE=normal
rm keys/justrotated.txt
rm keys/oldsecret.txt
rm keys/oldkey.txt
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "update" ]; then
echo "$(tput setaf 3)Performing update...."
echo "$(tput setaf 1)Removing old minio version"
rm minio
echo "$(tput setaf 3)Downloading new minio version"
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
echo "$(tput setaf 2)Update Complete"
fi
##########################################
if [ -z "$STARTUP_TYPE" ] || [ "$STARTUP_TYPE" == "rotate" ]; then
touch keys/justrotated.txt
@ -45,12 +57,13 @@ export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | h
echo $MINIO_ACCESS_KEY > keys/key.txt
export MINIO_SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
echo $MINIO_SECRET_KEY > keys/secret.txt
echo Your New Access Key is: $MINIO_ACCESS_KEY
echo Your New Secret Key is: $MINIO_SECRET_KEY
echo Your Old Access Key is: $MINIO_ACCESS_KEY_OLD
echo Your Old Access Key is: $MINIO_SECRET_KEY_OLD
echo Booting...
echo "Your New Access Key is: $(tput setaf 2)$MINIO_ACCESS_KEY"
echo "Your New Secret Key is: $(tput setaf 2)$MINIO_SECRET_KEY"
echo "Your Old Access Key is: $(tput setaf 3)$MINIO_ACCESS_KEY_OLD"
echo "Your Old Access Key is: $(tput setaf 3)$MINIO_SECRET_KEY_OLD"
echo "$(tput setaf 2)Booting..."
./minio server data --address 0.0.0.0:$SERVER_PORT
else
echo "$(tput setaf 2)Booting..."
./minio server data --address 0.0.0.0:$SERVER_PORT
fi