36 Commits

25 changed files with 997 additions and 354 deletions
+3 -6
View File
@@ -165,12 +165,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Mindustry](game_eggs/mindustry)
* [Mindustry](game_eggs/mindustry/mindustry)
[Minetest](game_eggs/minetest) (including MTG)
* [Minetest](game_eggs/minetest)
[Minecraft](game_eggs/minecraft)
* [Bedrock](game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows, mobile, console)
@@ -271,6 +267,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [HLDS Vanilla](game_eggs/steamcmd_servers/hlds_server/vanilla)
* [ReHLDS](game_eggs/steamcmd_servers/hlds_server/rehlds)
* [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast)
* [HumanitZ](game_eggs/steamcmd_servers/humanitz)
* [Hurtworld](game_eggs/steamcmd_servers/hurtworld)
* [Icarus](game_eggs/steamcmd_servers/icarus)
* [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm)
@@ -278,6 +275,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Killing Floor 2](game_eggs/steamcmd_servers/killing_floor_2)
* [Left 4 Dead](game_eggs/steamcmd_servers/left4dead)
* [Left 4 Dead 2](game_eggs/steamcmd_servers/left4dead_2)
* [Longvinter](game_eggs/steamcmd_servers/longvinter)
* [Modiverse](game_eggs/steamcmd_servers/modiverse)
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](game_eggs/steamcmd_servers/mount_blade_II_bannerlord)
@@ -293,7 +291,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
* [Project Zomboid](game_eggs/steamcmd_servers/project_zomboid)
* [Quake Live](game_eggs/steamcmd_servers/quake_live)
* [Reign Of Dwarf](game_eggs/steamcmd_servers/reign_of_dwarf)
* [Resonite](game_eggs/steamcmd_servers/resonite)
* [Rising World](game_eggs/steamcmd_servers/rising_world)
* [Risk Of Rain 2](game_eggs/steamcmd_servers/risk_of_rain_2)
@@ -336,7 +333,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](game_eggs/steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus)
* [Wurm Unlimited](game_eggs/steamcmd_servers/wurm_unlimited/)
[Teeworlds](game_eggs/teeworlds)
@@ -1,13 +1,18 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2019-11-06T18:52:33-05:00",
"name": "MariaDB",
"exported_at": "2023-12-19T09:54:17+01:00",
"name": "MariaDB 10.3",
"author": "parker@parkervcp.com",
"description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.",
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb",
"features": null,
"docker_images": {
"MariaDB 10.3": "ghcr.io\/parkervcp\/yolks:mariadb_10.3"
},
"file_denylist": [],
"startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root",
"config": {
"files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}",
@@ -23,4 +28,4 @@
}
},
"variables": []
}
}
+3 -1
View File
@@ -163,6 +163,7 @@
* [HLDS Vanilla](steamcmd_servers/hlds_server/vanilla)
* [ReHLDS](steamcmd_servers/hlds_server/rehlds)
* [Holdfast: Nations At War](steamcmd_servers/holdfast)
* [HumanitZ](steamcmd_servers/humanitz)
* [Hurtworld](steamcmd_servers/hurtworld)
* [Icarus](steamcmd_servers/icarus)
* [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm)
@@ -170,6 +171,7 @@
* [Killing Floor 2](steamcmd_servers/killing_floor_2)
* [Left 4 Dead](steamcmd_servers/left4dead)
* [Left 4 Dead 2](steamcmd_servers/left4dead_2)
* [Longvinter](steamcmd_servers/longvinter)
* [Modiverse](steamcmd_servers/modiverse)
* [Mordhau](steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](steamcmd_servers/mount_blade_II_bannerlord)
@@ -185,7 +187,6 @@
* [Post Scriptum](steamcmd_servers/post_scriptum)
* [Project Zomboid](steamcmd_servers/project_zomboid)
* [Quake Live](steamcmd_servers/quake_live)
* [Reign Of Dwarf](steamcmd_servers/reign_of_dwarf)
* [Resonite](steamcmd_servers/resonite)
* [Rising World](steamcmd_servers/rising_world)
* [Legacy Java](steamcmd_servers/rising_world/legacy)
@@ -230,6 +231,7 @@
* [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
* [Wurm Unlimited](steamcmd_servers/wurm_unlimited/)
[Teeworlds](teeworlds)
-2
View File
@@ -5,8 +5,6 @@ HogWarp is a Work In Progress mod that adds Multiplayer functionality to Hogwart
This Mod requires a API key only obtainable through their Discord, see the Startup Variable **API KEY** for more info.
- Some features of the mod (Public servers / higher player counts) require a Patreon level. See their Patreon here: https://www.patreon.com/tiltedphoques
Plugins as of now **do not work** as Wine and Winetricks will break the DLL it runs off of. This will likely stay the case until a full Linux release
## Server Port
| Port | default |
|---------|---------|
+5 -5
View File
@@ -4,19 +4,19 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-11-14T12:12:21-05:00",
"exported_at": "2023-12-30T14:42:14-05:00",
"name": "Hogwarp",
"author": "imkringle@proton.me",
"description": "A Pterodactyl egg for the Hogwarts Legacy mod Hogwarp - For more info see their Nexus: https:\/\/www.nexusmods.com\/hogwartslegacy\/mods\/1378",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
"ghcr.io\/parkervcp\/yolks:wine_staging": "ghcr.io\/parkervcp\/yolks:wine_staging"
},
"file_denylist": [],
"startup": "wine HogWarpServer.exe",
"startup": "export WINEDLLOVERRIDES=\"mscoree=n,b;mshtml=n,b\"; wine HogWarpServer.exe",
"config": {
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"ApiKey\": \"{{env.API_KEY}}\",\r\n \"Name\": \"{{env.SERV_NAME}}\",\r\n \"Port\": \"{{server.build.default.port}}\",\r\n \"Description\": \"{{env.SERV_DESC}}\",\r\n \"MaxPlayer\": \"{{env.MAX_PLAYERS}}\",\r\n \"IconUrl\": \"{{env.SERV_ICON}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \" [HogWarpServer] \"\r\n}",
"startup": "{\r\n \"done\": \"Server started on port \"\r\n}",
"logs": "{}",
"stop": "^^C"
},
@@ -32,7 +32,7 @@
"name": "Wine Tricks",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "",
"default_value": "dotnet7",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
+3
View File
@@ -13,3 +13,6 @@ Mindustry requires a single port
| Port | Default |
|---------|---------|
| Game | 6567 |
## Note
You can't use hostname/alias to connect your mindustry server. IPv4 must be used to connect.
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+3 -3
View File
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-02-26T11:59:47+01:00",
"exported_at": "2023-12-29T18:52:14+01:00",
"name": "Minetest",
"author": "support@pterodactyl.io",
"description": "An open source voxel game engine. Play one of our many games, mod a game to your liking, make your own game, or play on a multiplayer server.",
@@ -13,7 +13,7 @@
"Minetest": "ghcr.io\/parkervcp\/games:minetest"
},
"file_denylist": [],
"startup": "minetest --server --port {{SERVER_PORT}} --world \/home\/container\/.minetest\/worlds\/{{WORLD_NAME}} --terminal --config \/home\/container\/.minetest\/minetest.conf --logfile \/home\/container\/server.log",
"startup": "minetest --server --port {{SERVER_PORT}} --gameid {{DEFAULT_GAME}} --world \/home\/container\/.minetest\/worlds\/{{WORLD_NAME}} --terminal --config \/home\/container\/.minetest\/minetest.conf --logfile \/home\/container\/server.log",
"config": {
"files": "{\r\n \".minetest\/minetest.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"name\": \"name = {{server.build.env.SERVER_ADMIN_NAME}}\",\r\n \"server_name\": \"server_name = {{server.build.env.SERVER_NAME}}\",\r\n \"server_description\": \"server_description = {{server.build.env.SERVER_DESC}}\",\r\n \"server_address\": \"server_address = {{server.build.env.SERVER_DOMAIN}}\",\r\n \"server_url\": \"server_url = {{server.build.env.SERVER_URL}}\",\r\n \"server_announce\": \"server_announce = {{server.build.env.SERVER_ANNOUNCE}}\",\r\n \"serverlist_url\": \"serverlist_url = {{server.build.env.SERVER_LIST_URL}}\",\r\n \"motd\": \"motd = {{server.build.env.SERVER_MOTD}}\",\r\n \"max_users\": \"max_users = {{server.build.env.SERVER_MAX_USERS}}\",\r\n \"bind_address\": \"bind_address = 0.0.0.0\",\r\n \"default_password\": \"default_password = {{server.build.env.SERVER_PASSWORD}}\",\r\n \"default_game\": \"default_game = {{server.build.env.DEFAULT_GAME}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \" Server for gameid\"\r\n}",
@@ -189,4 +189,4 @@
"field_type": "text"
}
]
}
}
@@ -4,13 +4,13 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-07-03T16:22:48+02:00",
"exported_at": "2024-01-03T09:40:56+01:00",
"name": "Spacestation 14",
"author": "josdekurk@gmail.com",
"description": "Space Station 14 tells the story of an ordinary shift on a space station gone wrong. Immerse yourself into your role, tinker with detailed systems, and survive the chaos in this round-based multiplayer role playing game.",
"features": null,
"docker_images": {
"Dotnet 7": "ghcr.io\/parkervcp\/yolks:dotnet_7"
"Dotnet 8": "ghcr.io\/parkervcp\/yolks:dotnet_8"
},
"file_denylist": [],
"startup": ".\/Robust.Server",
@@ -18,12 +18,12 @@
"files": "{\r\n \"server_config.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"hostname\": \"hostname = \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"tickrate\": \"tickrate = {{server.build.env.SERVER_TICK}}\",\r\n \"max_connections\": \"max_connections = {{server.build.env.SERVER_MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server Version\"\r\n}",
"logs": "{}",
"stop": "^SIGKILL"
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl unzip\r\n\r\nV=$(curl -sSL https:\/\/central.spacestation14.io\/builds\/wizards\/builds.html | grep \"The version is\" | sed -n 's\/.*<span class=\"versionNumber\">\\([^<]*\\)<\\\/span>.*\/\\1\/p')\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho \"Running: curl -sSL -o server_linux.zip https:\/\/cdn.centcomm.spacestation14.com\/builds\/wizards\/builds\/${V}\/SS14.Server_${ARCH}.zip\"\r\ncurl -sSL -o server_linux.zip \"https:\/\/cdn.centcomm.spacestation14.com\/builds\/wizards\/builds\/${V}\/SS14.Server_${ARCH}.zip\"\r\nunzip -o server_linux.zip\r\nrm server_linux.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim",
"script": "#!\/bin\/bash\r\n\r\nV=$(curl -sSL https:\/\/central.spacestation14.io\/builds\/wizards\/builds.html | grep \"The version is\" | sed -n 's\/.*<span class=\"versionNumber\">\\([^<]*\\)<\\\/span>.*\/\\1\/p')\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho \"Running: curl -sSL -o server_linux.zip https:\/\/cdn.centcomm.spacestation14.com\/builds\/wizards\/builds\/${V}\/SS14.Server_${ARCH}.zip\"\r\ncurl -sSL -o server_linux.zip \"https:\/\/cdn.centcomm.spacestation14.com\/builds\/wizards\/builds\/${V}\/SS14.Server_${ARCH}.zip\"\r\nunzip -o server_linux.zip\r\nrm server_linux.zip\r\n\r\nchmod +x Robust.Server\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
+10 -4
View File
@@ -106,6 +106,10 @@ This is a collection of servers that use SteamCMD to install.
[Holdfast: Nations At War](holdfast)
## HumanitZ
[HumanitZ](humanitz)
## Hurtworld
[Hurtworld](hurtworld)
@@ -134,6 +138,9 @@ This is a collection of servers that use SteamCMD to install.
[Left 4 Dead](left4dead_2)
## Longvinter
[Longvinter](longvinter)
## Modiverse
[Modiverse](modiverse)
@@ -193,10 +200,6 @@ This is a collection of servers that use SteamCMD to install.
[Quake Live](quake_live)
## Reign Of Dwarf
[Reign Of Dwarf](reign_of_dwarf)
## Resonite
[Resonite](resonite)
@@ -317,3 +320,6 @@ This is a collection of servers that use SteamCMD to install.
* [Valheim Vanilla](valheim/valheim_vanilla)
* [Valheim BepInEx](valheim/valheim_bepinex)
* [Valheim Plus Mod](valheim/valheim_plus)
## Wurm Unlimited
* [Wurm Unlimited](wurm_unlimited/)
@@ -0,0 +1,30 @@
# HumanitZ
## [Documentation](https://store.steampowered.com/app/2728330/HZ_SERVER)
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 “humanly” possible. The past cant be changed, but you can make a difference today for the future of humanity.
## Install notes
The current version of the server software is slightly buggy, and as of this writing has no proper documentation.
They include a `README.txt` file with the server software, that includes a description of most of the variables, but not more than that. This is only obtainable via the SteamCMD tool.
## Installation/System Requirements
Requires a 64-bit processor and operating system
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|--------------|---------|
| Game Port | 7777 |
| Query Port | 27015 |
### Notes
7777 is the default port, but any port can be used.
@@ -0,0 +1,472 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-25T11:27:01+01:00",
"name": "HumanitZ",
"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": {
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
},
"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 }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"LogKaiHelper: Session created!\"\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 \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## making server files executable\r\nchmod +x \/mnt\/server\/TSSGame\/Binaries\/Linux\/TSSGameServer-Linux-Shipping\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Steam App ID",
"description": "Steam App ID of HumanitZ Server",
"env_variable": "SRCDS_APPID",
"default_value": "2728330",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:2728330",
"field_type": "text"
},
{
"name": "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": "[REQUIRED] Steam Beta Branch",
"description": "This ensures the script will grab the Linux version of the server",
"env_variable": "SRCDS_BETAID",
"default_value": "linuxbranch",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:linuxbranch",
"field_type": "text"
},
{
"name": "[REQUIRED] Steam Query Port",
"description": "Steam Query Port",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Server Name",
"description": "Name of the server",
"env_variable": "SERVER_NAME",
"default_value": "My HumanitZ Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Server Password",
"description": "Server password (if any)",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Save Name",
"description": "Name of the save-file for the server",
"env_variable": "SAVE_NAME",
"default_value": "DedicatedSaveMP",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Admin Password",
"description": "Password for the admin",
"env_variable": "ADMIN_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Maximum number of players allowed",
"env_variable": "MAX_PLAYERS",
"default_value": "32",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Only Allowed Players",
"description": "Restrict server to allowed players only",
"env_variable": "ONLY_ALLOWED_PLAYERS",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Saving World Interval",
"description": "Save game every X seconds",
"env_variable": "SAVE_INTERVAL_SEC",
"default_value": "300",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Permanent Death",
"description": "0=Off, 1=Individual, 2=All",
"env_variable": "PERMA_DEATH",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "On Death",
"description": "0=Only lose backpack and weapon in hand, 1=Previous + pockets and backpack, 2=All previous + Equipment",
"env_variable": "ON_DEATH",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "PvP",
"description": "Enable or Disable PvP\r\n0= Off, 1= On",
"env_variable": "PVP",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Clear Infection",
"description": "0=Respawning does not rid you of the infection, 1=You lose it upon respawning",
"env_variable": "CLEAR_INFECTION",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Eagle Eye",
"description": "1=Able to purchase the eagle eye skill, 0=You can't",
"env_variable": "EAGLE_EYE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Air Drop",
"description": "1=Enabled, 0=Disabled",
"env_variable": "AIR_DROP",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Weapon Durability",
"description": "1=Weapons break when reaching 0% durability except crow bar, 0=Only improvised break at 0% durability",
"env_variable": "WEAPON_BREAK",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Multiplayer Sleep",
"description": "1=Time passes if everyone performs the sleep emote at the same time, 0=Passing time is disabled",
"env_variable": "MULTIPLAYER_SLEEP",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Building Health",
"description": "Nothing provided in docs regarding this variable. Default value is \"1\".",
"env_variable": "BUILDING_HEALTH",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Loot Respawn",
"description": "If loot respawns, how long does it take in seconds",
"env_variable": "LOOT_RESPAWN_TIMER",
"default_value": "90",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Loot Rarity",
"description": "0=Scarce, 1=Low, 2=Default, 3=Plentiful, 4=Abundant",
"env_variable": "LOOT_RARITY",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Air Drop Interval",
"description": "Air drop every X day",
"env_variable": "AIR_DROP_INTERVAL",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Zombie Difficulty (Health)",
"description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare",
"env_variable": "ZOMBIE_DIFF_HEALTH",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Zombie Difficulty (Speed)",
"description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare",
"env_variable": "ZOMBIE_DIFF_SPEED",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Zombie Difficulty (Damage)",
"description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare",
"env_variable": "ZOMBIE_DIFF_DAMAGE",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Human Difficulty",
"description": "0=Very Easy, 1=Easy, 2=Default, 3=Hard, 4=Very Hard, 5=Nightmare",
"env_variable": "HUMAN_DIFFICULTY",
"default_value": "3",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Zombie Amount Multiplier",
"description": "Zombie spawn count multiplier",
"env_variable": "ZOMBIE_AMOUNT_MULTI",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Human Amount Multiplier",
"description": "Hostile humans spawn count multiplier",
"env_variable": "HUMAN_AMOUNT_MULTI",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Zombie Dog Multiplier",
"description": "Zombie dog spawn count multiplier",
"env_variable": "ZOMBIE_DOG_MULTI",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Zombie Respawn Timer",
"description": "Time in minutes for zombies to respawn",
"env_variable": "ZOMBIE_RESPAWN_TIMER",
"default_value": "90",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Human Respawn Timer",
"description": "Time in minutes for hostile humans to respawn",
"env_variable": "HUMAN_RESPAWN_TIMER",
"default_value": "90",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Animal Respawn Timer",
"description": "Time in minutes for animals to respawn",
"env_variable": "ANIMAL_RESPAWN_TIMER",
"default_value": "90",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Starting Season",
"description": "0=Summer, 1=Autum, 2=Winter, 3=Spring",
"env_variable": "STARTING_SEASON",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Days Per Season",
"description": "How many days each season lasts",
"env_variable": "DAYS_PER_SEASON",
"default_value": "5",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Day Duration",
"description": "Day duration in minutes",
"env_variable": "DAY_DUR",
"default_value": "40",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Night Duration",
"description": "Night duration in minutes",
"env_variable": "NIGHT_DUR",
"default_value": "20",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Vital Drain",
"description": "How fast your vitals drain 0=Slow, 1=Normal, 2=Fast",
"env_variable": "VITAL_DRAIN",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Dog Companions Enabled",
"description": "Enable finding dog companions you can recruit",
"env_variable": "DOG_ENABLED",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Dog Companion Amount",
"description": "Number of companion dogs that could spawn randomly",
"env_variable": "DOG_NUM",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Recruit Companion Dogs",
"description": "Allow players to recruit companion dog",
"env_variable": "RECRUIT_DOG",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Companion Health",
"description": "Dog companion health - 0=Low 1=Default 2=High",
"env_variable": "COMPANION_HEALTH",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "Companion Damage",
"description": "Dog companion damage - 0=Low 1=Default 2=High",
"env_variable": "COMPANION_DMG",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric",
"field_type": "text"
},
{
"name": "No Death Feedback",
"description": "0 to enable player died notification in chat - 1 to disable player died notification in chat.",
"env_variable": "NO_DEATH_FEEDBACK",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
}
]
}
@@ -0,0 +1,36 @@
# Longvinter
Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.
___
### Server Ports
- Default server ports are listed below, but all three ports can be changed freely.
- **Note:** The query ports does not seem to be used at all at the moment (at least on the linux server).
| Port | Default |
|---------|---------|
| **Game (Primary Port in Pterodactyl)** | 7777 (UDP) |
| Query | 27015 (UDP/TCP) |
| Query +1 | 27016 (UDP/TCP) |
___
### Installation/System Requirements
| | Minimum |
|---------|---------|
| RAM | 2048 MiB |
| Storage | 2 GB |
___
### Known Errors/Warnings
The following errors or warnings you see in the console can safely be ignored:
```log
[2022.05.15-00.07.35:353][508]LogEOS: Error: UpdateSession:
Successfully updated session 'Test' with ID '18exxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
```
↑ This error is displayed regularly, but does not affect the server functions. An [open issue](https://github.com/Uuvana-Studios/longvinter-linux-server/issues/40) already exists in the developers repository.
@@ -0,0 +1,164 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-11-13T18:49:35+01:00",
"name": "Longvinter",
"author": "tueye@tuworld.de",
"description": "Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.",
"features": [
"steam_disk_space"
],
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": "\/home\/container\/longvinter-linux-server\/Longvinter\/Binaries\/Linux\/LongvinterServer-Linux-Shipping Longvinter -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}}",
"config": {
"files": "{\r\n \"longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerTag\": \"ServerTag={{server.build.env.SERVER_TAG}}\",\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"ServerMOTD\": \"ServerMOTD={{server.build.env.SERVER_MOTD}}\",\r\n \"Password\": \"Password={{server.build.env.SERVER_PASSWORD}}\",\r\n \"CommunityWebsite\": \"CommunityWebsite={{server.build.env.COMMUNITY_WEBSITE}}\",\r\n \"AdminSteamID\": \"AdminSteamID={{server.build.env.ADMIN_ID}}\",\r\n \"PVP\": \"PVP={{server.build.env.ENABLE_PVP}}\",\r\n \"TentDecay\": \"TentDecay={{server.build.env.ENABLE_TENTDECAY}}\",\r\n \"MaxTents\": \"MaxTents={{server.build.env.MAX_TENTS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"CreateSession: Successfully created session\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Longvinter Egg - egg-longvinter.json\r\n# Authors: TuEye\r\n# Date: 2022\/05\/15\r\n# License: MIT License\r\n\r\n\r\n## Install Git LFS\r\ncurl -s https:\/\/packagecloud.io\/install\/repositories\/github\/git-lfs\/script.deb.sh | bash\r\napt -y install git-lfs\r\n\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\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## Longvinter setup\r\n# If not using auto update and gamedir exist, remove it\r\nif [ ! \"${AUTO_UPDATE}\" ] && [ -d \"$HOME\/longvinter-linux-server\" ]; then\r\n echo -e \"\\nDelete game dir\\n\"\r\n rm -r $HOME\/longvinter-linux-server\r\nfi\r\n\r\n# Clone Longvinter Dedicated Server repo or do auto update if activated\r\ncd $HOME\r\nif [ ! -d \"$HOME\/longvinter-linux-server\" ]; then\r\n git clone \"https:\/\/github.com\/Uuvana-Studios\/longvinter-linux-server.git\"\r\nelif [ \"${AUTO_UPDATE}\" ]; then\r\n echo -e \"\\nUpdating gamefiles\\n\"\r\n cd $HOME\/longvinter-linux-server\r\n git config pull.rebase false\r\n git restore .\r\n git stash\r\n git pull \"https:\/\/github.com\/Uuvana-Studios\/longvinter-linux-server.git\" main\r\nfi\r\nchmod -R ugo+rwx $HOME\/longvinter-linux-server\/\r\n\r\n\r\n# Create base config if not exist\r\nif [ ! -f $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini ]; then\r\n echo -e \"\\nCreating game config\\n\"\r\n cp $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini.default $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\r\n if ! grep -q \"ServerTag=\" \"$HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\"; then\r\n sed -i '\/^ServerName=.*\/a ServerTag=Default' $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\r\n fi\r\nfi\r\n\r\necho -e \"\\nLongvinter Dedicated Server successfully installed!\\n\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "Name of the server, appears in Game browser.",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl Longvinter Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server Tag",
"description": "It's the tag that allows for easier search of the server. Please don't use the word OFFICIAL on it. \r\nAnd only place one tag.",
"env_variable": "SERVER_TAG",
"default_value": "Pterodactyl",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Maximum allowed players that can connect at any given time.",
"env_variable": "MAX_PLAYERS",
"default_value": "32",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:1",
"field_type": "text"
},
{
"name": "Server MOTD",
"description": "Server message that is on a signs around the island.",
"env_variable": "SERVER_MOTD",
"default_value": "Welcome to Pterodactyl Island!",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server Password",
"description": "Add you password here. Use only number and letters. If left empty there is no password on the server.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|alpha_num|max:20",
"field_type": "text"
},
{
"name": "Community Website",
"description": "Allows you to promote a website on a same place where the server message is shown. This link can be opened in-game.",
"env_variable": "COMMUNITY_WEBSITE",
"default_value": "pterodactyl.io",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:64",
"field_type": "text"
},
{
"name": "Admin EOS Account ID",
"description": "Here you can add all the admins that you want to have in the server. If you want to add multiple separate the ID's with single space.\r\nThe ID is found in-game under Options > General.",
"env_variable": "ADMIN_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|regex:\/^([a-z0-9]{32} ?)*$\/",
"field_type": "text"
},
{
"name": "Enable PVP",
"description": "Here you write true or false if you want to enable\/disable Player versus Player fights.",
"env_variable": "ENABLE_PVP",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Tent Decay",
"description": "Here you write true or false if you want to enable\/disable tent decay to make sure there isn't an abundant number of abandoned tents in the server.",
"env_variable": "ENABLE_TENTDECAY",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Max Tents",
"description": "Maximum allowed of tents that players that can place in the server",
"env_variable": "MAX_TENTS",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:1",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Updates gamefiles when reinstalling. Otherwise the server is freshly installed and you will loose your savegames.",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Query Port",
"description": "Query port used by steam",
"env_variable": "QUERY_PORT",
"default_value": "27015",
"user_viewable": true,
"user_editable": false,
"rules": "required|integer|between:1024,65536",
"field_type": "text"
},
{
"name": "App ID",
"description": "",
"env_variable": "SRCDS_APPID",
"default_value": "1007",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1007",
"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
}
}
}
```
@@ -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"
}
]
}
@@ -2,6 +2,12 @@
Project Zomboid is the ultimate in zombie survival. Alone or in MP: you loot, build, craft, fight, farm and fish in a struggle to survive. A hardcore RPG skillset, a vast map, a massively customisable sandbox and a cute tutorial raccoon await the unwary. So how will you die?
## Configuration
Project Zomboid creates Backup on Server Start by copying its SaveData into Temp and then zipping it up, after a few days these files are so large that your Server will fail on Startup with Error: `java.util.concurrent.ExecutionException: java.io.IOException: No space left on device`.
Either disable Backups in the Project Zomboid Server Settings via `BackupsOnStart=false` or increase the `tmpfs_size` in your wings config.yml configuration file.
## Server Ports
Project Zomboid requires one port for game data and one port for Steam.
@@ -1,13 +0,0 @@
# Reign Of Dwarf
Survive, farm, and conquer, that's the philosophy of Reign of Dwarf. We provide you the tools, you choose how to use them. Go to war, make alliances, or hide away from the world, the only morals will be the ones you choose.
## Server Ports
Ports required to run the server
| Port | default |
|---------|---------|
| Game | 27015 |
| Query | 27016 |
| Rcon | 27014 |
@@ -1,71 +0,0 @@
[BaseData]
ServerName=Default Server Name
UsePassword=0
Password=
MaxPlayers=60
NormalQueueSize=100
VIPBuffer=10
RconPort=27014
RconPassword=password
MapSeed=984759074
MapSize=1000
StoreTransactionReports=Inactive
EACLogLevel=Off
[MetaData]
ServerDescription=Default server description.
EnableDiscordButton=1
DiscordUrl=https://discord.gg/reignofdwarf
[NetworkData]
ServerIp=0
GamePort=27015
QueryPort=27016
[GameData]
IsModded=0
FallDamageModifier=1
EnableDecay=1
DecayModifier=1
LootBagDespawnTime=1800
PickupBagDespawnTime=300
DurabilityModifier=1
DurabilityLossModifier=1
[PlayerData]
PlayerDamageModifier=1
PlayerMaxHealth=100
PlayerMaxStamina=100
PlayerStaminaRegenModifier=1
HungerLossModifier=1
ThirstLossModifier=1
CraftingTimeModifier=1
PlayerBodyDespawnTime=300
[ResourceData]
HarvestModifier=1
EnableGlobalRespawnRate=0
GlobalRespawnModifier=1
TreeRespawnTimeModifier=1
StoneNodeRespawnTimeModifier=1
MetalNodeRespawnTimeModifier=1
SulfurNodeRespawnTimeModifier=1
MithrilNodeRespawnTimeModifier=1
PlantRespawnTimeModifier=1
[AIEntityData]
AIEntityDamageModifier=1
AIEntityHealthModifier=1
AIEntityBodyDespawnTime=300
AIEntityRespawnTimeModifier=1
[TimedPvPRaidData]
EnableTimedPvPRaid=1
EnablePvP=1
PvPStartEnd=00:00:00-23:59:59
EnableRaid=1
ServerTimeOffset=1
RaidProtectionLengthModifier=6
RaidTributePriceModifier=100
RaidStartEnd=00:00:00-23:59:59
@@ -1,162 +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-19T16:02:15+01:00",
"name": "Reign Of Dwarf",
"author": "josdekurk@gmail.com",
"description": "Survive, farm, and conquer, that's the philosophy of Reign of Dwarf. We provide you the tools, you choose how to use them. Go to war, make alliances, or hide away from the world, the only morals will be the ones you choose.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "wine Server.exe",
"config": {
"files": "{\r\n \"ServerConfig\/ServerConfig.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"BaseData.ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"BaseData.UsePassword\": \"{{server.build.env.PASSWORD_ENABLE}}\",\r\n \"BaseData.Password\": \"{{server.build.env.PASSWORD}}\",\r\n \"BaseData.MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"BaseData.RconPort\": \"{{server.build.env.RCON_PORT}}\",\r\n \"BaseData.RconPassword\": \"{{server.build.env.RCON_PASSWORD}}\",\r\n \"MetaData.ServerDescription\": \"{{server.build.env.SERVER_DECS}}\",\r\n \"NetworkData.ServerIp\": \"0.0.0.0\",\r\n \"NetworkData.GamePort\": \"{{server.build.default.port}}\",\r\n \"NetworkData.QueryPort\": \"{{server.build.env.QUERY_PORT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server starting at\"\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# 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\/ServerConfig\r\ncd \/mnt\/server\/ServerConfig\r\ncurl -sSL -o ServerConfig.ini https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/reign_of_dwarf\/ServerConfig.ini\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": "",
"env_variable": "SRCDS_APPID",
"default_value": "1999160",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1999160",
"field_type": "text"
},
{
"name": "Auto Update",
"description": "Auto Update on restart",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "WINDOWS_INSTALL",
"description": "",
"env_variable": "WINDOWS_INSTALL",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:1",
"field_type": "text"
},
{
"name": "[SYSTEM] WINEDEBUG",
"description": "",
"env_variable": "WINEDEBUG",
"default_value": "-all",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "WINETRICKS_RUN",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "mono",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|",
"field_type": "text"
},
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "Default Server Name",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Password",
"description": "",
"env_variable": "PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "Rcon Port",
"description": "",
"env_variable": "RCON_PORT",
"default_value": "27014",
"user_viewable": true,
"user_editable": false,
"rules": "required|int",
"field_type": "text"
},
{
"name": "Rcon Password",
"description": "",
"env_variable": "RCON_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64|min:8",
"field_type": "text"
},
{
"name": "Server Description",
"description": "",
"env_variable": "SERVER_DECS",
"default_value": "Default server description.",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Query Port",
"description": "",
"env_variable": "QUERY_PORT",
"default_value": "27016",
"user_viewable": true,
"user_editable": false,
"rules": "required|int",
"field_type": "text"
},
{
"name": "Use Password",
"description": "Enable Password join",
"env_variable": "PASSWORD_ENABLE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Max Players",
"description": "",
"env_variable": "MAX_PLAYERS",
"default_value": "60",
"user_viewable": true,
"user_editable": false,
"rules": "required|int|",
"field_type": "text"
}
]
}
@@ -0,0 +1,30 @@
# Wurm Unlimited
## [Steam](https://store.steampowered.com/app/366220/Wurm_Unlimited/)
## [Documentation](https://www.wurmpedia.com/index.php/Server_administration_(Wurm_Unlimited))
## Install notes
<!--Make a note if the user needs to get any keys or other items to run/use the server-->
On first install the backup command will error as nothing was created yet. This can safly be ignored
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | *Any AMD64 will work* | ** |
| RAM | *2 GiB* | *4 GiB* |
| Storage | *2 GiB* | *3 GiB* |
| Network | *Anything will work* | ** |
| Game Ownership | *not needed* | ** |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 3724 TCP |
| Query | 27016-27030 UDP |
@@ -0,0 +1,152 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-18T14:40:15+01:00",
"name": "Wurm Unlimited",
"author": "josdekurk@gmail.com",
"description": "Wurm Unlimited is the standalone version of the fantasy sandbox world Wurm Online, the MMORPG where the players are in charge! A pioneer in the ideas of player influence, crafting and adventure, it is now one of the most deep and feature packed true sandbox experiences available.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
},
"file_denylist": [],
"startup": ".\/WurmServerLauncher ip=0.0.0.0 externalport={{SERVER_PORT}} start={{SERVER_WORLD}} maxplayers={{MAX_PLAYERS}} servername=\"{{SERVERNAME}}\" adminpwd={{ADMINPWD}} serverpassword={{SERVERPWD}} epicsettings={{EPIC}} queryport={{QUERY_PORT}} pvp={{PVP}}",
"config": {
"files": "{\r\n \"LaunchConfig.ini\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"CleanLogsOnStart\": \"{{server.build.env.SERVER_CLEAN_LOGS_ON_START}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Wurm Server launcher finished at\"\r\n}",
"logs": "{}",
"stop": "shutdown"
},
"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# Copying steamclient.so as per https:\/\/www.wurmpedia.com\/index.php\/Server_administration_(Wurm_Unlimited)#Headless\r\nmkdir -p \/mnt\/server\/nativelibs\r\ncp -v linux64\/steamclient.so \/mnt\/server\/nativelibs\r\n\r\nmkdir -p .\/backup\r\ncp .\/WurmServerLauncher .\/backup\/\r\ncp -r .\/dist\/Adventure .\/backup\/\r\ncp -r .\/dist\/Creative .\/backup\/\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": "",
"env_variable": "SRCDS_APPID",
"default_value": "402370",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:402370",
"field_type": "text"
},
{
"name": "Auto update",
"description": "Auto update on restart",
"env_variable": "AUTO_UPDATE",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
},
{
"name": "Admin Passwod",
"description": "Unlocks the admin commands from within the game, that can be used to change the gameplay settings of the server, such as skill gain rate and field growth time.",
"env_variable": "ADMINPWD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Query Port",
"description": "Used to set the steam query port (27016-27030 UDP)",
"env_variable": "QUERY_PORT",
"default_value": "",
"user_viewable": true,
"user_editable": false,
"rules": "required|int",
"field_type": "text"
},
{
"name": "Server Name",
"description": "The name of the server that will be visible in server browsers.",
"env_variable": "SERVERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Sets the max number of players allowed on the server, if this is set through this command line option then the internal game commands to change the player limit will not work.",
"env_variable": "MAX_PLAYERS",
"default_value": "25",
"user_viewable": true,
"user_editable": false,
"rules": "required|int",
"field_type": "text"
},
{
"name": "Enable PVP",
"description": "",
"env_variable": "PVP",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Server Password",
"description": "Sets the password that is used when trying to connect to the server.",
"env_variable": "SERVERPWD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:64",
"field_type": "text"
},
{
"name": "Epic",
"description": "If true the server will follow the rules from the Epic servers in Wurm Online. For instance it will use the skill curve.",
"env_variable": "EPIC",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Clean Logs on Start",
"description": "Clear the logfile on server start",
"env_variable": "SERVER_CLEAN_LOGS_ON_START",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "World",
"description": "World to use when launching Wurm. The defaults provided are Creative and Adventure (case sensitive)",
"env_variable": "SERVER_WORLD",
"default_value": "dist\/Adventure",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
},
{
"name": "Beta",
"description": "Leave empty for the public branch and 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"
}
]
}
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-04-09T04:34:42+02:00",
"exported_at": "2024-01-02T11:03:56+01:00",
"name": "tModloader",
"author": "parker@parkervcp.com",
"description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.",
@@ -22,8 +22,8 @@
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl jq file unzip\r\n\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\/tmodloader\/tmodloader\/releases\" | jq -c '.[]' | head -1)\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/tmodloader\/tmodloader\/releases\" | jq '.[]')\r\n\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\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 if [[ \"$VERSION\" == v0* ]]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux | grep -i zip)\r\n else\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i tmodloader.zip)\r\n fi\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\r\n fi\r\nfi\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server || exit 5\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nif [[ \"$VERSION\" == v0* ]]; then\r\n chmod +x tModLoaderServer.bin.x86_64\r\n chmod +x tModLoaderServer\r\nelse\r\n #tiny startup script for backward compatibility\r\n echo 'dotnet tModLoader.dll -server \"$@\"' > tModLoaderServer\r\n chmod +x tModLoaderServer\r\nfi\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf terraria-server-*.zip rm ${DOWNLOAD_LINK##*\/}\r\nif [[ \"$VERSION\" != v0* ]]; then\r\n rm -rf DedicatedServerUtils LaunchUtils PlatformVariantLibs tModPorter RecentGitHubCommits.txt *.bat *.sh\r\nfi\r\n\r\n## using config for difficulty as the startup parameter does not work -> config parser\r\nmv \/mnt\/server\/serverconfig.txt \/mnt\/server\/config.txt\r\nsed 's\/#difficulty\/difficulty\/' \/mnt\/server\/config.txt > \/mnt\/server\/serverconfig.txt\r\nrm \/mnt\/server\/config.txt\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim",
"script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y file \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\/tmodloader\/tmodloader\/releases\" | jq -c '.[]' | head -1)\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/tmodloader\/tmodloader\/releases\" | jq '.[]')\r\n\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\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 if [[ \"$VERSION\" == v0* ]]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux | grep -i zip)\r\n else\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i tmodloader.zip)\r\n fi\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\r\n fi\r\nfi\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server || exit 5\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nif [[ \"$VERSION\" == v0* ]]; then\r\n chmod +x tModLoaderServer.bin.x86_64\r\n chmod +x tModLoaderServer\r\nelse\r\n #tiny startup script for backward compatibility\r\n echo 'dotnet tModLoader.dll -server \"$@\"' > tModLoaderServer\r\n chmod +x tModLoaderServer\r\nfi\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf terraria-server-*.zip rm ${DOWNLOAD_LINK##*\/}\r\nif [[ \"$VERSION\" != v0* ]]; then\r\n rm -rf DedicatedServerUtils LaunchUtils PlatformVariantLibs tModPorter RecentGitHubCommits.txt *.bat *.sh\r\nfi\r\n\r\n## using config for difficulty as the startup parameter does not work -> config parser\r\nmv \/mnt\/server\/serverconfig.txt \/mnt\/server\/config.txt\r\nsed 's\/#difficulty\/difficulty\/' \/mnt\/server\/config.txt > \/mnt\/server\/serverconfig.txt\r\nrm \/mnt\/server\/config.txt\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
@@ -90,22 +90,22 @@
},
{
"name": "Difficulty",
"description": "Sets the difficulty of the world when using auto-create 0(normal), 1(expert). Toggle to choose expert (1).",
"description": "Sets the difficulty of the world when using auto-create. Options: 0(normal), 1(expert), 2(master), 3(journey)",
"env_variable": "DIFFICULTY",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"rules": "required|string|in:0,1,2,3",
"field_type": "text"
},
{
"name": "Server Password",
"description": "Server password for users to connect to your server",
"description": "Server password for users to connect to your server.\r\nCan be empty for no password.",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
+6 -6
View File
@@ -4,7 +4,7 @@
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-08-31T14:24:13+02:00",
"exported_at": "2024-01-08T09:43:11+01:00",
"name": "Elixir",
"author": "mravox@proton.me",
"description": "Elixir is a functional, concurrent, high-level general-purpose programming language that runs on the BEAM virtual machine, which is also used to implement the Erlang programming language.",
@@ -17,17 +17,17 @@
"Elixir 1.12": "ghcr.io\/parkervcp\/yolks:elixir_1.12"
},
"file_denylist": [],
"startup": "if [[ -d .git ]] && [[ 0 == \"1\" ]]; then git pull; fi; mix deps.get; mix run --no-halt",
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; mix deps.get; mix run --no-halt",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": [\r\n \"change this text 1\",\r\n \"change this text 2\"\r\n ]\r\n}",
"logs": "{}",
"stop": "^^C"
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Elixir App Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\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\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${GIT_USERNAME}\" ] && [ -z \"${GIT_ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${GIT_ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git elixir repository\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${GIT_BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${GIT_BRANCH}'\"\r\n git clone --single-branch --branch ${GIT_BRANCH} ${GIT_ADDRESS} .\r\n fi\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim",
"script": "#!\/bin\/bash\r\n# Elixir App Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\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\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${GIT_USERNAME}\" ] && [ -z \"${GIT_ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${GIT_USERNAME}:${GIT_ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git elixir repository\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${GIT_BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${GIT_BRANCH}'\"\r\n git clone --single-branch --branch ${GIT_BRANCH} ${GIT_ADDRESS} .\r\n fi\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
@@ -93,4 +93,4 @@
"field_type": "text"
}
]
}
}