mirror of
https://github.com/parkervcp/eggs.git
synced 2026-06-13 09:43:38 +08:00
Compare commits
6 Commits
@@ -260,7 +260,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve)
|
||||
* [ECO](game_eggs/steamcmd_servers/eco)
|
||||
* [Empyrion - Galactic Survival](game_eggs/steamcmd_servers/empyrion)
|
||||
* [Enshrouded](game_eggs/steamcmd_servers/enshrouded)
|
||||
* [Fistful of Frags](game_eggs/steamcmd_servers/fof)
|
||||
* [Frozen Flame](game_eggs/steamcmd_servers/frozen_flame)
|
||||
* [Ground Branch](game_eggs/steamcmd_servers/ground_branch)
|
||||
@@ -280,14 +279,12 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Modiverse](game_eggs/steamcmd_servers/modiverse)
|
||||
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
|
||||
* [Mount & Blade II: Bannerlord](game_eggs/steamcmd_servers/mount_blade_II_bannerlord)
|
||||
* [Necesse](game_eggs/steamcmd_servers/necesse)
|
||||
* [Neos VR](game_eggs/steamcmd_servers/neosvr)
|
||||
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
|
||||
* [No One Survived](game_eggs/steamcmd_servers/no_one_survived)
|
||||
* [Onset](game_eggs/steamcmd_servers/onset)
|
||||
* [Open Fortress](game_eggs/steamcmd_servers/open_fortress)
|
||||
* [Operation Harsh Doorstop](game_eggs/steamcmd_servers/operation_harsh_doorstop)
|
||||
* [Palworld](game_eggs/steamcmd_servers/palworld)
|
||||
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
|
||||
* [PixARK](game_eggs/steamcmd_servers/pixark)
|
||||
* [Portal Knights](game_eggs/steamcmd_servers/portal_knights)
|
||||
@@ -301,13 +298,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Autowipe](game_eggs/steamcmd_servers/rust/rust_autowipe)
|
||||
* [Staging](game_eggs/steamcmd_servers/rust/rust_staging)
|
||||
* [Satisfactory](game_eggs/steamcmd_servers/satisfactory)
|
||||
* [SCP: Escape Together](game_eggs/steamcmd_servers/scp_escape_together)
|
||||
* [Solace Crafting](game_eggs/steamcmd_servers/solace_crafting)
|
||||
* [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl)
|
||||
* [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated)
|
||||
* [exiled](game_eggs/steamcmd_servers/scpsl/exiled)
|
||||
* [Smalland: Survive the Wilds](game_eggs/steamcmd_servers/smalland_survive_the_wilds)
|
||||
* [Solace Crafting](game_eggs/steamcmd_servers/solace_crafting)
|
||||
* [Soldat](game_eggs/steamcmd_servers/soldat)
|
||||
* [Sons of the Forest](game_eggs/steamcmd_servers/sonsoftheforest)
|
||||
* [Space Engineers](game_eggs/steamcmd_servers/space_engineers)
|
||||
|
||||
@@ -25,9 +25,9 @@ security:
|
||||
|
||||
> :closed_lock_with_key: To learn more about MongoDB security, you can read the [MongoDB Security Checklist](https://www.mongodb.com/docs/manual/administration/security-checklist/#security-checklist)
|
||||
|
||||
### Notes specific to the MongoDB 6 or 7 egg
|
||||
### Notes specific to the MongoDB 6 egg
|
||||
|
||||
**The [MongoDB 6 egg](./egg-mongo-d-b6.json) or [MongoDB 7 egg](./egg-mongo-d-b7.json) enables access control by default** in the `mongod.conf` file, meaning that even if people will be able to connect to your database as guests, [they will not be able to perform any operation, apart from nonhazardous commands](https://dba.stackexchange.com/a/292175)
|
||||
**The [MongoDB 6 egg](./egg-mongo-d-b6.json) enables access control by default** in the `mongod.conf` file, meaning that even if people will be able to connect to your database as guests, [they will not be able to perform any operation, apart from nonhazardous commands](https://dba.stackexchange.com/a/292175)
|
||||
|
||||
### Disabling authentication
|
||||
|
||||
|
||||
@@ -1,52 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-02T10:25:08+01:00",
|
||||
"name": "MongoDB 7",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"MongoDB_7": "ghcr.io\/parkervcp\/yolks:mongodb_7"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log -f \/home\/container\/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done; mongosh --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} && mongosh --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}",
|
||||
"config": {
|
||||
"files": "{\r\n \"mongod.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#security:\": \"security: \\r\\n authorization: \\\"enabled\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"child process started successfully\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "exit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash \r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncp \/etc\/mongod.conf.orig \/mnt\/server\/mongod.conf\r\n\r\nmkdir mongodb logs\r\n\r\nmongod --port 27017 --dbpath \/mnt\/server\/mongodb\/ --logpath \/mnt\/server\/logs\/mongo.log --fork\r\n\r\nmongosh --eval \"db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})\"\r\n\r\nmongosh --eval \"db.getSiblingDB('admin').shutdownServer()\"\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "mongo:7-jammy",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Mongo Admin Username",
|
||||
"description": "The MongoDB Admin user",
|
||||
"env_variable": "MONGO_USER",
|
||||
"default_value": "admin",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Mongo Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "MONGO_USER_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -156,7 +156,6 @@
|
||||
* [Don't Starve Together](steamcmd_servers/dont_starve)
|
||||
* [ECO](steamcmd_servers/eco)
|
||||
* [Empyrion - Galactic Survival](steamcmd_servers/empyrion)
|
||||
* [Enshrouded](steamcmd_servers/enshrouded)
|
||||
* [Fistful of Frags](steamcmd_servers/fof)
|
||||
* [Frozen Flame](steamcmd_servers/frozen_flame)
|
||||
* [Ground Branch](steamcmd_servers/ground_branch)
|
||||
@@ -176,14 +175,12 @@
|
||||
* [Modiverse](steamcmd_servers/modiverse)
|
||||
* [Mordhau](steamcmd_servers/mordhau)
|
||||
* [Mount & Blade II: Bannerlord](steamcmd_servers/mount_blade_II_bannerlord)
|
||||
* [Necesse](steamcmd_servers/necesse)
|
||||
* [Neos VR](steamcmd_servers/neosvr)
|
||||
* [No More Room in Hell](steamcmd_servers/nmrih)
|
||||
* [No One Survived](steamcmd_servers/no_one_survived)
|
||||
* [Onset](steamcmd_servers/onset)
|
||||
* [Open Fortress](steamcmd_servers/open_fortress)
|
||||
* [Operation Harsh Doorstop](steamcmd_servers/operation_harsh_doorstop)
|
||||
* [Palworld](steamcmd_servers/palworld)
|
||||
* [Pavlov VR](steamcmd_servers/pavlov_vr)
|
||||
* [PixARK](steamcmd_servers/pixark)
|
||||
* [Portal Knights](steamcmd_servers/portal_knights)
|
||||
@@ -199,13 +196,10 @@
|
||||
* [Autowipe](steamcmd_servers/rust/rust_autowipe)
|
||||
* [Staging](steamcmd_servers/rust/rust_staging)
|
||||
* [Satisfactory](steamcmd_servers/satisfactory)
|
||||
* [SCP: Escape Together](steamcmd_servers/scp_escape_together)
|
||||
* [Solace Crafting](steamcmd_servers/solace_crafting)
|
||||
* [SCP: Secret Laboratory](steamcmd_servers/scpsl)
|
||||
* [Dedicated](steamcmd_servers/scpsl/dedicated)
|
||||
* [Exiled](steamcmd_servers/scpsl/exiled)
|
||||
* [Smalland: Survive the Wilds](steamcmd_servers/smalland_survive_the_wilds)
|
||||
* [Solace Crafting](steamcmd_servers/solace_crafting)
|
||||
* [Soldat](steamcmd_servers/soldat)
|
||||
* [Sons of the Forest](steamcmd_servers/sonsoftheforest)
|
||||
* [Space Engineers](steamcmd_servers/space_engineers)
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-16T11:22:17+01:00",
|
||||
"exported_at": "2023-12-05T18:28:42+01:00",
|
||||
"name": "BeamMP Servers",
|
||||
"author": "noah@noahserver.online",
|
||||
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n#Create the server directory\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Remove any old versions\r\nrm -f BeamMP-Server\r\n\r\n#Check for latest release & download URLs\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"Server.debian.11.x86_64\" || echo \"Server.debian.11.arm64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest BeamMP server version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"${MATCH}\" | head -1)\r\nelse\r\n echo -e \"Chosen version :${VERSION}. Verifying version from releases\"\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}\" | head -1)\r\n else\r\n echo -e \"No valid versions found. Defaulting to the latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"Server\" | | grep -i \"debian\" | grep -i \"x\" | grep -i \"64\" | head -1)\r\n fi\r\nfi\r\n\r\n#Download the BeamMP server binary\r\necho -e \"Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\"\r\ncurl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\n#Create a default configuration file\r\necho \"[HTTP]\r\n# Recommended to keep enabled. With SSL the server will serve https and requires valid key and cert files\r\nUseSSL = true\r\n# Enables the internal HTTP server\r\nHTTPServerEnabled = false\r\nSSLKeyPath = \\\".\/.ssl\/HttpServer\/key.pem\\\"\r\nHTTPServerPort = 8080\r\nSSLCertPath = \\\".\/.ssl\/HttpServer\/cert.pem\\\"\r\n\r\n[General]\r\n# If SendErrors is `true`, the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to `false`\r\nSendErrorsShowMessage = true\r\nName = \\\"BeamMP Server\\\"\r\nPort = 30814\r\nResourceFolder = \\\"Resources\\\"\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = \\\"\\\"\r\nPrivate = true\r\nMaxPlayers = 10\r\nDebug = false\r\nLogChat = true\r\nDescription = \\\"BeamMP Default Description\\\"\r\nMaxCars = 1\r\nMap = \\\"\/levels\/gridmap_v2\/info.json\\\"\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrors = true\" > ServerConfig.toml\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n#Create the server directory\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Remove any old versions\r\nrm -f BeamMP-Server\r\n\r\n#Check for latest release & download URLs\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest BeamMP server version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"${MATCH}\" | head -1)\r\nelse\r\n echo -e \"Chosen version :${VERSION}. Verifying version from releases\"\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}\" | head -1)\r\n else\r\n echo -e \"No valid versions found. Defaulting to the latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i Server-linux | head -1)\r\n fi\r\nfi\r\n\r\n#Download the BeamMP server binary\r\necho -e \"Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\"\r\ncurl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\n#Create a default configuration file\r\necho \"[HTTP]\r\n# Recommended to keep enabled. With SSL the server will serve https and requires valid key and cert files\r\nUseSSL = true\r\n# Enables the internal HTTP server\r\nHTTPServerEnabled = false\r\nSSLKeyPath = \\\".\/.ssl\/HttpServer\/key.pem\\\"\r\nHTTPServerPort = 8080\r\nSSLCertPath = \\\".\/.ssl\/HttpServer\/cert.pem\\\"\r\n\r\n[General]\r\n# If SendErrors is `true`, the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to `false`\r\nSendErrorsShowMessage = true\r\nName = \\\"BeamMP Server\\\"\r\nPort = 30814\r\nResourceFolder = \\\"Resources\\\"\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = \\\"\\\"\r\nPrivate = true\r\nMaxPlayers = 10\r\nDebug = false\r\nLogChat = true\r\nDescription = \\\"BeamMP Default Description\\\"\r\nMaxCars = 1\r\nMap = \\\"\/levels\/gridmap_v2\/info.json\\\"\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrors = true\" > ServerConfig.toml\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -117,6 +117,16 @@
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Match",
|
||||
"description": "The match we have to do on there github package.\r\n\r\nCurrently, they have a special build for debian 11, what is the docker image we use.\r\nGo to https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases if the version you want has an asset \"debian\" then select \"Server-debian\" if not then \"Server-linux\"",
|
||||
"env_variable": "MATCH",
|
||||
"default_value": "Server-debian",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:Server-debian,Server-linux",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:17:09+01:00",
|
||||
"exported_at": "2021-08-27T01:20:58-04:00",
|
||||
"name": "ClassiCube(MGC)",
|
||||
"author": "panel@qoutsy.33mail.com",
|
||||
"description": "Debian based MCGalaxy Egg.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:mono_latest": "ghcr.io\/parkervcp\/yolks:mono_latest"
|
||||
},
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "mono MCGalaxyCLI.exe",
|
||||
"config": {
|
||||
@@ -22,8 +22,8 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\nMATCH=mcgalaxy_\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/UnknownShadow200\/MCGalaxy\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/UnknownShadow200\/MCGalaxy\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(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_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\n\r\necho -e \"Downloading ClassiCube version ${VERSION}\"\r\necho -e \"Download URL is ${DOWNLOAD_URL}\"\r\n\r\ncurl -ssL -o mcgalaxy.zip ${DOWNLOAD_URL}\r\n\r\nunzip -j mcgalaxy.zip\r\nrm mcgalaxy.zip\r\nchmod +X *.dll *.exe\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"script": "#!\/bin\/bash\r\napt update \r\napt -y install curl jq unzip\r\n\r\nMATCH=mcgalaxy_\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/UnknownShadow200\/MCGalaxy\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/UnknownShadow200\/MCGalaxy\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(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_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 \"Specified install version not found. 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\n\r\necho -e \"Downloading ClassiCube version ${VERSION}\"\r\necho -e \"Download URL is ${DOWNLOAD_URL}\"\r\ncurl -ssL -o mcgalaxy.zip ${DOWNLOAD_URL}\r\nunzip -j mcgalaxy.zip\r\nrm mcgalaxy.zip\r\nchmod +X *.dll *.exe\r\necho \"Install complete\"",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -35,8 +35,7 @@
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
@@ -45,8 +44,7 @@
|
||||
"default_value": "Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:30"
|
||||
},
|
||||
{
|
||||
"name": "MOTD",
|
||||
@@ -55,8 +53,7 @@
|
||||
"default_value": "Welcome to the server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,29 +1,24 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2024-01-15T19:24:56+01:00",
|
||||
"exported_at": "2019-04-29T22:08:18+08:00",
|
||||
"name": "ET Legacy",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Welcome to Enemy Territory: Legacy, an open source project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/etlded +set net_port {{SERVER_PORT}} +map {{MAP}} +set omnibot_enable {{OMNIBOT}} $(if [ \"${OMNIBOT}\" == \"1\" ]; then echo '+set omnibot_path \".\/legacy\/omni-bot\"'; fi) + exec etl_server.cfg",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
|
||||
"startup": ".\/etlded +set net_port {{SERVER_PORT}} +map {{MAP}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"etmain\/etl_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"\/\/set net_ip \\\"\\\"\": \"set net_ip \\\"0.0.0.0\\\"\",\r\n \"\/\/set net_port \\\"27960\\\"\": \"set net_port \\\"{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Game Initialization completed in\"\r\n}",
|
||||
"files": "{\r\n \"etmain\/etl_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"\/\/set net_ip \\\"\\\"\": \"set net_ip \\\"0.0.0.0\\\"\",\r\n \"\/\/set net_port \\\"27960\\\"\": \"set net_port \\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"------ Server Initialization ------\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading $ET_VERSION bit ET Legacy version\"\r\n\r\nif [ $ET_VERSION == \"32\" ];then \r\n DOWNLOAD_URL=$(curl -s https:\/\/www.etlegacy.com\/download | grep \"Linux 32-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+')\r\n EXTENTION=i386\r\nelse\r\n DOWNLOAD_URL=$(curl -s https:\/\/www.etlegacy.com\/download | grep \"Linux 64-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+')\r\n EXTENTION=x86_64\r\nfi\r\n\r\necho \"Download URL: ${DOWNLOAD_URL}\"\r\ncurl -sSL -o etlegacy.tar.gz ${DOWNLOAD_URL}\r\n\r\necho \"Unpacking ET: Legacy\"\r\ntar xvf etlegacy.tar.gz --strip-components=1 \r\nrm etlegacy.tar.gz\r\n\r\n\r\nE_DOWNLOAD_URL=$(curl -s https:\/\/www.splashdamage.com\/games\/wolfenstein-enemy-territory\/ | grep .x86_full | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo --color=never '(http|https):\/\/[^\"]+')\r\n\r\necho \"Downloading latest enemy territory files from: ${E_DOWNLOAD_URL}\"\r\ncurl -sSL -o enemy_territory.zip ${E_DOWNLOAD_URL}\r\n\r\necho \"Unpacking enemy territory files\"\r\nunzip -o enemy_territory.zip\r\nrm enemy_territory.zip\r\n\r\necho \"Copying enemy territory assets\"\r\n.\/*.x86_keygen_V03.run --tar xvf .\/etmain\/\r\n#cp etmain\/pak*.pk3 \/mnt\/server\/etmain\/\r\n\r\n# Create .etlegacy as the server doesn't correctly create it\r\nmkdir -p \/mnt\/server\/.etlegacy\r\n\r\nrm *.run\r\n\r\nmv etlded.${EXTENTION} etlded\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"script": "#!\/bin\/bash\r\n\r\napt-get update\r\napt-get -y install wget curl zip unzip\r\n\r\ncd \/tmp\/\r\n\r\necho \"Downloading $ET_VERSION bit ET Legacy version\"\r\n\r\nif [ $ET_VERSION == \"32\" ];then \r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 32-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nelse\r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 64-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nfi\r\n\r\necho \"Unpacking ET: Legacy\"\r\ntar --strip-components=1 -xzvf etlegacy.tar.gz -C \/mnt\/server\/\r\n\r\necho \"Downloading latest enemy territory files\"\r\nwget `curl https:\/\/www.splashdamage.com\/games\/wolfenstein-enemy-territory\/ | grep .x86_full | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo --color=never '(http|https):\/\/[^\"]+'` -O enemy_territory.zip\r\n\r\necho \"Unpacking enemy territory files\"\r\nunzip enemy_territory.zip\r\n\r\necho \"Copying enemy territory assets\"\r\n.\/*.x86_keygen_V03.run --tar xvf .\/etmain\/\r\ncp etmain\/pak*.pk3 \/mnt\/server\/etmain\/\r\n\r\n# Create .etlegacy as the server doesn't correctly create it\r\nmkdir -p \/mnt\/server\/.etlegacy",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -33,30 +28,18 @@
|
||||
"description": "What version of the server to install. 32 or 64 bit version.",
|
||||
"env_variable": "ET_VERSION",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|in:32,64",
|
||||
"field_type": "text"
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|integer|in:32, 64"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "The default map to use when starting the server.",
|
||||
"env_variable": "MAP",
|
||||
"default_value": "oasis",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable Omnibot",
|
||||
"description": "",
|
||||
"env_variable": "OMNIBOT",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
# Clusterio
|
||||
|
||||
*A Note on terminology. The developers of Clustorio are using the rather outdated Master/Slave terms for Primary/Secondary or Management/Processing nodes. We will use them in this guide and egg to avoid confusion, but would prefer a more modern set of terminology.*
|
||||
|
||||
## Introduction
|
||||
|
||||
Clusterio (https://github.com/clusterio/clusterio) is a clustered Factorio server manager that provides the tooling for implementing cross server interactions in Factorio.
|
||||
@@ -21,19 +23,19 @@ Plugins do the work of modding in the visible changes into the game, see the [Pl
|
||||
|
||||
## Setup
|
||||
|
||||
Clusterio uses a Controller/Host system setup, with the Controller server running the Web UI and controlling which Hosts run which Instances.
|
||||
Clusterio uses a Master/Slave system setup, with the Master server running the Web UI and controlling which Slaves run which Instances.
|
||||
|
||||
The Controller server runs a web server that needs to be reachable for cluster management by the user, and by the other nodes to manage them.
|
||||
The Master server runs a web server that needs to be reachable for cluster management by the user, and by the other nodes to manage them.
|
||||
|
||||
The Host server runs the factorio server, and will need any mods manually importing at this time, including the Factorio mods for the Clustorio Library(https://mods.factorio.com/mod/clusterio_lib) and Subspace Storage(https://mods.factorio.com/mod/subspace_storage).
|
||||
The Slave server runs the factorio server, and will need any mods manually importing at this time, including the Factorio mods for the Clustorio Library(https://mods.factorio.com/mod/clusterio_lib) and Subspace Storage(https://mods.factorio.com/mod/subspace_storage).
|
||||
|
||||
Both only require a single port each.
|
||||
|
||||
Server Mode controls if the server is a Controller or Host, and each varaible is labeled as required for Controller, Host or All. Please ensure you fill in all required variables.
|
||||
Server Mode controls if the server is a master or slave, and each varaible is labeled as required for Master, Slave or All. Please ensure you fill in all required variables.
|
||||
|
||||
Set up the Controller server first, and from there you can generate the Controller URL and Controller Token required for the Host servers to connect.
|
||||
Set up the master server first, and from there you can generate the Master URL and Master Token required for the slave servers to connect.
|
||||
|
||||
Additional configuration options can be found in config-Controller.json and config-Host.json as relevant.
|
||||
Additional configuration options can be found in config-master.json and config-slave.json as relevant.
|
||||
|
||||
Changes to the Cluster will only be written out to the database on a graceful stop.
|
||||
|
||||
@@ -43,5 +45,5 @@ Clusterio requires a single port
|
||||
|
||||
| Port | default |
|
||||
|------------|------------|
|
||||
| Controller HTTP| 8081 |
|
||||
| Host Game | 34197 |
|
||||
| Master HTTP| 8081 |
|
||||
| Slave Game | 34197 |
|
||||
|
||||
@@ -4,41 +4,42 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-22T08:32:24+00:00",
|
||||
"exported_at": "2022-10-05T19:06:42-04:00",
|
||||
"name": "Clusterio",
|
||||
"author": "psychoalex@thevcbc.com",
|
||||
"description": "Clusterio is a clustered Factorio server manager that provides the tooling for implementing cross server interactions in Factorio. It was previously best known for implementing cross server transfer and cloud storage of items via teleporter chests. But this functionality has been pulled out of Clusterio into its own plugin for Clusterio named Subspace Storage.\r\n\r\nBy itself Clusterio doesn't change the gameplay in any way, you could even use Clusterio to manage completely vanilla Factorio servers. Plugins do the work of modding in the visible changes into the game, see the Plugins section for ready-made plugins you can install into a Clusterio cluster.",
|
||||
"description": "Clusterio is a clustered Factorio server manager that provides the tooling for implementing cross server interactions in Factorio. It was previously best known for implementing cross server transfer and cloud storage of items via teleporter chests. But this functionality has been pulled out of Clusterio into its own plugin for Clusterio named Subspace Storage.\r\n\r\nBy itself Clusterio doesn't change the gameplay in any way, you could even use Clusterio to manage completely vanilla Factorio servers. Plugins do the work of modding in the visible changes into the game, see the Plugins section for ready-made plugins you can install into a Clusterio cluster.\r\n\r\nA Note on terminology. The developers of Clustorio are using the rather outdated Master\/Slave terms for Primary\/Secondary or Management\/Processing nodes. We will use them in this guide and egg to avoid confusion, but would prefer a more modern set of terminology.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_21": "ghcr.io\/parkervcp\/yolks:nodejs_21",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_19": "ghcr.io\/parkervcp\/yolks:nodejs_19",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_17": "ghcr.io\/parkervcp\/yolks:nodejs_17",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_16": "ghcr.io\/parkervcp\/yolks:nodejs_16",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_15": "ghcr.io\/parkervcp\/yolks:nodejs_15",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_14": "ghcr.io\/parkervcp\/yolks:nodejs_14",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_12": "ghcr.io\/parkervcp\/yolks:nodejs_12"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "exec .\/node_modules\/.bin\/clusterio{{SERVER_MODE}} run",
|
||||
"config": {
|
||||
"files": "{\r\n \"config-controller.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"controller~1http_port\": \"{{server.build.default.port}}\",\r\n \"controller~1name\": \"{{server.build.env.CLUSTER_NAME}}\"\r\n }\r\n },\r\n \"config-host.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"host~1controller_url\": \"{{server.build.env.CONTROLLER_URL}}\",\r\n \"host~1controller_token\": \"{{server.build.env.CONTROLLER_TOKEN}}\",\r\n \"host~1public_address\": \"{{server.build.default.ip}}\"\r\n }\r\n }\r\n}",
|
||||
"files": "{\r\n \"config-master.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"groups[0].fields.http_port\": \"{{server.build.default.port}}\",\r\n \"groups[0].fields.name\": \"{{server.build.env.CLUSTER_NAME}}\"\r\n }\r\n },\r\n \"config-slave.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"groups[0].fields.master_url\": \"{{server.build.env.MASTER_URL}}\",\r\n \"groups[0].fields.master_token\": \"{{server.build.env.MASTER_TOKEN}}\",\r\n \"groups[0].fields.public_address\": \"{{server.build.default.ip}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^c"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Clusterio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\ncase \"${SERVER_MODE}\" in\r\n\r\n \"controller\")\r\n echo -e \"Initialising Clustorio In Controller mode\"\r\n npm init \"@clusterio\" -y -- --allow-install-as-root --mode \"${SERVER_MODE}\" --download-headless --log-level \"${LOG_LEVEL}\" --admin \"${ADMIN_STRING}\" --public-address \"${SERVER_IP}\":\"${SERVER_PORT}\" --plugins ${PLUGINS}\r\n\t;;\r\n\r\n \"host\")\r\n echo -e \"Initialising Clustorio In Host mode\"\r\n\tnpm init \"@clusterio\" -y -- --allow-install-as-root --mode \"${SERVER_MODE}\" --download-headless --log-level \"${LOG_LEVEL}\" --host-name \"${HOST_NAME}\" --public-address \"${SERVER_IP}\" --controller-url \"${CONTROLLER_URL}\" --controller-token \"${CONTROLLER_TOKEN}\" --plugins ${PLUGINS}\r\n ;;\r\n \r\nesac\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "node:21-bullseye-slim",
|
||||
"script": "#!\/bin\/bash\r\n# Clusterio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\ncase \"${SERVER_MODE}\" in\r\n\r\n \"master\")\r\n echo -e \"Initialising Clustorio In Master mode\"\r\n npm init \"@clusterio\" --allow-install-as-root --mode \"${SERVER_MODE}\" --download-headless --log-level \"${LOG_LEVEL}\" --admin \"${ADMIN_STRING}\" --public-address \"${SERVER_IP}\":\"${SERVER_PORT}\" --plugins ${PLUGINS}\r\n\t;;\r\n\r\n \"slave\")\r\n echo -e \"Initialising Clustorio In Slave mode\"\r\n\tnpm init \"@clusterio\" --allow-install-as-root --mode \"${SERVER_MODE}\" --download-headless --log-level \"${LOG_LEVEL}\" --slave-name \"${SLAVE_NAME}\" --public-address \"${SERVER_IP}\" --master-url \"${MASTER_URL}\" --master-token \"${MASTER_TOKEN}\" --plugins ${PLUGINS}\r\n ;;\r\n \r\nesac\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "node:14-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Mode",
|
||||
"description": "Set's the cluster operation mode of the server, can be either \"controller\" or \"host\". This is better thought of as Management or Gameserver nodes.\r\n\r\nRequired on:\r\nAll",
|
||||
"description": "Set's the cluster operation mode of the server, can be either \"master\" or \"slave\". This is better thought of as Management or Gameserver nodes.\r\n\r\nRequired on:\r\nAll",
|
||||
"env_variable": "SERVER_MODE",
|
||||
"default_value": "controller",
|
||||
"default_value": "master",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:controller,host",
|
||||
"rules": "required|string|in:master,slave",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
@@ -53,7 +54,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Server Admin",
|
||||
"description": "Superadmin account name\r\n\r\nRequired on:\r\nController",
|
||||
"description": "Superadmin account name\r\n\r\nRequired on:\r\nMaster",
|
||||
"env_variable": "ADMIN_STRING",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
@@ -62,9 +63,9 @@
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Host Name",
|
||||
"description": "Host name in the Controller Web UI\r\n\r\nRequired on:\r\nHost",
|
||||
"env_variable": "HOST_NAME",
|
||||
"name": "Slave Name",
|
||||
"description": "Slave name in the Master Web UI\r\n\r\nRequired on:\r\nSlave",
|
||||
"env_variable": "SLAVE_NAME",
|
||||
"default_value": "Your Sub-Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
@@ -72,9 +73,9 @@
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Controller URL",
|
||||
"description": "Connection URL to the Controller server, can be an internal address if you have allocated an additional internal port to the Controller Server.\r\nExample: http:\/\/yourip:yourport\r\nRequired on:\r\nHost",
|
||||
"env_variable": "CONTROLLER_URL",
|
||||
"name": "Master URL",
|
||||
"description": "Connection URL to the Master server, can be an internal address if you have allocated an additional internal port to the Master Server.\r\n\r\nExample: http:\/\/yourip:yourport\/\r\n\r\nRequired on:\r\nSlave",
|
||||
"env_variable": "MASTER_URL",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
@@ -82,9 +83,9 @@
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Controller Token",
|
||||
"description": "Authentication token used to connect to the Controller server, generated through the Controller Web UI.\r\n\r\nRequired on:\r\nHost",
|
||||
"env_variable": "CONTROLLER_TOKEN",
|
||||
"name": "Master Token",
|
||||
"description": "Authentication token used to connect to the Master server, Must be generated through the Master Web UI after setting up and logging into the Master Web UI using the admin auth token generated when setting up the Master.\r\n\r\nRequired on:\r\nSlave",
|
||||
"env_variable": "MASTER_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
@@ -93,7 +94,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Plugins",
|
||||
"description": "Clusterio Plugins to install, space separate list.\r\n\r\nExample:\r\n@clusterio\/plugin-subspace_storage @clusterio\/plugin-global_chat @clusterio\/plugin-research_sync @clusterio\/plugin-inventory_sync\r\n\r\nRequired on:\r\nAll",
|
||||
"description": "Clusterio Plugins to install, space separate list.\r\n\r\nExample:\r\n@clusterio\/plugin-global_chat\r\n@clusterio\/plugin-research_sync\r\n@clusterio\/plugin-statistics_exporter\r\n\r\nCurrent available clusterio plugins include:\r\n@clusterio\/plugin-global_chat\r\n@clusterio\/plugin-research_sync\r\n@clusterio\/plugin-statistics_exporter\r\n@clusterio\/plugin-subspace_storage (requires the mod to be installed on the slave)\r\n@clusterio\/plugin-player_auth\r\n@clusterio\/plugin-inventory_sync\r\n@hornwitser\/server_select\r\n\r\nRequired on:\r\nAll",
|
||||
"env_variable": "PLUGINS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
@@ -103,7 +104,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Cluster Name",
|
||||
"description": "The Name of your Controller server cluster.\r\n\r\nRequired:\r\nController",
|
||||
"description": "The Name of your Cluster Master server.\r\n\r\nRequired:\r\nMaster",
|
||||
"env_variable": "CLUSTER_NAME",
|
||||
"default_value": "Your Cluster",
|
||||
"user_viewable": true,
|
||||
@@ -112,4 +113,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-14T15:48:28+01:00",
|
||||
"exported_at": "2023-11-13T18:18:13+01:00",
|
||||
"name": "Multi Theft Auto",
|
||||
"author": "info@six-gaming.com",
|
||||
"description": "What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.",
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\ncd \/tmp\r\ncurl -sSL -o multitheftauto_linux_x64.tar.gz https:\/\/linux.multitheftauto.com\/dl\/multitheftauto_linux_x64.tar.gz\r\ncurl -sSL -o mta-baseconfig.tar.gz https:\/\/linux.multitheftauto.com\/dl\/baseconfig.tar.gz\r\ncurl -sSL -o mtasa-resources-latest.zip https:\/\/mirror.multitheftauto.com\/mtasa\/resources\/mtasa-resources-latest.zip\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xvf multitheftauto_linux_x64.tar.gz\r\ncp -rf multitheftauto_linux_x64\/* \/mnt\/server\r\n\r\nif [ ! -f \/mnt\/server\/x64\/libmysqlclient.so.16 ]; then\r\n curl -L http:\/\/nightly.mtasa.com\/files\/libmysqlclient.so.16 -o \/mnt\/server\/x64\/libmysqlclient.so.16\r\nfi\r\n\r\nmkdir -p \/mnt\/server\/mods\/deathmatch\/resources\r\nunzip -o -d \/mnt\/server\/mods\/deathmatch\/resources mtasa-resources-latest.zip\r\n\r\ntar -xvf mta-baseconfig.tar.gz\r\ncp -rf baseconfig\/* \/mnt\/server\/mods\/deathmatch\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n\r\ncd \/tmp\r\ncurl -L -o multitheftauto_linux_x64.tar.gz https:\/\/linux.mtasa.com\/dl\/multitheftauto_linux_x64.tar.gz\r\ncurl -L -o mta-baseconfig.tar.gz https:\/\/linux.mtasa.com\/dl\/baseconfig.tar.gz\r\ncurl -L -o mtasa-resources-latest.zip http:\/\/mirror.mtasa.com\/mtasa\/resources\/mtasa-resources-latest.zip\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xvf multitheftauto_linux_x64.tar.gz\r\ncp -rf multitheftauto_linux_x64\/* \/mnt\/server\r\n\r\nif [ ! -f \/mnt\/server\/x64\/libmysqlclient.so.16 ]; then\r\n curl -L http:\/\/nightly.mtasa.com\/files\/libmysqlclient.so.16 -o \/mnt\/server\/x64\/libmysqlclient.so.16\r\nfi\r\n\r\nmkdir -p \/mnt\/server\/mods\/deathmatch\/resources\r\nunzip -o -d \/mnt\/server\/mods\/deathmatch\/resources mtasa-resources-latest.zip\r\n\r\ntar -xvf mta-baseconfig.tar.gz\r\ncp -rf baseconfig\/* \/mnt\/server\/mods\/deathmatch\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:ubuntu",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -39,4 +39,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -84,10 +84,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Empyrion - Galactic Survival](empyrion)
|
||||
|
||||
## Enshrouded
|
||||
|
||||
[Enshrouded](enshrouded)
|
||||
|
||||
## Fistful of Frags
|
||||
|
||||
[Fistful of Frags](fof)
|
||||
@@ -157,10 +153,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Mount & Blade II: Bannerlord](mount_blade_II_bannerlord)
|
||||
|
||||
## Necesse
|
||||
|
||||
[Necesse](necesse)
|
||||
|
||||
## Neos VR
|
||||
[Neos VR](neosvr)
|
||||
|
||||
@@ -184,10 +176,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Operation Harsh Doorstop](operation_harsh_doorstop)
|
||||
|
||||
## Palworld
|
||||
|
||||
[Palworld](palworld)
|
||||
|
||||
## Pavlov VR
|
||||
|
||||
[Pavlov VR](pavlov_vr)
|
||||
@@ -241,15 +229,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
* [dedicated](scpsl/dedicated)
|
||||
* [exiled](scpsl/exiled)
|
||||
|
||||
## SCP: Escape Together
|
||||
|
||||
[SCP: Escape Together](scp_escape_together)
|
||||
|
||||
## Smalland: Survive the Wilds
|
||||
|
||||
[Smalland: Survive the Wilds](smalland_survive_the_wilds)
|
||||
|
||||
|
||||
## Solace Crafting
|
||||
|
||||
[Solace Crafting](solace_crafting)
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"_comment": "Pterodactyl Arma 3 Egg ~ David Wolfe (Red-Thirten) ~ 2022-05-22",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:10:57+01:00",
|
||||
"name": "Arma 3",
|
||||
"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.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:arma3": "ghcr.io\/parkervcp\/games:arma3"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/games:arma3"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/ -cfg=basic.cfg -config=server.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" \\\"{{STARTUP_PARAMS}}\\\"",
|
||||
"config": {
|
||||
@@ -24,7 +23,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma 3 Egg - egg-arma3.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/22\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Check for valid Steam credentials to download Arma 3 with (requires valid Steam account)\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_USER}\" == \"anonymous\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"INSTALLATION ERROR: A valid REAL Steam account is required to download the Arma 3 Dedicated Server.\"\r\n echo -e \"\\t(\\\"anonymous\\\" account cannot be used. Game ownership is not required.)\"\r\n exit 1\r\nfi\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\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 server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n# Arma 3 setup\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO ${BASIC_URL}\r\n[[ -f server.cfg ]] || curl -sSLO ${BASIC_URL%\/*}\/server.cfg\r\nchmod 644 basic.cfg server.cfg\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma 3 Egg - egg-arma3.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/22\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Check for valid Steam credentials to download Arma 3 with (requires valid Steam account)\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_USER}\" == \"anonymous\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"INSTALLATION ERROR: A valid REAL Steam account is required to download the Arma 3 Dedicated Server.\"\r\n echo -e \"\\t(\\\"anonymous\\\" account cannot be used. Game ownership is not required.)\"\r\n exit 1\r\nfi\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\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 server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n# Arma 3 setup\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO ${BASIC_URL}\r\n[[ -f server.cfg ]] || curl -sSLO ${BASIC_URL%\/*}\/server.cfg\r\nchmod 644 basic.cfg server.cfg",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
@@ -37,8 +36,7 @@
|
||||
"default_value": "your_steam_username",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "[REQUIRED] Steam Password",
|
||||
@@ -47,8 +45,7 @@
|
||||
"default_value": "your_steam_password",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Number of SteamCMD Retry Attempts",
|
||||
@@ -57,8 +54,7 @@
|
||||
"default_value": "3",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer"
|
||||
},
|
||||
{
|
||||
"name": "Server Binary",
|
||||
@@ -67,8 +63,7 @@
|
||||
"default_value": "arma3server_x64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64"
|
||||
},
|
||||
{
|
||||
"name": "Extra Startup Parameters",
|
||||
@@ -77,8 +72,7 @@
|
||||
"default_value": "-noLogs",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
@@ -87,8 +81,7 @@
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|gt:0",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|gt:0"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
@@ -97,8 +90,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
@@ -107,8 +99,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Disable Mod Downloads\/Updates",
|
||||
@@ -117,8 +108,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Download Creator DLCs",
|
||||
@@ -127,8 +117,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Modlist File (Exported from A3 Launcher)",
|
||||
@@ -137,8 +126,7 @@
|
||||
"default_value": "modlist.html",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Mods",
|
||||
@@ -147,8 +135,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Make Mod Files Lowercase",
|
||||
@@ -157,8 +144,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
@@ -167,8 +153,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server-Side Only Mods",
|
||||
@@ -177,8 +162,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Optional Client-Side Mods",
|
||||
@@ -187,8 +171,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Extra Flags for SteamCMD",
|
||||
@@ -197,8 +180,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Headless Clients (HC)",
|
||||
@@ -207,8 +189,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,5",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|between:0,5"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] HC Hide Console Output",
|
||||
@@ -217,8 +198,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Clear HC Profiles Cache on Startup",
|
||||
@@ -227,8 +207,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Arma 3 Dedicated Server App ID",
|
||||
@@ -237,8 +216,7 @@
|
||||
"default_value": "233780",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] basic.cfg URL",
|
||||
@@ -247,8 +225,7 @@
|
||||
"default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|url",
|
||||
"field_type": "text"
|
||||
"rules": "required|url"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -8,13 +8,5 @@ Asseto Corsa requires two ports, game port is UDP and WEB HTTP port is TCP.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 9600 |
|
||||
| HTTP | 8081 |
|
||||
|
||||
### Notes
|
||||
|
||||
<!--Notes about the server ports.-->
|
||||
9600 is the default port, but any port can be used.
|
||||
|
||||
## Freeroam + AI
|
||||
This egg uses: [GitHub](https://github.com/compujuckel/AssettoServer) [Website](https://assettoserver.org/)
|
||||
| Game | 9600 |
|
||||
| HTTP | 8081 |
|
||||
|
||||
@@ -1,82 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-27T17:12:44+01:00",
|
||||
"name": "Assetto Corsa (Freeroam + AI)",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "Custom Assetto Corsa server with focus on freeroam",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Dotnet_8": "ghcr.io\/parkervcp\/yolks:dotnet_8"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/AssettoServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"SERVER.NAME\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"SERVER.PASSWORD\": \"{{server.build.env.SERVER_PASSWORD}}\",\r\n \"SERVER.ADMIN_PASSWORD\": \"{{server.build.env.ADMIN_PASSWORD}}\",\r\n \"SERVER.HTTP_PORT\": \"{{server.build.env.HTTP_PORT}}\",\r\n \"SERVER.MAX_CLIENTS\": \"{{server.build.env.MAX_CLIENTS}}\",\r\n \"SERVER.UDP_PORT\": \"{{server.build.default.port}}\",\r\n \"SERVER.TCP_PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Starting update loop with an update rate of\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl git jq tar\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/compujuckel\/AssettoServer\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/compujuckel\/AssettoServer\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\nVERSION=latest\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(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_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 | grep -i linux | head -1)\r\n fi\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ncurl -sSL -o assetto-server-linux.tar.gz ${DOWNLOAD_URL}\r\n\r\ntar xvf assetto-server-linux.tar.gz\r\nrm assetto-server-linux.tar.gz\r\nchmod +x AssettoServer\r\n\r\nmkdir cfg\/\r\ncd cfg\/\r\n[ -f \"server_cfg.ini\" ] || curl -sSL -o \"server_cfg.ini\" \"https:\/\/pteropaste.com\/plk8mjfcqt4m\"\r\n[ -f \"extra_cfg.yml\" ] || curl -sSL -o \"extra_cfg.yml\" \"https:\/\/pteropaste.com\/ocd58cq39z0z\"\r\n[ -f \"entry_list.ini\" ] || touch entry_list.ini\r\n\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server name",
|
||||
"description": "The name off the server",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "AC_Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Http port",
|
||||
"description": "",
|
||||
"env_variable": "HTTP_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max clients",
|
||||
"description": "",
|
||||
"env_variable": "MAX_CLIENTS",
|
||||
"default_value": "18",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:2,25",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-27T17:14:48+01:00",
|
||||
"exported_at": "2021-12-07T16:03:51+00:00",
|
||||
"name": "Assetto Corsa",
|
||||
"author": "admin@softwarenoob.com",
|
||||
"description": "Assetto Corsa (Italian for \"Race Setup\") is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/games:source"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/acServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"NAME\": \"NAME={{server.build.env.HOSTNAME}}\",\r\n \"PASSWORD\": \"PASSWORD={{server.build.env.PASSWORD}}\",\r\n \"ADMIN_PASSWORD\": \"ADMIN_PASSWORD={{server.build.env.ADM_PASSWORD}}\",\r\n \"UDP_PORT\": \"UDP_PORT={{server.build.default.port}}\",\r\n \"TCP_PORT\": \"TCP_PORT={{server.build.default.port}}\",\r\n \"HTTP_PORT\": \"HTTP_PORT={{server.build.env.HTTP_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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\nif [ \"${STEAM_USER}\" == \"anonymous\" ]; then\r\n echo -e \"ERROR - STEAM USER NOT SET\\n\"\r\n echo -e \"Steam account must have the dedicated server in library to install and host the game\\n\"\r\n echo -e \"You must configure Steam account in the server startup variables, after that reinstall the server\\n\"\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} ${INSTALL_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\nif [ \"${STEAM_USER}\" == \"anonymous\" ]; then\r\n echo -e \"ERROR - STEAM USER NOT SET\\n\"\r\n echo -e \"Steam account must have the dedicated server in library to install and host the game\\n\"\r\n echo -e \"You must configure Steam account in the server startup variables, after that reinstall the server\\n\"\r\nfi",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -37,8 +37,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
@@ -47,8 +46,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth Code",
|
||||
@@ -57,8 +55,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
@@ -67,8 +64,7 @@
|
||||
"default_value": "Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:45",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:45"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
@@ -77,28 +73,25 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:40",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string|max:40"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "Used to login as server administrator, type \/help in-game for more",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"default_value": "4yRWj5vqr6zD",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40|min:8",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:40"
|
||||
},
|
||||
{
|
||||
"name": "HTTP Port",
|
||||
"description": "HTTP Port",
|
||||
"env_variable": "HTTP_PORT",
|
||||
"default_value": "",
|
||||
"default_value": "8081",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|int",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
@@ -107,8 +100,7 @@
|
||||
"default_value": "302550",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
@@ -117,18 +109,16 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:1"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install",
|
||||
"name": "Windows param",
|
||||
"description": "Required to always install and update the correct version of the game.",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,3 @@ Additionally the server can be configured with an RCON port. RCON will be disab
|
||||
## RCON
|
||||
|
||||
If you plan to use RCON it currently needs to be manually configured in the server.ini file. At some point server variables will be added.
|
||||
|
||||
## Updating
|
||||
Because with an update to this egg, the startup command changed, so if you update this egg, you will manually have to update the startup command for every server that was already made.
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:33:18+01:00",
|
||||
"exported_at": "2021-11-26T14:35:45+01:00",
|
||||
"name": "Avorion",
|
||||
"author": "iamkubi@gmail.com",
|
||||
"description": "A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/games:source"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/bin\/AvorionServer --galaxy-name {{GALAXY_NAME}} --admin {{ADMIN_ID}} --datapath galaxy --port {{SERVER_PORT}} --query-port {{QUERY_PORT}} --steam-master-port {{STEAM_MASTER_PORT}} --steam-query-port {{STEAM_QUERY_PORT}} --max-players {{MAX_PLAYERS}} --difficulty {{DIFFICULTY}} --collision-damage {{COLLISION_DMG}} --save-interval {{SAVE_INTERVAL}} --same-start-sector {{SAME_START_SECTOR}} --server-name \"{{SERVER_NAME}}\" --threads {{GAME_THREADS}} --listed {{SERVER_LISTED}}",
|
||||
"startup": ".\/bin\/AvorionServer --galaxy-name {{GALAXY_NAME}} --admin {{ADMIN_ID}} --datapath galaxy --port {{SERVER_PORT}} --query-port {{QUERY_PORT}} --steam-master-port {{STEAM_MASTER_PORT}} --steam-query-port {{STEAM_QUERY_PORT}} --max-players {{MAX_PLAYERS}} --difficulty {{DIFFICULTY}} --collision-damage {{COLLISION_DMG}} --save-interval {{SAVE_INTERVAL}} --same-start-sector {{SAME_START_SECTOR}} --server-name \\\"{{SERVER_NAME}}\\\" --threads {{GAME_THREADS}} --listed {{SERVER_LISTED}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server startup complete\"\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server startup complete\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "\/stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Avorion Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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\r\nmkdir -p \/mnt\/server\/backups\r\nmkdir -p \/mnt\/server\/galaxy\/${GALAXY_NAME}\r\ncurl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/avorion\/server.ini --output \/mnt\/server\/galaxy\/${GALAXY_NAME}\/server.ini\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n# Avorion Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n[[ \"$SERVER_BETA\" == \"true\" ]] && beta_arg=\"beta\" || beta_arg=\"NONE\"\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login anonymous +force_install_dir \/mnt\/server +app_update ${APP_ID} -beta \"$beta_arg\" validate +exit\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 \/mnt\/server\/backups\r\nmkdir -p \/mnt\/server\/galaxy\/${GALAXY_NAME}\r\ncurl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/avorion\/server.ini --output \/mnt\/server\/galaxy\/${GALAXY_NAME}\/server.ini",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -37,8 +37,7 @@
|
||||
"default_value": "Avorion",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:32"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
@@ -47,8 +46,7 @@
|
||||
"default_value": "Avorion Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Admin ID",
|
||||
@@ -57,8 +55,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
@@ -67,8 +64,7 @@
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|int|max:64",
|
||||
"field_type": "text"
|
||||
"rules": "required|int|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Game Difficulty",
|
||||
@@ -77,8 +73,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|in:0,1,2,3,-1,-2,-3",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|max:3|min:-3"
|
||||
},
|
||||
{
|
||||
"name": "Collision Damage",
|
||||
@@ -87,8 +82,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Save Interval",
|
||||
@@ -97,8 +91,7 @@
|
||||
"default_value": "300",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|int",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Same Start Sector",
|
||||
@@ -107,8 +100,7 @@
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|in:true,false"
|
||||
},
|
||||
{
|
||||
"name": "Threads",
|
||||
@@ -117,8 +109,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|max:20"
|
||||
},
|
||||
{
|
||||
"name": "List Publicly",
|
||||
@@ -127,8 +118,16 @@
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|in:true,false"
|
||||
},
|
||||
{
|
||||
"name": "Enable Beta",
|
||||
"description": "Set to true to enable beta, false for stable.",
|
||||
"env_variable": "SERVER_BETA",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
@@ -137,8 +136,7 @@
|
||||
"default_value": "565060",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:565060",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "LD Library Path",
|
||||
@@ -147,8 +145,7 @@
|
||||
"default_value": ".\/linux64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Steam Master Port",
|
||||
@@ -157,8 +154,7 @@
|
||||
"default_value": "27021",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Steam Query Port",
|
||||
@@ -167,8 +163,7 @@
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
@@ -177,8 +172,7 @@
|
||||
"default_value": "27003",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
@@ -187,18 +181,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta branch",
|
||||
"description": "Leave empty for the public branch, beta for the beta branch.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|in:,beta",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,30 +1,30 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-02T10:11:29+01:00",
|
||||
"exported_at": "2021-11-26T14:40:35+01:00",
|
||||
"name": "Barotrauma",
|
||||
"author": "admin@softwarenoob.com",
|
||||
"description": "Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It\u2019s a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/games:source"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/DedicatedServer -batchmode 2>&1 | sed -r \"s\/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]\/\/g\"",
|
||||
"startup": ".\/DedicatedServer -batchmode",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"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 lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} ${INSTALL_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": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -37,8 +37,7 @@
|
||||
"default_value": "1026340",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1026340",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
@@ -47,8 +46,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1,19 +1,18 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"_comment": "Pterodactyl DayZ (Experimental) Egg ~ David Wolfe (Red-Thirten) ~ 2022-05-26",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:15:35+01:00",
|
||||
"name": "DayZ (Experimental)",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "How long can you survive a post-apocalyptic world? A land overrun with an infected \"zombie\" population, where you compete with other survivors for limited resources. Will you team up with strangers and stay strong together? Or play as a lone wolf to avoid betrayal? This is DayZ \u2013 this is your story.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:dayz": "ghcr.io\/parkervcp\/games:dayz"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/games:dayz"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -BEpath=.\/ -config=serverDZ.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" \\\"{{STARTUP_PARAMS}}\\\"",
|
||||
"config": {
|
||||
@@ -24,7 +23,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl DayZ (Experimental) Egg - egg-dayz-experimental.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/26\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\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 server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl DayZ (Experimental) Egg - egg-dayz-experimental.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/26\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\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 server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
@@ -37,8 +36,7 @@
|
||||
"default_value": "anonymous",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
@@ -47,8 +45,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Disable Mod Downloads\/Updates",
|
||||
@@ -57,8 +54,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Number of SteamCMD Retry Attempts",
|
||||
@@ -67,8 +63,7 @@
|
||||
"default_value": "3",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
@@ -77,8 +72,7 @@
|
||||
"default_value": "DayZ Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
@@ -87,8 +81,7 @@
|
||||
"default_value": "64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|gt:0",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|gt:0"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
@@ -97,8 +90,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
@@ -107,8 +99,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
@@ -117,8 +108,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Modlist File (Exported from DayZ Launcher)",
|
||||
@@ -127,8 +117,7 @@
|
||||
"default_value": "modlist.html",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Mods",
|
||||
@@ -137,8 +126,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Verify Signatures",
|
||||
@@ -147,8 +135,7 @@
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:0,2",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|in:0,2"
|
||||
},
|
||||
{
|
||||
"name": "Enforce Game Version",
|
||||
@@ -157,8 +144,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Disable VoN",
|
||||
@@ -167,8 +153,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "VoN Quality",
|
||||
@@ -177,8 +162,7 @@
|
||||
"default_value": "20",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,30",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|between:0,30"
|
||||
},
|
||||
{
|
||||
"name": "Disable Third Person",
|
||||
@@ -187,8 +171,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Disable Crosshair",
|
||||
@@ -197,8 +180,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Disable Personal Light",
|
||||
@@ -207,8 +189,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Darker Nights",
|
||||
@@ -217,8 +198,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Persistent Time",
|
||||
@@ -227,8 +207,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "Time Multiplier",
|
||||
@@ -237,8 +216,7 @@
|
||||
"default_value": "12",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,24",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer|between:0,24"
|
||||
},
|
||||
{
|
||||
"name": "Night Multiplier",
|
||||
@@ -247,8 +225,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:0.1,64",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric|between:0.1,64"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Make Mod Files Lowercase",
|
||||
@@ -257,8 +234,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
@@ -267,8 +243,7 @@
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
"rules": "boolean"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server-Side Only Mods",
|
||||
@@ -277,8 +252,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Extra Startup Parameters",
|
||||
@@ -287,8 +261,7 @@
|
||||
"default_value": "-doLogs -limitFPS=120",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server Binary",
|
||||
@@ -297,8 +270,7 @@
|
||||
"default_value": "DayZServer",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:DayZServer",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|in:DayZServer"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] DayZ SA Dedicated Server App ID",
|
||||
@@ -307,8 +279,7 @@
|
||||
"default_value": "1042420",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
"rules": "required|integer"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,74 +0,0 @@
|
||||
# Enshrouded
|
||||
|
||||
### Game Description
|
||||
|
||||
Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny.
|
||||
|
||||
Ignite the Ancient power of the Flame, and piece together the fragments of a story that unfolds below the surface.
|
||||
|
||||
### Usefull links
|
||||
|
||||
Homepage: https://enshrouded.com/
|
||||
Steam: https://store.steampowered.com/app/1203620/Enshrouded/
|
||||
Wiki: https://enshrouded.wiki.gg/wiki/Enshrouded_Wiki
|
||||
Discord: https://discord.gg/enshrouded
|
||||
|
||||
### Author & Contributers
|
||||
| Name | Github Profile | Buy me a Coffee |
|
||||
| ------------- |-------------|-------------|
|
||||
| Vapok | https://github.com/Vapok | https://www.buymeacoffee.com/vapok |
|
||||
| QuintenQVD0 | https://github.com/QuintenQVD0 | |
|
||||
| gOOvER | https://github.com/gOOvER | ](https://ko-fi.com/B0B351D0Q) |
|
||||
|
||||
### Server Ports
|
||||
|
||||
Enshrouded requires up to 2 ports. Queryport must be GAMEPORT +1
|
||||
|
||||
| Port | default |
|
||||
|---------|---------------|
|
||||
| Game | 15636 |
|
||||
| Query | 15637 |
|
||||
|
||||
### Configuration
|
||||
|
||||
When browsing to the installation path of the dedicated server in Windows as described in the article [Multiplayer and Server Hosting](https://enshrouded.zendesk.com/hc/en-us/sections/16050842957085-Multiplayer-and-Server-Hosting) and after starting the enshrouded\_server.exe once, a new file is created called “enshrouded\_server.json”. It contains the following entries:
|
||||
```json
|
||||
{
|
||||
|
||||
"name": "Enshrouded Server",
|
||||
"password": "",
|
||||
"saveDirectory": "./savegame",
|
||||
"logDirectory": "./logs",
|
||||
"ip": "0.0.0.0",
|
||||
"gamePort": 15636,
|
||||
"queryPort": 15637,
|
||||
"slotCount": 16
|
||||
|
||||
}
|
||||
```
|
||||
* Under “name” the name of the dedicated server can be defined as it will appear in the server list for players of Enshrouded.
|
||||
* Note: as all players can see the names of the servers, please use a non-offensive name for the server.
|
||||
* In the entry “password” a password can be defined that players need to enter before being allowed to join the server.
|
||||
* It is highly recommended to set a password. Every player can see the server and can access it, if no password is set. At this point there is no rights management for the server other than the password. We will work on better admin tools and rights management in the near future.
|
||||
* The directory for the world saved on the dedicated server can be set in the “saveDirectory” setting. By default, the server will save in a subfolder “…/savegame”
|
||||
* If needed, a specific folder for storing log-files can be set in the “logDirectory” setting. If nothing is changed, the server will save the latest log into the directory “…/logs” and archive previous log-files automatically in the folder “…/logs/backup”
|
||||
* If needed for internal network configurations, the IP of the server can be set in the “ip” setting.
|
||||
* “gamePort” and “queryPort” can be changed to match your firewall settings.
|
||||
* “slotCount” allows the definition of the maximum of player slots.
|
||||
* The slot count must be a number between 1 and 16.
|
||||
* Note: each slot (player) will increase the impact on the performance of the server. If CPU or the RAM are a bottleneck, lowering the max of available player slots can help mitigating the stress for the server.
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Recommended | Extra info |
|
||||
|-----------|--------------|-------------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. | You need min 4 Cores for the Server. |
|
||||
| RAM | 4-6 GB |
|
||||
| Storage | 30 GB (or more, depending on save size or frequency) |
|
||||
|
||||
### Server not showing in Serverlist?
|
||||
|
||||
The fact that the server is not displayed in the server list is a known problem.
|
||||
|
||||
As a workaround, you can add the server as a favourite via IP:port in the Steam server browser.
|
||||
The server should then be at the top of the ingame server list
|
||||
@@ -1,114 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-26T17:20:16+01:00",
|
||||
"name": "Enshrouded",
|
||||
"author": "vapokrocks@gmail.com",
|
||||
"description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny. Credit to gOOvER for the help with the proton image which seems to be performing better over the wine egg.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "proton run .\/enshrouded_server.exe",
|
||||
"config": {
|
||||
"files": "{\r\n \"enshrouded_server.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SRV_NAME}}\",\r\n \"password\": \"{{server.build.env.SRV_PW}}\",\r\n \"slotCount\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"gamePort\": \"{{server.build.default.port}}\",\r\n \"queryPort\": \"{{server.build.env.QUERY_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"[Session] 'HostOnline' (up)!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\nclear\r\nRED='\\033[0;31m'\r\nGREEN='\\033[0;32m'\r\nYELLOW='\\033[1;33m'\r\nBLUE='\\033[0;34m'\r\nNC='\\033[0m'\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}Enshrouded Installscript${NC}\"\r\necho -e \"${YELLOW}Egg by gOOvER | https:\/\/goover.dev${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates jq dos2unix\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}download and install steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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\necho -e \"${GREEN}..done..${NC}\"\r\n\r\n## install game using steamcmd\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}install game using steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) $( [[ \"${STEAM_SDK}\" == \"1\" ]] && printf %s '+app_update 1007' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\necho -e \"${GREEN}..done..${NC}\"\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# add below your custom commands if needed\r\n\r\nFILE=\/mnt\/server\/enshrouded_server.json\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exist skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n cd \/mnt\/server\r\n touch enshrouded_server.json\r\n echo \"{\" >> enshrouded_server.json\r\n echo '\t\"name\": \"Enshrouded Server\",' >> enshrouded_server.json\r\n echo '\t\"password\": \"\",' >> enshrouded_server.json\r\n echo '\t\"saveDirectory\": \".\/savegame\",' >> enshrouded_server.json\r\n echo '\t\"logDirectory\": \".\/logs\",' >> enshrouded_server.json\r\n echo '\t\"ip\": \"0.0.0.0\",' >> enshrouded_server.json\r\n echo '\t\"gamePort\": 15636,' >> enshrouded_server.json\r\n echo '\t\"queryPort\": 15637,' >> enshrouded_server.json\r\n echo '\t\"slotCount\": 16' >> enshrouded_server.json\r\n echo '}' >> enshrouded_server.json\r\nfi\r\n## install end\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${GREEN}Installation completed...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[SERVER] Steam Query Port",
|
||||
"description": "Steam Query Port",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINDOWS_INSTALL",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[STEAM] Steam App ID",
|
||||
"description": "Steam App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2278520",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2278520",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Auto Update",
|
||||
"description": "Enable automatic updates on boot",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Server Name",
|
||||
"description": "Name of the server",
|
||||
"env_variable": "SRV_NAME",
|
||||
"default_value": "My Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Server Password",
|
||||
"description": "Server password",
|
||||
"env_variable": "SRV_PW",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Max Players",
|
||||
"description": "Maximum number of players allowed",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SYSTEM] Validate",
|
||||
"description": "Validate the serverfiles through Steam",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
{
|
||||
"gamePort": 27015,
|
||||
"ip": "0.0.0.0",
|
||||
"logDirectory": "./logs",
|
||||
"name": "My Server",
|
||||
"password": "",
|
||||
"queryPort": 27016,
|
||||
"saveDirectory": "./savegame",
|
||||
"slotCount": 10
|
||||
}
|
||||
@@ -4,9 +4,9 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-09T20:19:30+01:00",
|
||||
"exported_at": "2023-12-25T11:27:01+01:00",
|
||||
"name": "HumanitZ",
|
||||
"author": "engels74@marx.ps",
|
||||
"author": "admin@marx.ps",
|
||||
"description": "HumanitZ is a co-op, isometric, open world survival game in a world ended by the zombie outbreak. As one of the few human survivors, try to last as long as \u201chumanly\u201d possible. The past can\u2019t be changed, but you can make a difference today for the future of humanity.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
@@ -15,7 +15,7 @@
|
||||
"file_denylist": [],
|
||||
"startup": ".\/TSSGame\/Binaries\/Linux\/TSSGameServer-Linux-Shipping TSSGame -log -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} -steamservername=\"{{SERVER_NAME}}\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"TSSGame\/GameServerSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"Password=\\\"\\\"\": \"Password=\\\"{{server.build.env.PASSWORD}}\\\"\",\r\n \"SaveName=\\\"\\\"\": \"SaveName=\\\"{{server.build.env.SAVE_NAME}}\\\"\",\r\n \"AdminPass=\\\"\\\"\": \"AdminPass=\\\"{{server.build.env.ADMIN_PASS}}\\\"\",\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"OnlyAllowedPlayers=\": \"OnlyAllowedPlayers={{server.build.env.ONLY_ALLOWED_PLAYERS}}\",\r\n \"SaveIntervalSec=\": \"SaveIntervalSec={{server.build.env.SAVE_INTERVAL_SEC}}\",\r\n \"NoDeathFeedback=\": \"NoDeathFeedback={{server.build.env.NO_DEATH_FEEDBACK}}\",\r\n \"PermaDeath=\": \"PermaDeath={{server.build.env.PERMA_DEATH}}\",\r\n \"OnDeath=\": \"OnDeath={{server.build.env.ON_DEATH}}\",\r\n \"PVP=\": \"PVP={{server.build.env.PVP}}\",\r\n \"ClearInfection=\": \"ClearInfection={{server.build.env.CLEAR_INFECTION}}\",\r\n \"EagleEye=\": \"EagleEye={{server.build.env.EAGLE_EYE}}\",\r\n \"AirDrop=\": \"AirDrop={{server.build.env.AIR_DROP}}\",\r\n \"WeaponBreak=\": \"WeaponBreak={{server.build.env.WEAPON_BREAK}}\",\r\n \"MultiplayerSleep=\": \"MultiplayerSleep={{server.build.env.MULTIPLAYER_SLEEP}}\",\r\n \"LootRespawn=\": \"LootRespawn={{server.build.env.LOOT_RESPAWN}}\",\r\n \"LootRespawnTimer=\": \"LootRespawnTimer={{server.build.env.LOOT_RESPAWN_TIMER}}\",\r\n \"LootRarity=\": \"LootRarity={{server.build.env.LOOT_RARITY}}\",\r\n \"AirDropInterval=\": \"AirDropInterval={{server.build.env.AIR_DROP_INTERVAL}}\",\r\n \"ZombieDiffHealth=\": \"ZombieDiffHealth={{server.build.env.ZOMBIE_DIFF_HEALTH}}\",\r\n \"ZombieDiffSpeed=\": \"ZombieDiffSpeed={{server.build.env.ZOMBIE_DIFF_SPEED}}\",\r\n \"ZombieDiffDamage=\": \"ZombieDiffDamage={{server.build.env.ZOMBIE_DIFF_DAMAGE}}\",\r\n \"HumanDifficulty=\": \"HumanDifficulty={{server.build.env.HUMAN_DIFFICULTY}}\",\r\n \"ZombieAmountMulti=\": \"ZombieAmountMulti={{server.build.env.ZOMBIE_AMOUNT_MULTI}}\",\r\n \"HumanAmountMulti=\": \"HumanAmountMulti={{server.build.env.HUMAN_AMOUNT_MULTI}}\",\r\n \"ZombieDogMulti=\": \"ZombieDogMulti={{server.build.env.ZOMBIE_DOG_MULTI}}\",\r\n \"ZombieRespawnTimer=\": \"ZombieRespawnTimer={{server.build.env.ZOMBIE_RESPAWN_TIMER}}\",\r\n \"HumanRespawnTimer=\": \"HumanRespawnTimer={{server.build.env.HUMAN_RESPAWN_TIMER}}\",\r\n \"AnimalRespawnTimer=\": \"AnimalRespawnTimer={{server.build.env.ANIMAL_RESPAWN_TIMER}}\",\r\n \"StartingSeason=\": \"StartingSeason={{server.build.env.STARTING_SEASON}}\",\r\n \"DaysPerSeason=\": \"DaysPerSeason={{server.build.env.DAYS_PER_SEASON}}\",\r\n \"DayDur=\": \"DayDur={{server.build.env.DAY_DUR}}\",\r\n \"NightDur=\": \"NightDur={{server.build.env.NIGHT_DUR}}\",\r\n \"VitalDrain=\": \"VitalDrain={{server.build.env.VITAL_DRAIN}}\",\r\n \"DogEnabled=\": \"DogEnabled={{server.build.env.DOG_ENABLED}}\",\r\n \"DogNum=\": \"DogNum={{server.build.env.DOG_NUM}}\",\r\n \"RecruitDog=\": \"RecruitDog={{server.build.env.RECRUIT_DOG}}\",\r\n \"BuildingHealth=\": \"BuildingHealth={{server.build.env.BUILDING_HEALTH}}\",\r\n \"CompanionHealth=\": \"CompanionHealth={{server.build.env.COMPANION_HEALTH}}\",\r\n \"CompanionDmg=\": \"CompanionDmg={{server.build.env.COMPANION_DMG}}\",\r\n \"AllowDismantle=\": \"AllowDismantle={{server.build.env.ALLOW_DISMANTLE}}\",\r\n \"AllowHouseDismantle=\": \"AllowHouseDismantle={{server.build.env.ALLOW_HOUSE_DISMANTLE}}\",\r\n \"Territory=\": \"Territory={{server.build.env.TERRITORY}}\",\r\n \"Decay=\": \"Decay={{server.build.env.DECAY}}\"\r\n }\r\n }\r\n}",
|
||||
"files": "{\r\n \"TSSGame\/GameServerSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"Password=\\\"\\\"\": \"Password=\\\"{{server.build.env.PASSWORD}}\\\"\",\r\n \"SaveName=\\\"\\\"\": \"SaveName=\\\"{{server.build.env.SAVE_NAME}}\\\"\",\r\n \"AdminPass=\\\"\\\"\": \"AdminPass=\\\"{{server.build.env.ADMIN_PASS}}\\\"\",\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"OnlyAllowedPlayers=\": \"OnlyAllowedPlayers={{server.build.env.ONLY_ALLOWED_PLAYERS}}\",\r\n \"SaveIntervalSec=\": \"SaveIntervalSec={{server.build.env.SAVE_INTERVAL_SEC}}\",\r\n \"NoDeathFeedback=\": \"NoDeathFeedback={{server.build.env.NO_DEATH_FEEDBACK}}\",\r\n \"PermaDeath=\": \"PermaDeath={{server.build.env.PERMA_DEATH}}\",\r\n \"OnDeath=\": \"OnDeath={{server.build.env.ON_DEATH}}\",\r\n \"PVP=\": \"PVP={{server.build.env.PVP}}\",\r\n \"ClearInfection=\": \"ClearInfection={{server.build.env.CLEAR_INFECTION}}\",\r\n \"EagleEye=\": \"EagleEye={{server.build.env.EAGLE_EYE}}\",\r\n \"AirDrop=\": \"AirDrop={{server.build.env.AIR_DROP}}\",\r\n \"WeaponBreak=\": \"WeaponBreak={{server.build.env.WEAPON_BREAK}}\",\r\n \"MultiplayerSleep=\": \"MultiplayerSleep={{server.build.env.MULTIPLAYER_SLEEP}}\",\r\n \"LootRespawn=\": \"LootRespawn={{server.build.env.LOOT_RESPAWN}}\",\r\n \"LootRespawnTimer=\": \"LootRespawnTimer={{server.build.env.LOOT_RESPAWN_TIMER}}\",\r\n \"LootRarity=\": \"LootRarity={{server.build.env.LOOT_RARITY}}\",\r\n \"AirDropInterval=\": \"AirDropInterval={{server.build.env.AIR_DROP_INTERVAL}}\",\r\n \"ZombieDiffHealth=\": \"ZombieDiffHealth={{server.build.env.ZOMBIE_DIFF_HEALTH}}\",\r\n \"ZombieDiffSpeed=\": \"ZombieDiffSpeed={{server.build.env.ZOMBIE_DIFF_SPEED}}\",\r\n \"ZombieDiffDamage=\": \"ZombieDiffDamage={{server.build.env.ZOMBIE_DIFF_DAMAGE}}\",\r\n \"HumanDifficulty=\": \"HumanDifficulty={{server.build.env.HUMAN_DIFFICULTY}}\",\r\n \"ZombieAmountMulti=\": \"ZombieAmountMulti={{server.build.env.ZOMBIE_AMOUNT_MULTI}}\",\r\n \"HumanAmountMulti=\": \"HumanAmountMulti={{server.build.env.HUMAN_AMOUNT_MULTI}}\",\r\n \"ZombieDogMulti=\": \"ZombieDogMulti={{server.build.env.ZOMBIE_DOG_MULTI}}\",\r\n \"ZombieRespawnTimer=\": \"ZombieRespawnTimer={{server.build.env.ZOMBIE_RESPAWN_TIMER}}\",\r\n \"HumanRespawnTimer=\": \"HumanRespawnTimer={{server.build.env.HUMAN_RESPAWN_TIMER}}\",\r\n \"AnimalRespawnTimer=\": \"AnimalRespawnTimer={{server.build.env.ANIMAL_RESPAWN_TIMER}}\",\r\n \"StartingSeason=\": \"StartingSeason={{server.build.env.STARTING_SEASON}}\",\r\n \"DaysPerSeason=\": \"DaysPerSeason={{server.build.env.DAYS_PER_SEASON}}\",\r\n \"DayDur=\": \"DayDur={{server.build.env.DAY_DUR}}\",\r\n \"NightDur=\": \"NightDur={{server.build.env.NIGHT_DUR}}\",\r\n \"VitalDrain=\": \"VitalDrain={{server.build.env.VITAL_DRAIN}}\",\r\n \"DogEnabled=\": \"DogEnabled={{server.build.env.DOG_ENABLED}}\",\r\n \"DogNum=\": \"DogNum={{server.build.env.DOG_NUM}}\",\r\n \"RecruitDog=\": \"RecruitDog={{server.build.env.RECRUIT_DOG}}\",\r\n \"BuildingHealth=\": \"BuildingHealth={{server.build.env.BUILDING_HEALTH}}\",\r\n \"CompanionHealth=\": \"CompanionHealth={{server.build.env.COMPANION_HEALTH}}\",\r\n \"CompanionDmg=\": \"CompanionDmg={{server.build.env.COMPANION_DMG}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"LogKaiHelper: Session created!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
@@ -29,7 +29,7 @@
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[REQUIRED] Steam App ID",
|
||||
"name": "Steam App ID",
|
||||
"description": "Steam App ID of HumanitZ Server",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2728330",
|
||||
@@ -220,7 +220,7 @@
|
||||
},
|
||||
{
|
||||
"name": "Building Health",
|
||||
"description": "Health multiplier of player placed buildings. By default set to \"1\".",
|
||||
"description": "Nothing provided in docs regarding this variable. Default value is \"1\".",
|
||||
"env_variable": "BUILDING_HEALTH",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
@@ -230,16 +230,6 @@
|
||||
},
|
||||
{
|
||||
"name": "Loot Respawn",
|
||||
"description": "1=Loot does respawn, 0=Never respawn",
|
||||
"env_variable": "LOOT_RESPAWN",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Loot Respawn Timer",
|
||||
"description": "If loot respawns, how long does it take in seconds",
|
||||
"env_variable": "LOOT_RESPAWN_TIMER",
|
||||
"default_value": "90",
|
||||
@@ -477,46 +467,6 @@
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Allow Dismantle",
|
||||
"description": "1 = Enable players to dismantle their own buildings, 0 = Disable",
|
||||
"env_variable": "ALLOW_DISMANTLE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Allow House Dismantle",
|
||||
"description": "1 = Players are able to dismantle house props, 0 = Disable",
|
||||
"env_variable": "ALLOW_HOUSE_DISMANTLE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Territory",
|
||||
"description": "1 = Enabled. In PVE you are not allowed to build in someone's spawn point area. Only non recruit clan members can. 0 = Disable",
|
||||
"env_variable": "TERRITORY",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Decay",
|
||||
"description": "By default 3600, the spawn point loses 1 durability every 1 hour. Used to deal with territory build restrictions, so you have to repair your spawn point.",
|
||||
"env_variable": "DECAY",
|
||||
"default_value": "3600",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -21,9 +21,37 @@ Ports required to run the server
|
||||
|---------|---------|
|
||||
| Game | 7210 (UDP) |
|
||||
|
||||
### Notes
|
||||
## Notes
|
||||
|
||||
You need to get your own AUTH token to run this server generated by an offical client
|
||||
|
||||
[YT](https://www.youtube.com/watch?v=9Hvuz12Bfzg)
|
||||
|
||||
[Docs](https://moddocs.bannerlord.com/multiplayer/hosting_server/#generating-a-token)
|
||||
|
||||
## IPv6
|
||||
|
||||
Because something is wrong with their server, you will be unable to join as their IPV6 logic is broken (even if you don't have IPV6).
|
||||
To fix this, go to `bin/Linux64_Shipping_Server`, open the `TaleWorlds.Starter.DotNetCore.Linux.runtimeconfig.json` file and add:
|
||||
```json
|
||||
"System.Net.DisableIPv6": true
|
||||
```
|
||||
To the `configProperties` object.
|
||||
Your file should then look something like this:
|
||||
|
||||
```json
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net6.0",
|
||||
"framework": {
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "6.0.0"
|
||||
},
|
||||
"configProperties": {
|
||||
"System.Reflection.Metadata.MetadataUpdater.IsSupported": false,
|
||||
"System.Net.DisableIPv6": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
|
||||
+17
-57
@@ -4,42 +4,32 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-10-21T17:16:27+02:00",
|
||||
"exported_at": "2024-01-15T15:51:23+01:00",
|
||||
"name": "Mount & Blade II: Bannerlord",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "A strategy\/action RPG. Create a character, engage in diplomacy, craft, trade and conquer new lands in a vast medieval sandbox. Raise armies to lead into battle and command and fight alongside your troops in massive real-time battles using a deep but intuitive skill-based combat system.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
|
||||
"Dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "cd \/home\/container\/bin\/Win64_Shipping_Server\/ && wine DedicatedCustomServer.Starter.exe \/port {{SERVER_PORT}} \/dedicatedcustomserverauthtoken \"{{AUTH_TOKEN}}\" \/dedicatedcustomserverconfigfile tdm_config.txt _MODULES_*Native*Multiplayer*DedicatedCustomServerHelper*_MODULES_",
|
||||
"startup": "cd \/home\/container\/bin\/Linux64_Shipping_Server\/ && dotnet TaleWorlds.Starter.DotNetCore.Linux.dll \/port {{SERVER_PORT}} \/dedicatedcustomserverauthtoken \"{{AUTH_TOKEN}}\" \/dedicatedcustomserverconfigfile tdm_config.txt _MODULES_{{MODULES}}_MODULES_",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Custom Game server is ready! You can now enter console commands\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
"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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/Modules\/Native\/\r\ncd \/mnt\/server\/Modules\/Native\/\r\n[ -f \"tdm_config.txt\" ] || curl -sSL -o \"tdm_config.txt\" \"https:\/\/pteropaste.com\/z67k16z608ty\"\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/Modules\/Native\/\r\ncd \/mnt\/server\/Modules\/Native\/\r\n[ -f \"tdm_config.txt\" ] || curl -sSL -o \"tdm_config.txt\" \"https:\/\/pteropaste.com\/z67k16z608ty\"\r\n\r\ncd \/opt\/bitnami\/dotnet-sdk\/bin\/shared\/Microsoft.AspNetCore.App\/6.0.*\/\r\ncp *.dll \/mnt\/server\/bin\/Linux64_Shipping_Server\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "bitnami\/dotnet-sdk:6-debian-11",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Windows",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App id",
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1863440",
|
||||
@@ -58,46 +48,6 @@
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SYSTEM] WINEDEBUG",
|
||||
"description": "don't change this !!!",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SYSTEM] WINEARCH",
|
||||
"description": "",
|
||||
"env_variable": "WINEARCH",
|
||||
"default_value": "win64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEPATH",
|
||||
"description": "",
|
||||
"env_variable": "WINEPATH",
|
||||
"default_value": "\/home\/container",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINETRICKS_RUN",
|
||||
"description": "",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "vcrun2019 dotnet472",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auth token",
|
||||
"description": "See: https:\/\/www.youtube.com\/watch?v=9Hvuz12Bfzg",
|
||||
@@ -107,6 +57,16 @@
|
||||
"user_editable": true,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Modules",
|
||||
"description": "The modules that the server will be running. Ensure that it's in the format of *module1*module2*module3* etc.",
|
||||
"env_variable": "MODULES",
|
||||
"default_value": "*Native*Multiplayer*DedicatedCustomServerHelper*",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
# Necesse
|
||||
|
||||
Build, quest, and conquer across an infinite procedurally generated world. Play alone or with friends as you establish a settlement and explore deep dungeons, fight monsters and bosses, mine rare ores, craft magical equipment, recruit specialists for your colony, and more!
|
||||
|
||||
## Server Configuration
|
||||
|
||||
Steam page: [link](https://store.steampowered.com/app/1169040/Necesse/)
|
||||
Official Wiki: [link](https://necessewiki.com)
|
||||
Server Wiki Page: [link](https://necessewiki.com/Multiplayer) (Linux specifics can be [found here](https://necessewiki.com/Multiplayer-Linux))
|
||||
|
||||
### Server Ports
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game | 14159 |
|
||||
|
||||
### Configuration files
|
||||
|
||||
| File | Path |
|
||||
|-----------|---------|
|
||||
| server.cfg | /home/container/cfg/server.cfg |
|
||||
| worldSettings.cfg | /home/container/saves/worlds/SAVE_NAME.zip/worldSettings.cfg |
|
||||
@@ -1,94 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-30T12:30:23+01:00",
|
||||
"name": "Necesse",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "Build, quest, and conquer across an infinite procedurally generated world. Play alone or with friends as you establish a settlement and explore deep dungeons, fight monsters and bosses, mine rare ores, craft magical equipment, recruit specialists for your colony, and more!",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/jre\/bin\/java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar Server.jar -localdir -nogui -world {{SAVE_NAME}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server.cfg\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}},\",\r\n \"slots\": \"{{server.build.env.SERVER_SLOTS}},\",\r\n \"password\": \"{{server.build.env.SERVER_PASSWORD}},\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Type help for list of commands.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"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 'ghcr.io\\\/parkervcp\\\/installers:debian'\r\n\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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\r\n# setup the default config file\r\nexport SERVER_CFG=\/mnt\/server\/cfg\/server.cfg\r\n\r\nif [ ! -f \"$SERVER_CFG\" ]; then\r\n echo \"Generating server config\"\r\n mkdir \"$(dirname \"$SERVER_CFG\")\"\r\n cat > \"$SERVER_CFG\" <<EOF\r\nSERVER = {\r\n\tport = $SERVER_PORT, \/\/ [0 - 65535] Server default port\r\n\tslots = $SERVER_SLOTS, \/\/ [1 - 250] Server default slots\r\n\tpassword = $SERVER_PASSWORD, \/\/ Leave blank for no password\r\n\tmaxClientLatencySeconds = 30,\r\n\tpauseWhenEmpty = true,\r\n\tgiveClientsPower = true, \/\/ If true, clients will have much more power over what hits them, their position etc\r\n\tlogging = true, \/\/ If true, will create log files for each server start\r\n\tlanguage = en,\r\n\tunloadLevelsCooldown = 30, \/\/ The number of seconds a level will stay loaded after the last player has left it\r\n\tworldBorderSize = -1, \/\/ The max distance from spawn players can travel. -1 for no border\r\n\tdroppedItemsLifeMinutes = 0, \/\/ Minutes that dropped items will stay in the world. 0 or less for indefinite\r\n\tunloadSettlements = false, \/\/ If the server should unload player settlements or keep them loaded\r\n\tmaxSettlementsPerPlayer = -1, \/\/ The maximum amount of settlements per player. -1 or less means infinite\r\n\tmaxSettlersPerSettlement = -1, \/\/ The maximum amount of settlers per settlement. -1 or less means infinite\r\n\tjobSearchRange = 100, \/\/ The tile search range of settler jobs\r\n\tzipSaves = true, \/\/ If true, will create new saves uncompressed\r\n\tMOTD = \/\/ Message of the day\r\n}\r\nEOF\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Save Name",
|
||||
"description": "Name of the save file.",
|
||||
"env_variable": "SAVE_NAME",
|
||||
"default_value": "Save1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Player Slots",
|
||||
"description": "Number of slots available for players to join the server.",
|
||||
"env_variable": "SERVER_SLOTS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|max:99",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password required to enter the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "DO NOT EDIT",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1169370",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1169370",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auto Update",
|
||||
"description": "Enable or disable auto-update on startup. 0 to disable and 1 to enable.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Beta Branch",
|
||||
"description": "Steam Beta branch to install.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:64",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
Binary file not shown.
@@ -1,118 +0,0 @@
|
||||
# Palworld
|
||||
|
||||
### Steam Description
|
||||
Fight, farm, build and work alongside mysterious creatures called "Pals" in this completely new multiplayer, open world survival and crafting game!
|
||||
|
||||
### Authors / Contributors
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Ballaual">
|
||||
<img src="https://avatars.githubusercontent.com/u/38478976" width="50px;" alt=""/><br /><sub><b>Alexander Ballauf</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900216079" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Ballaual" title="Maintains">🔨</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/QuintenQVD0">
|
||||
<img src="https://avatars.githubusercontent.com/u/67589015" width="50px;" alt=""/><br /><sub><b>QuintenQVD0</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1899999796" title="Codes">💻</a>
|
||||
<td align="center">
|
||||
<a href="https://github.com/hackles">
|
||||
<img src="https://avatars.githubusercontent.com/u/30584261" width="50px;" alt=""/><br /><sub><b>heckler</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900043987" title="Contributor">💡</a>
|
||||
</td>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/danny6167">
|
||||
<img src="https://avatars.githubusercontent.com/u/388231" width="50px;" alt=""/><br /><sub><b>Daniel Barton</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900100992" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Rodhin">
|
||||
<img src="https://avatars.githubusercontent.com/u/13395074" width="50px;" alt=""/><br /><sub><b>Rodhin</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900153550" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/B0rbor4d">
|
||||
<img src="https://avatars.githubusercontent.com/u/33213807" width="50px;" alt=""/><br /><sub><b>B0rbor4d</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1900213758" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Simsz">
|
||||
<img src="https://avatars.githubusercontent.com/u/12779829" width="50px;" alt=""/><br /><sub><b>Zach</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/issues/2669#issuecomment-1899954711" title="Contributor">💡</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
## Known Issues / FAQ
|
||||
|
||||
1) The server won't show up in the Community-Server tab.<br>
|
||||
-> This is a known problem and the devs will hopefully fix that asap. Best choice is to connect by IP and Password.
|
||||
|
||||
2) The server has a memory leak.<br>
|
||||
-> This is also an issue that they are aware of.<br>
|
||||
-> The `bEnableInvaderEnemy` option seems to have a huge impact on the current RAM usage. Disabling it might be choice.<br>
|
||||
-> Tip: Schedule a server restart every 6h. You might adjust the value according to your system!<br>
|
||||
|
||||
3) The server does not show up in the steam server list.<br>
|
||||
-> This is currently and might never be supported.
|
||||
|
||||
4) The config file gets deleted / reset on server restart.<br>
|
||||
-> Before editing the config file always make sure to fully stop the server first. Otherwise all changes wont be saved.
|
||||
|
||||
## Recommended server settings
|
||||
|
||||
### RAM
|
||||
|
||||
Due to at least one memory leak the server requires about 16-32GB RAM.<br>
|
||||
Referring to the [official documentation](https://tech.palworldgame.com/dedicated-server-guide) you can start the server with 8GB but you will run out of memory very quickly.<br>
|
||||
The minimum should be 16GB but 32GB are fairly recommended for now.<br>
|
||||
|
||||
### CPU
|
||||
|
||||
Intel / AMD processor with at least 4 cores.
|
||||
|
||||
### Storage
|
||||
|
||||
As of January 19th 2024 the server requires about 5GB of storage capacity. This might extend with further content/updates.
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | Default |
|
||||
| --------------- | ------- |
|
||||
| Game | 8211 |
|
||||
| RCON (optional) | 25575 |
|
||||
|
||||
The RCON port does not need to be allocated.
|
||||
|
||||
### Updating
|
||||
|
||||
1. Update your egg
|
||||
2. Update the startup of all already made servers to the one that now comes with the egg
|
||||
3. Then hit reinstall because the parser application has to be downloaded
|
||||
|
||||
### Variable Parsing
|
||||
|
||||
The parser application that is currently being shipped is capable of editing all variables that are present in the Palworld configuration file as of February 1, 2024.
|
||||
|
||||
However, only the most basic and necessary variables are present in the egg.
|
||||
Those who need more variables will have to add them themselves.
|
||||
|
||||
See a list of what key matches with what variable [Here](https://github.com/QuintenQVD0/Palword-server-config-parser?tab=readme-ov-file#key-with-variables)
|
||||
|
||||
**Variables that do not exist will automatically be skipped parsing so you do not have to worry about it emptying your config file**
|
||||
@@ -1,146 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-30T17:49:20+01:00",
|
||||
"name": "Palworld",
|
||||
"author": "admin@ballaual.de",
|
||||
"description": "Fight, farm, build and work alongside mysterious creatures called \"Pals\" in this completely new multiplayer, open world survival and crafting game!",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"SteamCMD_Debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [
|
||||
"PalServer.sh"
|
||||
],
|
||||
"startup": ".\/PalworldServerConfigParser; (while read cmd; do rcon -s -a \"localhost:$RCON_PORT\" -p \"$ADMIN_PASSWORD\" \"$cmd\";done) < \/dev\/stdin & \/home\/container\/Pal\/Binaries\/Linux\/PalServer-Linux-Test Pal EpicApp=PalServer -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -publicip={{PUBLIC_IP}} -port={{SERVER_PORT}} -publicport={{SERVER_PORT}} -servername=\"{{SERVER_NAME}}\" -players={{MAX_PLAYERS}} $(if [ -n \"$SERVER_PASSWORD\" ]; then echo \"-serverpassword=\\\"${SERVER_PASSWORD}\\\"\"; fi) -adminpassword=\"{{ADMIN_PASSWORD}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID = 2394010\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "shutdown 15"
|
||||
},
|
||||
"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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n## copy template config file\r\necho \"Copy template config file into config folder!\"\r\n\r\nif [ -f \"\/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\" ]; then\r\n echo \"Config file already exitis, backing up and overwriting with a new one\"\r\n mv \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings_$(date +\"%Y%m%d%H%M%S\").ini\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nelse \r\n echo \"Creating new config file\"\r\n mkdir -p \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\r\n cp \/mnt\/server\/DefaultPalWorldSettings.ini \/mnt\/server\/Pal\/Saved\/Config\/LinuxServer\/PalWorldSettings.ini\r\nfi\r\n\r\ncd \/mnt\/server\r\n# Download self made replace tool\r\necho \"Downloading config parser aplication\"\r\ncurl -sSL -o PalworldServerConfigParser https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/palworld\/PalworldServerConfigParser-linux-amd64\r\nchmod +x PalworldServerConfigParser\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "Do not edit!",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2394010",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2394010",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Auto update the server on start.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:1,32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl hosted Palworld Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If specified, players must provide this password to join the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|between:1,30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "If specified, players must provide this password (via the in-game chat or RCON) to gain access to administrator commands on the server.",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|between:1,30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Public IP",
|
||||
"description": "Set this to the servers public ip address.",
|
||||
"env_variable": "PUBLIC_IP",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "RCON Port",
|
||||
"description": "Does not need to be allocated!",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "25575",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable RCON",
|
||||
"description": "Must Be ON",
|
||||
"env_variable": "RCON_ENABLE",
|
||||
"default_value": "True",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:True",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "bEnableInvaderEnemy",
|
||||
"description": "Turns off or on bEnableInvaderEnemy,\r\nCan be used to slow download memory leaks.\r\nOff should slow down the memory leaks.",
|
||||
"env_variable": "ENABLE_ENEMY",
|
||||
"default_value": "True",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:True,False",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Description",
|
||||
"description": "The description of the server.",
|
||||
"env_variable": "SERVER_DESCRIPTION",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:128",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,31 +1,27 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2024-01-12T15:34:50+01:00",
|
||||
"exported_at": "2020-11-20T13:09:52+01:00",
|
||||
"name": "Quake Live",
|
||||
"author": "patz.michael@gmail.com",
|
||||
"description": "Quake Live is a first-person shooter video game by id Software. It is an updated version of Quake III Arena that was originally designed as a free-to-play game launched via a web browser plug-in. On September 17, 2014, the game was re-launched as a standalone title on Steam.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/qzeroded.x64 +set net_port {{SERVER_PORT}} +set sv_hostname \"{{SERVER_NAME}}\" +set sv_serverType \"{{SERVER_TYPE}}\" +set g_password \"{{PASSWORD}}\" +sv_fps \"{{FPS}}\"",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
|
||||
"startup": ".\/qzeroded.x64 +set net_port \"{{SERVER_PORT}}\" +set sv_hostname \"{{SERVER_NAME}}\" +set sv_serverType \"{{SERVER_TYPE}}\" +set g_password \"{{PASSWORD}}\" +sv_fps \"{{FPS}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"zmq stats and rcon passwords updated\"\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \"zmq stats and rcon passwords updated\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"script": "#!\/bin\/bash\r\n# Quake Live Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates libstdc++6 libz1\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 349090 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -37,8 +33,7 @@
|
||||
"default_value": ".\/linux64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
@@ -47,8 +42,7 @@
|
||||
"default_value": "A Quake Live Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:70",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:70"
|
||||
},
|
||||
{
|
||||
"name": "Server Type",
|
||||
@@ -57,8 +51,7 @@
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|max:2",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric|max:2"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
@@ -67,8 +60,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "FPS",
|
||||
@@ -77,28 +69,7 @@
|
||||
"default_value": "40",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "349090",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:349090",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Auto update the server on startup",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-02T22:25:49-05:00",
|
||||
"exported_at": "2023-06-17T16:29:22+03:00",
|
||||
"name": "Rust Autowipe",
|
||||
"author": "support@pterodactyl.io",
|
||||
"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.",
|
||||
@@ -60,6 +60,16 @@
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "OxideMod",
|
||||
"description": "Set whether you want the server to use and auto update OxideMod or not. Valid options are \"1\" for true and \"0\" for false.",
|
||||
"env_variable": "OXIDE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Level",
|
||||
"description": "The world file for Rust to use.",
|
||||
@@ -209,16 +219,6 @@
|
||||
"user_editable": true,
|
||||
"rules": "nullable|url",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Modding Framework",
|
||||
"description": "The modding framework to be used: carbon, oxide, vanilla.\r\nDefaults to \"vanilla\" for a non-modded server installation.",
|
||||
"env_variable": "FRAMEWORK",
|
||||
"default_value": "vanilla",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:vanilla,carbon,oxide",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
# SCP: Escape Together
|
||||
|
||||
In the midst of a site-wide containment breach, you must team up with other Class-D personnel to escape the underground, isolated facility while evading the dangerous anomalies that have breached containment.
|
||||
|
||||
## [Documentation](https://hosting.scpetgame.com/GettingStarted)
|
||||
|
||||
## Install notes
|
||||
|
||||
<!--Make a note if the user needs to get any keys or other items to run/use the server-->
|
||||
The Configuration parser sometimes randomly fails, so then you will manually have to set the port, IP and all other variables in the serverconfig.json file.
|
||||
|
||||
## Installation/System Requirements
|
||||
<!--Make changes to reflect the server minimum/recommended hardware specs-->
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | *Any recent processor will work* | */* |
|
||||
| RAM | *4 GiB* | *6 GiB* |
|
||||
| Storage | *2 GiB* | *4 GiB* |
|
||||
| Network | *Any reasonable speed* | */* |
|
||||
| Game Ownership | *Not required* | */* |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27015 |
|
||||
|
||||
### Notes
|
||||
|
||||
<!--Notes about the server ports.-->
|
||||
27015 is the default port, but any port can be used.
|
||||
|
||||
## Console wrapper
|
||||
This server use a C# console wrapper. Their official build uses dotnet 5 what is EOL, so I rebuild it with dotnet 7 (literally ran the workflow with dotnet 7 instead of 5).
|
||||
The build is external so that is wy I have put it here as it now is "Unchangeable without a PR".
|
||||
Without this, the console and config do not properly work.
|
||||
Binary file not shown.
@@ -1,122 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-06T10:20:22+01:00",
|
||||
"name": "SCP: Escape Together",
|
||||
"author": "ced777ric@scpetgame.com",
|
||||
"description": "SCP: Escape Together Steam Server",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Steam_Dotnet": "ghcr.io\/parkervcp\/steamcmd:dotnet"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/SCPET-Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"settings\/serverconfig.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"serverName\": \"{{env.SERVER_NAME}}\",\r\n \"mapPath\": \"{{env.MAP_PATH}}\",\r\n \"randomMap\": \"{{env.RNG_MAP}}\",\r\n \"publicServer\": \"{{env.PUBLIC_SERVER}}\",\r\n \"ServerInfoPastebinId\": \"{{env.SRVLIST_INFO}}\",\r\n \"ServerListAuthenticationKey\": \"{{env.SRVLIST_KEY}}\",\r\n \"maxPlayers\": \"{{env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server is ready and waiting for players!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"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 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) 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\r\n## Download and unpack the console\r\ncd \/mnt\/server\r\ncurl -sSL -o console.zip \"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/scp_escape_together\/SCP-ET-Server-linux-x64-7.0.zip\"\r\nunzip console.zip\r\nrm console.zip\r\nchmod +x SCPET-Server\r\n\r\n## Generate config ele the file parsel will fail\r\nmkdir -p \/mnt\/server\/settings\r\ncurl -sSL -o \/mnt\/server\/settings\/serverconfig.json \"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/scp_escape_together\/serverconfig.json\"\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Unknown Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Path",
|
||||
"description": "",
|
||||
"env_variable": "MAP_PATH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Random Map",
|
||||
"description": "",
|
||||
"env_variable": "RNG_MAP",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Public Server",
|
||||
"description": "",
|
||||
"env_variable": "PUBLIC_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Pastebin Info",
|
||||
"description": "Server List Pastebin info code",
|
||||
"env_variable": "SRVLIST_INFO",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|int",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto update",
|
||||
"description": "Auto update the server on startup",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1433270",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1433270",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server List Key",
|
||||
"description": "Key from https:\/\/hosting.scpetgame.com\/Dashboard\/View",
|
||||
"env_variable": "SRVLIST_KEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:256",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
{
|
||||
"ConfigVersion": 28,
|
||||
"ServerName": "Unknown server",
|
||||
"ServerIp": "auto",
|
||||
"Port": 27015,
|
||||
"ServerInfoPastebinId": "",
|
||||
"MaxPlayers": 16,
|
||||
"RandomMap": true,
|
||||
"MapPath": "",
|
||||
"RespectGameBans": true,
|
||||
"PublicServer": false,
|
||||
"LobbyStartType": 0,
|
||||
"MinPlayers": 2,
|
||||
"RoundStartTimerTime": 60,
|
||||
"RoundEndTime": 10,
|
||||
"StartVotingPercentage": 75,
|
||||
"DoorsOpenChance": 10,
|
||||
"DeathChatMessage": true,
|
||||
"DeathSoundEffect": true,
|
||||
"OfflineMode": false,
|
||||
"RespawnItems": false,
|
||||
"Scp008Settings": {
|
||||
"MinDamage": 7,
|
||||
"MaxDamage": 20
|
||||
},
|
||||
"Scp106Settings": {
|
||||
"MinSpawnTimer": 240,
|
||||
"MaxSpawnTimer": 480,
|
||||
"FollowTimer": 60,
|
||||
"PocketDimension": {
|
||||
"DamageInterval": 1.0,
|
||||
"DamagePerInterval": 0.1
|
||||
}
|
||||
},
|
||||
"Scp294Settings": {
|
||||
"DisabledDrinkFlags": [],
|
||||
"DisabledDrinks": []
|
||||
},
|
||||
"Scp939Settings": {
|
||||
"BaseDamagePerBite": 20.0,
|
||||
"RandomDamage": 20.0
|
||||
},
|
||||
"BodyInfoSettings": {
|
||||
"Enabled": true,
|
||||
"DisplayName": true,
|
||||
"DisplayCauseOfDeath": true
|
||||
},
|
||||
"AutoRestartSettings": {
|
||||
"Enabled": false,
|
||||
"RestartTime": 1800,
|
||||
"RestartAnnounceInterval": 200,
|
||||
"RestartAnnounceFormat": "The round will restart in %SECONDS% seconds."
|
||||
},
|
||||
"NoHolidays": false,
|
||||
"ReportingEnabled": false,
|
||||
"ReportWebhookUrl": "",
|
||||
"ReportWebhookAvatarUrl": "https://scpetgame.com/files/scpetlogo.jpg",
|
||||
"ReportWebhookNickname": "Server report",
|
||||
"ReportWebhookMessageContent": "",
|
||||
"ReportWebhookEmbedDescription": "Player has been reported",
|
||||
"EnableIdleMode": false,
|
||||
"IdleTickrate": 1,
|
||||
"Tickrate": 60,
|
||||
"ServerTags": [],
|
||||
"EnableDebugLogs": false
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
### Smalland: Survive the Wilds
|
||||
|
||||
Experience a big adventure on a tiny scale! Enjoy multiplayer survival in a vast, hazardous world. Preparation is key when you're this small & at the bottom of the food chain. Craft weapons & armour, tame & ride creatures, build encampments & explore a strange new land.
|
||||
|
||||
Steam page: [link](https://store.steampowered.com/app/768200/Smalland_Survive_the_Wilds/)
|
||||
|
||||
### Server Ports
|
||||
|
||||
| Port | default |
|
||||
|-------|---------|
|
||||
| Game | 7777 |
|
||||
-184
@@ -1,184 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-29T20:58:28-08:00",
|
||||
"name": "Smalland: Survive the Wilds",
|
||||
"author": "git@robsti.dev",
|
||||
"description": "Experience a big adventure on a tiny scale! Enjoy multiplayer survival in a vast, hazardous world. Preparation is key when you're this small & at the bottom of the food chain. Craft weapons & armour, tame & ride creatures, build encampments & explore a strange new land.\r\n\r\nSteam: https:\/\/store.steampowered.com\/app\/768200\/Smalland_Survive_the_Wilds\/",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/SMALLAND\/Binaries\/Linux\/SMALLANDServer-Linux-Shipping SMALLAND \/Game\/Maps\/WorldGame\/WorldGame_Smalland?SERVERNAME=\\\"$SERVERNAME\\\"?WORLDNAME=\\\"$WORLDNAME\\\"$( [ -z \"${PASSWORD}\" ] || echo \"?PASSWORD=\\\"$PASSWORD\\\"\" )$( [ \"$FRIENDLYFIRE\" == \"0\" ] || echo \"?FRIENDLYFIRE\" )$( [ \"$PEACEFULMODE\" == \"0\" ] || echo \"?PEACEFULMODE\" )$( [ \"$KEEPINVENTORY\" == \"0\" ] || echo \"?KEEPINVENTORY\" )$( [ \"$DETERIORATION\" == \"1\" ] || echo \"?NODETERIORATION\" )$( [ \"$PRIVATE\" == \"0\" ] || echo \"?PRIVATE\" )?lengthofdayseconds=$LENGTHOFDAYSECONDS?lengthofseasonseconds=$LENGTHOFSEASONSECONDS?creaturehealthmodifier=$CREATUREHEALTHMODIFIER?creaturedamagemodifier=$CREATUREDAMAGEMODIFIER?nourishmentlossmodifier=$NOURISHMENTLOSSMODIFIER?falldamagemodifier=$FALLDAMAGEMODIFIER -ini:Engine:[EpicOnlineServices]:DeploymentId=50f2b148496e4cbbbdeefbecc2ccd6a3 -ini:Engine:[EpicOnlineServices]:DedicatedServerClientId=xyza78918KT08TkA6emolUay8yhvAAy2 -ini:Engine:[EpicOnlineServices]:DedicatedServerClientSecret=aN2GtVw7aHb6hx66HwohNM+qktFaO3vtrLSbGdTzZWk -ini:Engine:[EpicOnlineServices]:DedicatedServerPrivateKey= -port=$SERVER_PORT -NOSTEAM -log",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Session 'GameSession' is being set as 'listening'\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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 found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; 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\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_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## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name displayed in the server browser.",
|
||||
"env_variable": "SERVERNAME",
|
||||
"default_value": "My Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Check for updates on server boot",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Name",
|
||||
"description": "Name of the save game file.",
|
||||
"env_variable": "WORLDNAME",
|
||||
"default_value": "World",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Server password required to access the server.",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|min:3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Is Private Game",
|
||||
"description": "Flag indicating if this game is private.",
|
||||
"env_variable": "PRIVATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Friendly Fire Enabled",
|
||||
"description": "Enable\/disable friendly fire.",
|
||||
"env_variable": "FRIENDLYFIRE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Peaceful Mode Enabled",
|
||||
"description": "Enable\/disable peaceful mode.",
|
||||
"env_variable": "PEACEFULMODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Keep Inventory Enabled",
|
||||
"description": "Enable\/disable keep inventory.",
|
||||
"env_variable": "KEEPINVENTORY",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Deterioration Enabled",
|
||||
"description": "Enable\/disable deterioration.",
|
||||
"env_variable": "DETERIORATION",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Length Of Day",
|
||||
"description": "Length of day in seconds. (ie. 1800 = 30 min.)",
|
||||
"env_variable": "LENGTHOFDAYSECONDS",
|
||||
"default_value": "1800",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Length of Seasons",
|
||||
"description": "Length of seasons in seconds. (ie. 1800 = 30 min.)",
|
||||
"env_variable": "LENGTHOFSEASONSECONDS",
|
||||
"default_value": "10800",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Creature Health Modifier",
|
||||
"description": "Creature health percentage modifier.",
|
||||
"env_variable": "CREATUREHEALTHMODIFIER",
|
||||
"default_value": "100",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|min:20|max:300",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Creature Damage Modifier",
|
||||
"description": "Creature damage percentage modifier.",
|
||||
"env_variable": "CREATUREDAMAGEMODIFIER",
|
||||
"default_value": "100",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|min:20|max:300",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Nourishment Loss Modifier",
|
||||
"description": "Nourishment loss percentage modifier.",
|
||||
"env_variable": "NOURISHMENTLOSSMODIFIER",
|
||||
"default_value": "100",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|min:0|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "DO NOT EDIT",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "808040",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:808040",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@ Squad is an online multiplayer first-person shooter that aims to capture combat
|
||||
|
||||
## Server Ports
|
||||
|
||||
Squad requires 5 ports
|
||||
Squad requires 4 ports
|
||||
|
||||
| Port | default |
|
||||
|----------|---------|
|
||||
@@ -12,4 +12,3 @@ Squad requires 5 ports
|
||||
| game +1 | 7788 |
|
||||
| Query | 27165 |
|
||||
| Query +1 | 27166 |
|
||||
| Beacon | 15000 |
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-24T17:14:26+01:00",
|
||||
"exported_at": "2023-04-11T11:41:50-06:00",
|
||||
"name": "Squad",
|
||||
"author": "brycea@terrahost.cloud",
|
||||
"description": "Squad is a 50 vs 50 multiplayer first-person shooter that aims to capture combat realism through communication and teamplay. Major features include vehicle-based combined arms gameplay, large scale environments, base building, and integrated positional VoIP for proximity talking & radio.",
|
||||
@@ -15,7 +15,7 @@
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "\/home\/container\/SquadGame\/Binaries\/Linux\/SquadGameServer SquadGame Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -beaconport={{BEACON_PORT}}",
|
||||
"startup": "\/home\/container\/SquadGame\/Binaries\/Linux\/SquadGameServer SquadGame Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"SquadGame\/ServerConfig\/Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName\": \"ServerName=\\\"{{server.build.env.servername}}\\\"\",\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.ptciu}}\",\r\n \"EnforceTeamBalance\": \"EnforceTeamBalance={{server.build.env.teambal}}\",\r\n \"RecordDemos\": \"RecordDemos={{server.build.env.recorddemos}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Engine Initialization\"\r\n}",
|
||||
@@ -36,7 +36,7 @@
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27165",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
@@ -139,16 +139,6 @@
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beacon Port",
|
||||
"description": "Beacon port for your Squad server.",
|
||||
"env_variable": "BEACON_PORT",
|
||||
"default_value": "15000",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-19T10:09:42-05:00",
|
||||
"exported_at": "2023-08-10T18:09:03+02:00",
|
||||
"name": "Vintage Story",
|
||||
"author": "mail@wuffy.eu",
|
||||
"description": "Vintage Story is an uncompromising wilderness survival sandbox game inspired by lovecraftian horror themes. Find yourself in a ruined world reclaimed by nature and permeated by unnerving temporal disturbances. Relive the advent of human civilization, or take your own path.",
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y install curl jq\r\n\r\ndeclare -A API_URLS=(\r\n [\"stable\"]=\"http:\/\/api.vintagestory.at\/stable.json\"\r\n [\"unstable\"]=\"http:\/\/api.vintagestory.at\/unstable.json\"\r\n)\r\n\r\ndeclare -A DOWNLOAD_URLS=(\r\n [\"stable\"]=\"https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_linux-x64_${RELEASE_VERSION}.tar.gz\"\r\n [\"unstable\"]=\"https:\/\/cdn.vintagestory.at\/gamefiles\/unstable\/vs_server_linux-x64_${RELEASE_VERSION}.tar.gz\"\r\n [\"pre\"]=\"https:\/\/cdn.vintagestory.at\/gamefiles\/pre\/vs_server_linux-x64_${RELEASE_VERSION}.tar.gz\"\r\n)\r\n\r\nBRANCH=\"${FILES_BRANCH}\"\r\n\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ] && [ \"${BRANCH}\" == \"pre\" ]; then\r\n echo \"-----------------------------------------\"\r\n echo \"Installation failed...\"\r\n echo \"Please specify the version when using RELEASE BRANCH: pre\"\r\n echo \"-----------------------------------------\" \r\n exit\r\nfi\r\n\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n API_URL=\"${API_URLS[$BRANCH]}\"\r\n echo \"API URL: $API_URL\"\r\n DOWNLOAD_URL=$(curl -SsL \"$API_URL\" | jq -r 'if ([.[]] | .[0].linuxserver.urls.cdn) != null then [.[]] | .[0].linuxserver.urls.cdn else [.[]] | .[0].linuxserver.urls.local end')\r\nelse\r\n DOWNLOAD_URL=\"${DOWNLOAD_URLS[$BRANCH]}\"\r\nfi\r\n\r\necho \"Download URL: $DOWNLOAD_URL\"\r\n\r\ncd \/mnt\/server\/ || exit\r\n\r\n# make sure to cleanup the prior installation else this might cause issue with old asset files that do not exist in the new version\r\nif [ -d \"assets\" ]; then\r\n echo \"Removing old installation files\"\r\n rm -rf assets\/\r\n rm -rf Lib\/\r\nfi\r\ncurl -o vs_server.tar.gz \"${DOWNLOAD_URL}\"\r\ntar -xzf vs_server.tar.gz\r\n\r\nif [ $? -ne 0 ]; then\r\n echo \"-----------------------------------------\"\r\n echo \"Installation failed...\"\r\n echo \"Please make sure the specified version exists: $RELEASE_VERSION\"\r\n echo \"-----------------------------------------\"\r\n rm vs_server.tar.gz\r\n exit\r\nfi\r\n\r\nrm vs_server.tar.gz\r\nrm server.sh\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n# Vintage Story Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y install curl jq\r\n\r\n#!\/bin\/bash\r\n\r\ndeclare -A API_URLS=(\r\n [\"stable\"]=\"http:\/\/api.vintagestory.at\/stable.json\"\r\n [\"unstable\"]=\"http:\/\/api.vintagestory.at\/unstable.json\"\r\n [\"pre\"]=\"http:\/\/api.vintagestory.at\/pre.json\"\r\n)\r\n\r\ndeclare -A DOWNLOAD_URLS=(\r\n [\"stable\"]=\"https:\/\/cdn.vintagestory.at\/gamefiles\/stable\/vs_server_${RELEASE_VERSION}.tar.gz\"\r\n [\"unstable\"]=\"https:\/\/account.vintagestory.at\/files\/unstable\/vs_server_${RELEASE_VERSION}.tar.gz\"\r\n [\"pre\"]=\"https:\/\/cdn.vintagestory.at\/gamefiles\/pre\/vs_server_${RELEASE_VERSION}.tar.gz\"\r\n)\r\n\r\nBRANCH=\"${FILES_BRANCH}\"\r\n\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n API_URL=\"${API_URLS[$BRANCH]}\"\r\n DOWNLOAD_URL=$(curl -SsL \"$API_URL\" | jq -r 'if ([.[]] | .[0].linuxserver.urls.cdn) != null then [.[]] | .[0].linuxserver.urls.cdn else [.[]] | .[0].linuxserver.urls.local end')\r\nelse\r\n API_URL=\"${API_URLS[$BRANCH]}\"\r\n DOWNLOAD_URL=\"${DOWNLOAD_URLS[$BRANCH]}\"\r\nfi\r\n\r\n# Fallback to stable API URL if the branch is not recognized\r\nif [ -z \"$API_URL\" ]; then\r\n echo \"Invalid stage; fallback to stable\"\r\n API_URL=\"${API_URLS[\"stable\"]}\"\r\nfi\r\n\r\necho \"API URL: $API_URL\"\r\necho \"Download URL: $DOWNLOAD_URL\"\r\n\r\n\r\ncd \/mnt\/server\/ || exit\r\n\r\ncurl -o vs_server.tar.gz \"${DOWNLOAD_URL}\"\r\ntar -xzf vs_server.tar.gz\r\n\r\nrm vs_server.tar.gz\r\nrm server.sh\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "debian:bullseye-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -67,16 +67,6 @@
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:256",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Sqlite temporary files directory",
|
||||
"description": "Defines the location for the temporary files in sqlite. This is needed for the \"\/db vacuum\" command (added in 1.19) since else it will use the \/tmp folder which by default only has 100MB and is in memory.",
|
||||
"env_variable": "SQLITE_TMPDIR",
|
||||
"default_value": "\/home\/container\/data\/Backups",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:03:27+01:00",
|
||||
"exported_at": "2021-11-24T07:45:11+00:00",
|
||||
"name": "Xonotic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "This is for the default xonotic setup.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/pterodactyl\/steamcmd:debian": "ghcr.io\/pterodactyl\/steamcmd:debian"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/pterodactyl\/games:source"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/xonotic-linux64-dedicated +log_file latest.log +net_address 0.0.0.0 +port {{SERVER_PORT}} +maxplayers {{MAX_PLAYERS}}",
|
||||
"config": {
|
||||
@@ -22,8 +22,8 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Vanilla Xonotic Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add rsync --no-cache\r\n\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nwget -O xonotic.zip http:\/\/dl.xonotic.org\/xonotic-${VERSION}.zip\r\n\r\nunzip -o xonotic.zip\r\n\r\nmv Xonotic\/* .\/\r\n\r\n.\/misc\/tools\/rsync-updater\/update-to-autobuild.sh\r\n\r\n# create initial folder structure to copy the default config to, because it only gets created on first startup\r\nmkdir -p .xonotic\/data\r\ncp -n server\/server.cfg .xonotic\/data\/server.cfg || true # do not overwrite existing config file\r\n\r\nrm -rf COPYING Makefile *glx* *glx *sdl* *sdl *linux32* *exe *.app *.sh bin* GPL* Docs\/ gmqcc\/ source\/ misc\/ Xonotic\/ xonotic.zip\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:alpine",
|
||||
"script": "#!\/bin\/ash\r\n# Vanilla Xonotic Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add rsync --no-cache\r\n\r\ncd \/mnt\/server\r\n\r\nwget http:\/\/dl.xonotic.org\/xonotic-0.8.2.zip\r\n\r\nunzip xonotic-0.8.2.zip\r\n\r\nmv Xonotic\/* .\/\r\n\r\n.\/misc\/tools\/rsync-updater\/update-to-autobuild.sh\r\n\r\n# create initial folder structure to copy the default config to, because it only gets created on first startup\r\nmkdir -p .xonotic\/data\r\ncp-n server\/server.cfg .xonotic\/data\/server.cfg || true # do not overwrite existing config file\r\n\r\nrm -rf COPYING Makefile *glx* *glx *sdl* *sdl *linux32* *exe *.app *.sh bin* GPL* Docs\/ gmqcc\/ source\/ misc\/ Xonotic\/ xonotic-0.8.2.zip",
|
||||
"container": "ghcr.io\/pterodactyl\/installers:alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
@@ -35,18 +35,7 @@
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|digits_between:1,2",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "0.8.6",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric|digits_between:1,2"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
"description": "A Generic Python Egg for Pterodactyl\r\n\r\nTested with: https:\/\/github.com\/Ispira\/pixel-bot",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Python 3.12": "ghcr.io\/parkervcp\/yolks:python_3.12",
|
||||
"Python 3.11": "ghcr.io\/parkervcp\/yolks:python_3.11",
|
||||
"Python 3.10": "ghcr.io\/parkervcp\/yolks:python_3.10",
|
||||
"Python 3.9": "ghcr.io\/parkervcp\/yolks:python_3.9",
|
||||
|
||||
Reference in New Issue
Block a user