mirror of
https://github.com/parkervcp/eggs.git
synced 2026-06-14 02:03:35 +08:00
Compare commits
1 Commits
@@ -28,13 +28,11 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
|
||||
**Note:** these are actual Discord bot eggs, NOT language eggs. The old language eggs (discord-js-generic, discord-py-generic, etc) have been moved to the [generic languages section](#generic-languages).
|
||||
|
||||
* [Aoede](/bots/discord/aoede) Rust
|
||||
* [ATL Bot](/bots/discord/atlbot) Node JS
|
||||
* [Bastion](/bots/discord/bastion) Node JS
|
||||
* [CorpBot](/bots/discord/corpbot) Python
|
||||
* [Dynamica](/bots/discord/dynamica) Node JS
|
||||
* [fragbot](/bots/discord/fragbot) Golang
|
||||
* [Game Server Watcher](/bots/discord/game-server-watcher) Node JS
|
||||
* [JMusicBot](/bots/discord/jmusicbot) Java
|
||||
* [Muse](/bots/discord/muse) Node JS
|
||||
* [parkertron](/bots/discord/parkertron) Golang
|
||||
@@ -155,8 +153,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* GTA
|
||||
* [GTAC](game_eggs/gta/gtac)
|
||||
|
||||
[Hogwarp](game_eggs/hogwarp)
|
||||
|
||||
[Kerbal Space Program](game_eggs/ksp)
|
||||
|
||||
[League Sandbox](game_eggs/leaguesandbox)
|
||||
@@ -165,8 +161,12 @@ 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)
|
||||
@@ -236,20 +236,17 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
[SteamCMD Servers](game_eggs/steamcmd_servers) These eggs use SteamCMD to install
|
||||
|
||||
* [7 Days to Die](game_eggs/steamcmd_servers/7_days_to_die)
|
||||
* [ARK: Survival Ascended](game_eggs/steamcmd_servers/ark_survival_ascended)
|
||||
* [ARK: Survival Evolved](game_eggs/steamcmd_servers/ark_survival_evolved)
|
||||
* [Arma](game_eggs/steamcmd_servers/arma)
|
||||
* [Arma 3](game_eggs/steamcmd_servers/arma/arma3)
|
||||
* [Arma Reforger](game_eggs/steamcmd_servers/arma/arma_reforger)
|
||||
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
|
||||
* [Astro Colony](game_eggs/steamcmd_servers/astro_colony)
|
||||
* [Astroneer](game_eggs/steamcmd_servers/astroneer)
|
||||
* [Avorion](game_eggs/steamcmd_servers/avorion)
|
||||
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
|
||||
* [BATTALION: Legacy](game_eggs/steamcmd_servers/battalion_legacy)
|
||||
* [Black Mesa](game_eggs/steamcmd_servers/black_mesa)
|
||||
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
|
||||
* [Colony Survival](game_eggs/steamcmd_servers/colony_survival)
|
||||
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
|
||||
* [Core Keeper](game_eggs/steamcmd_servers/core_keeper)
|
||||
* [Counter-Strike](game_eggs/steamcmd_servers/counter_strike/)
|
||||
@@ -267,7 +264,6 @@ 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)
|
||||
@@ -275,10 +271,8 @@ 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)
|
||||
* [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)
|
||||
@@ -291,7 +285,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)
|
||||
* [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)
|
||||
* [Rust](game_eggs/steamcmd_servers/rust)
|
||||
@@ -302,6 +295,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl)
|
||||
* [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated)
|
||||
* [exiled](game_eggs/steamcmd_servers/scpsl/exiled)
|
||||
* [multiadmin](game_eggs/steamcmd_servers/scpsl/multiadmin)
|
||||
* [Soldat](game_eggs/steamcmd_servers/soldat)
|
||||
* [Sons of the Forest](game_eggs/steamcmd_servers/sonsoftheforest)
|
||||
* [Space Engineers](game_eggs/steamcmd_servers/space_engineers)
|
||||
@@ -310,8 +304,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
||||
* [Squad](game_eggs/steamcmd_servers/squad)
|
||||
* [Starbound](game_eggs/steamcmd_servers/starbound)
|
||||
* [Stationeers](game_eggs/steamcmd_servers/stationeers)
|
||||
* [Stationeers Vanilla](game_eggs/steamcmd_servers/stationeers/stationeers_vanilla)
|
||||
* [Stationeers BepInEx](game_eggs/steamcmd_servers/stationeers/stationeers_bepinex)
|
||||
* [Stormworks: Build and Rescue](game_eggs/steamcmd_servers/stormworks)
|
||||
* [Subnautica: Nitrox Mod](game_eggs/steamcmd_servers/subnautica_nitrox_mod)
|
||||
* [Sven Co-op](game_eggs/steamcmd_servers/svencoop)
|
||||
@@ -333,7 +325,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)
|
||||
|
||||
|
||||
@@ -2,11 +2,6 @@
|
||||
|
||||
## Some of these bots support other services but are primarily Discord bots
|
||||
|
||||
### [Aoede](aoede)
|
||||
|
||||
[codetheweb/aoede](https://github.com/codetheweb/aoede)
|
||||
🎧 a self-hosted Spotify → Discord music bot
|
||||
|
||||
### [ATLauncher Discord Bot](atlbot)
|
||||
|
||||
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
|
||||
@@ -27,11 +22,6 @@ A very clumsy python bot for discord
|
||||
[fragforce/fragbot](https://github.com/fragforce/fragbot)
|
||||
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
|
||||
|
||||
### [Game Server Watcher](game-server-watcher)
|
||||
|
||||
[a-sync/game-server-watcher](https://github.com/a-sync/game-server-watcher)
|
||||
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
|
||||
|
||||
### [JMusicBot](jmusicbot)
|
||||
|
||||
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
|
||||
|
||||
@@ -1,28 +0,0 @@
|
||||
# Aoede
|
||||
|
||||
### Authors / Contributors
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/cleme29">
|
||||
<img src="https://avatars.githubusercontent.com/u/8092733" width="50px;" alt=""/><br /><sub><b>cleme29</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=cleme29" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=cleme29" title="Maintains">🔨</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
Special thanks to Red-Thirten for providing most of the installation script and to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one !
|
||||
|
||||
## Their [Github](https://github.com/codetheweb/aoede)
|
||||
|
||||
Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.
|
||||
|
||||
## Server Ports
|
||||
|
||||
There are no ports required for the Aoede bot
|
||||
@@ -1,92 +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-12T20:05:05+00:00",
|
||||
"name": "Aoede",
|
||||
"author": "contact@bldy.ovh",
|
||||
"description": "Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:ubuntu": "ghcr.io\/parkervcp\/yolks:ubuntu"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/aoede",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Invite me with\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "## Credits: Red-Thirten (https:\/\/github.com\/lilkingjr1) for providing most of the installation script\r\n## Credits to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one\r\napt-get update\r\napt-get install git curl jq cmake -y -qq\r\n\r\nGITHUB_PACKAGE=\"codetheweb\/aoede\"\r\n\r\n# Find GitHub download URL for Muse for specified version\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\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) | .tarball_url')\r\n else\r\n echo -e \"Could not find version \\\"${VERSION}\\\" of Muse. Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\n fi\r\nfi\r\n\r\n# Download Aoede from GitHub & Extract\r\ncd \/mnt\/server\r\necho -e \"Downloading Aoede from GitHub...\"\r\ncurl -L ${DOWNLOAD_URL} -o aoede.tar.gz\r\necho -e \"Extracting Aoede from tarball...\"\r\ntar -xvzf aoede.tar.gz --strip-components=1\r\nrm aoede.tar.gz\r\n\r\n# Verify and clean up Aoede installation\r\nif [ ! -f Cargo.toml ]; then\r\n echo -e \"\\nFailed to download release: ${DOWNLOAD_URL}\\n\"\r\n exit 1\r\nfi\r\nrm -rf .dockerignore Dockerfile .gitignore .github\/\r\ncargo build --release\r\nmv target\/release\/aoede .\r\ncargo clean\r\n\r\n\r\necho -e \"\\nAoede Successfully Installed!\"",
|
||||
"container": "rust:1.74-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Token",
|
||||
"description": "Discord Bot Token",
|
||||
"env_variable": "DISCORD_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Username",
|
||||
"description": "Spotify Username",
|
||||
"env_variable": "SPOTIFY_USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Password",
|
||||
"description": "Spotify Password",
|
||||
"env_variable": "SPOTIFY_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Discord User ID",
|
||||
"description": "Discord user ID of the user you want Aoede to follow",
|
||||
"env_variable": "DISCORD_USER_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autoplay",
|
||||
"description": "Autoplay similar songs when your music ends \r\nValue : true\/false",
|
||||
"env_variable": "SPOTIFY_BOT_AUTOPLAY",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Specify a version, for example: \"v0.7.0\"\r\nFor the latest version, type \"latest\"",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
# Game Server Watcher
|
||||
|
||||
## From [Github](https://github.com/a-sync/game-server-watcher#readme)
|
||||
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
|
||||
|
||||
## Screenshots
|
||||
<img src="https://user-images.githubusercontent.com/14183614/162092529-e1645b44-2650-4893-8123-7ba187b1f51c.png" height="280"> <img src="https://user-images.githubusercontent.com/14183614/162092488-f28bd60c-88bf-4b1e-a31e-d7dca51d8c28.png" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/0461ad76-bb13-468c-a7b3-437d6a3cea63" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/ee0ef0de-83bc-42ae-8f64-62f481f6ba8f" height="280">
|
||||
|
||||
## Running the bot
|
||||
Refer to the wiki on how to acquire tokens for:
|
||||
* [steam](https://github.com/a-sync/game-server-watcher/wiki/Steam-Web-API-key)
|
||||
* [discord](https://github.com/a-sync/game-server-watcher/wiki/Discord-bot-token)
|
||||
* [telegram](https://github.com/a-sync/game-server-watcher/wiki/Telegram-bot-token)
|
||||
* [slack](https://github.com/a-sync/game-server-watcher/wiki/Slack-bot-token)
|
||||
|
||||
## Server Ports
|
||||
GSW Control Panel requires one port for http traffic.
|
||||
(It can be any port.)
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Web | 8081 |
|
||||
@@ -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": "2023-12-06T09:05:57+00:00",
|
||||
"name": "Game Server Watcher",
|
||||
"author": "a-sync@devs.space",
|
||||
"description": "A simple discord\/telegram\/slack bot that can be hosted on a free service to monitor your game servers and players in style. \ud83d\ude0e",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Node.js 20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "env PORT={{SERVER_PORT}} \/usr\/local\/bin\/node \/home\/container\/dist\/server.js",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"starting loop...\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\napt-get update && apt-get install ca-certificates git -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages\r\ncd \/mnt\/server\r\ngit config --global --add safe.directory \/mnt\/server\r\ngit clone https:\/\/github.com\/a-sync\/game-server-watcher.git . || git pull\r\nnpm install && npm update gamedig && npm run build\r\nnpm prune --omit=dev",
|
||||
"container": "node:20-bullseye-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SECRET",
|
||||
"description": "Admin secret",
|
||||
"env_variable": "SECRET",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|min:8|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DATA_PATH",
|
||||
"description": "Writable folder for data storage",
|
||||
"env_variable": "DATA_PATH",
|
||||
"default_value": ".\/data\/",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|min:1|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "REFRESH_TIME_MINUTES",
|
||||
"description": "Game server info refresh interval in minutes",
|
||||
"env_variable": "REFRESH_TIME_MINUTES",
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DISCORD_BOT_TOKEN",
|
||||
"description": "Discord bot token",
|
||||
"env_variable": "DISCORD_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "TELEGRAM_BOT_TOKEN",
|
||||
"description": "Telegram bot token",
|
||||
"env_variable": "TELEGRAM_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "STEAM_WEB_API_KEY",
|
||||
"description": "Steam web API key",
|
||||
"env_variable": "STEAM_WEB_API_KEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Debug Mode",
|
||||
"description": "Enable or disable debug mode.",
|
||||
"env_variable": "DBG",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|in:0,1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SLACK_BOT_TOKEN",
|
||||
"description": "Slack bot token",
|
||||
"env_variable": "SLACK_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SLACK_APP_TOKEN",
|
||||
"description": "Slack app token",
|
||||
"env_variable": "SLACK_APP_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -4,13 +4,13 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-04-23T18:47:53+02:00",
|
||||
"exported_at": "2023-10-21T10:23:47+02:00",
|
||||
"name": "SogeBot",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
|
||||
"Nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "npm start",
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#\/bin\/bash\r\n# Installscript for sogeBot | Author: eggs@goover.dev\r\n\r\nexport DEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt install -y curl unzip jq python3 build-essential ca-certificates\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\nchown -R root:root \/mnt\r\n\r\n#Backup database & config\r\nmkdir -p .backup\r\ncp -f .env \/mnt\/server\/.backup\r\ncp -f sogebot.db \/mnt\/server\/.backup\r\n\r\n#delete old dir's to prevent errors on update\r\nrm -fR dest\r\nrm -fR public\r\nrm -fR node-modules\r\nrm -fR tools\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\")\r\nMATCH=sogeBot\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"Downloading from $DOWNLOAD_LINK\"\r\ncurl -sSL -o sogeBot.zip ${DOWNLOAD_LINK}\r\n\r\nunzip -o sogeBot.zip\r\nrm -rf sogeBot.zip\r\n\r\n\r\necho \"--------------------------------------------------------------------------\"\r\necho \"Installing dependencies, this will take some time so sit back and relax...\"\r\necho \"IGNORE WARNINGS. THESE ARE NOT ERRORS !!!\"\r\necho \"--------------------------------------------------------------------------\"\r\n\r\nnpm install -g npm@8\r\n\r\nnpm install --verbose --force\r\n\r\necho -e \"install completed\"\r\nexit 0",
|
||||
"script": "#\/bin\/bash\r\n# Installscript for sogeBot | Author: eggs@goover.dev\r\n\r\nexport DEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt install -y curl unzip jq python3 build-essential ca-certificates\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Backup database & config\r\nif [ -f \"\/mnt\/server\/sogebot.db\" ]; then\r\n mkdir -p .backup\r\n cp -f .env \/mnt\/server\/.backup\r\n cp -f sogebot.db \/mnt\/server\/.backup\r\nfi\r\n\r\n#delete old dir's to prevent errors on update\r\nrm -fR dest\r\nrm -fR public\r\nrm -fR node-modules\r\nrm -fR tools\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases?per_page=50\")\r\nMATCH=\"sogebot-*.*.*.zip\"\r\n\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} | head -1)\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} | head -1)\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 \"zip\" | head -1)\r\n fi\r\nfi\r\n\r\n# Download the files\r\necho \"Running: curl -sSL -o sogeBot.zip ${DOWNLOAD_URL}\"\r\ncurl -sSL -o sogeBot.zip ${DOWNLOAD_URL}\r\n\r\nunzip -o sogeBot.zip\r\nrm -rf sogeBot.zip\r\n\r\necho \"--------------------------------------------------------------------------\"\r\necho \"Installing dependencies, this will take some time so sit back and relax...\"\r\necho \"IGNORE WARNINGS. THESE ARE NOT ERRORS !!!\"\r\necho \"--------------------------------------------------------------------------\"\r\n\r\nnpm install --location=global npm@latest\r\nnpm install\r\n\r\necho \"--------------------------------------------------------------------------\"\r\necho \"install completed\"\r\necho \"--------------------------------------------------------------------------\"\r\nexit 0",
|
||||
"container": "node:18-bullseye-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -39,4 +39,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
+5
-10
@@ -1,18 +1,13 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2023-12-19T09:54:17+01:00",
|
||||
"name": "MariaDB 10.3",
|
||||
"exported_at": "2019-11-06T18:52:33-05:00",
|
||||
"name": "MariaDB",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"MariaDB 10.3": "ghcr.io\/parkervcp\/yolks:mariadb_10.3"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb",
|
||||
"startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root",
|
||||
"config": {
|
||||
"files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}",
|
||||
@@ -28,4 +23,4 @@
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
}
|
||||
+8
-10
@@ -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": "2023-12-12T15:32:12+01:00",
|
||||
"name": "Postgres 14",
|
||||
"exported_at": "2022-05-08T21:54:05+02:00",
|
||||
"name": "Postgres",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A default Postgres install that is not really editable.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:postgres_14": "ghcr.io\/parkervcp\/yolks:postgres_14"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:postgres_14"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "postgres -D \/home\/container\/postgres_db\/",
|
||||
"config": {
|
||||
@@ -35,8 +35,7 @@
|
||||
"default_value": "pterodactyl",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Superuser Password",
|
||||
@@ -45,8 +44,7 @@
|
||||
"default_value": "Pl3453Ch4n63M3!",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -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": "2023-12-12T15:33:25+01:00",
|
||||
"name": "Postgres 16",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A default Postgres install that is not really editable.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:postgres_16": "ghcr.io\/parkervcp\/yolks:postgres_16"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "postgres -D \/home\/container\/postgres_db\/",
|
||||
"config": {
|
||||
"files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#port =\": \"port = {{server.build.default.port}}\",\r\n \"#external_pid_file =\": \"external_pid_file = '\/home\/container\/postgres_db\/run\/postgres.pid'\",\r\n \"#unix_socket_directories =\": \"unix_socket_directories = '\/home\/container\/postgres_db\/run\/'\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"database system is ready to accept connections\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U \"$PGUSER\" --pwfile=<(echo \"$PGPASSWORD\")'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\n## Add default \"allow from all\" auth rule to pg_hba\r\nif ! grep -q \"# Custom rules\" \"\/mnt\/server\/postgres_db\/pg_hba.conf\"; then\r\n echo -e \"# Custom rules\\nhost all all 0.0.0.0\/0 md5\" >> \"\/mnt\/server\/postgres_db\/pg_hba.conf\"\r\nfi\r\n\r\necho -e \"Done\"",
|
||||
"container": "postgres:16-alpine",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Superuser Name",
|
||||
"description": "The username for the postgres superuser",
|
||||
"env_variable": "PGUSER",
|
||||
"default_value": "pterodactyl",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Superuser Password",
|
||||
"description": "The postgres super user password with a strong default.\r\nYou should be generating new ones for each server.\r\nIf you don't then users can hit other users DB's",
|
||||
"env_variable": "PGPASSWORD",
|
||||
"default_value": "Pl3453Ch4n63M3!",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-12
@@ -53,8 +53,6 @@
|
||||
* GTA
|
||||
* [GTAC](gta/gtac)
|
||||
|
||||
[Hogwarp](hogwarp)
|
||||
|
||||
[Kerbal Space Program](ksp)
|
||||
|
||||
[Los Angeles Crimes](losangelescrimes)
|
||||
@@ -132,20 +130,17 @@
|
||||
[SteamCMD Servers](steamcmd_servers) These eggs use SteamCMD to install
|
||||
|
||||
* [7 Days to Die](steamcmd_servers/7_days_to_die)
|
||||
* [ARK: Survival Ascended](steamcmd_servers/ark_survival_ascended)
|
||||
* [ARK: Survival Evolved](steamcmd_servers/ark_survival_evolved)
|
||||
* [Arma](steamcmd_servers/arma)
|
||||
* [Arma 3](steamcmd_servers/arma/arma3)
|
||||
* [Arma Reforger](steamcmd_servers/arma/arma_reforger)
|
||||
* [Assetto Corsa](steamcmd_servers/assetto_corsa)
|
||||
* [Astro Colony](steamcmd_servers/astro_colony)
|
||||
* [Astroneer](steamcmd_servers/astroneer)
|
||||
* [Avorion](steamcmd_servers/avorion)
|
||||
* [Barotrauma](steamcmd_servers/barotrauma)
|
||||
* [BATTALION: Legacy](steamcmd_servers/battalion_legacy)
|
||||
* [Black Mesa](steamcmd_servers/black_mesa)
|
||||
* [Citadel: Forged with Fire](steamcmd_servers/citadel)
|
||||
* [Colony Survival](steamcmd_servers/colony_survival)
|
||||
* [Conan Exiles](steamcmd_servers/conan_exiles)
|
||||
* [Core Keeper](steamcmd_servers/core_keeper)
|
||||
* [Counter-Strike](steamcmd_servers/counter_strike/)
|
||||
@@ -163,7 +158,6 @@
|
||||
* [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)
|
||||
@@ -171,10 +165,8 @@
|
||||
* [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)
|
||||
* [Neos VR](steamcmd_servers/neosvr)
|
||||
* [No More Room in Hell](steamcmd_servers/nmrih)
|
||||
* [No One Survived](steamcmd_servers/no_one_survived)
|
||||
@@ -187,7 +179,6 @@
|
||||
* [Post Scriptum](steamcmd_servers/post_scriptum)
|
||||
* [Project Zomboid](steamcmd_servers/project_zomboid)
|
||||
* [Quake Live](steamcmd_servers/quake_live)
|
||||
* [Resonite](steamcmd_servers/resonite)
|
||||
* [Rising World](steamcmd_servers/rising_world)
|
||||
* [Legacy Java](steamcmd_servers/rising_world/legacy)
|
||||
* [Unity](steamcmd_servers/rising_world/unity)
|
||||
@@ -200,6 +191,7 @@
|
||||
* [SCP: Secret Laboratory](steamcmd_servers/scpsl)
|
||||
* [Dedicated](steamcmd_servers/scpsl/dedicated)
|
||||
* [Exiled](steamcmd_servers/scpsl/exiled)
|
||||
* [Multiadmin](steamcmd_servers/scpsl/multiadmin)
|
||||
* [Soldat](steamcmd_servers/soldat)
|
||||
* [Sons of the Forest](steamcmd_servers/sonsoftheforest)
|
||||
* [Space Engineers](steamcmd_servers/space_engineers)
|
||||
@@ -208,8 +200,6 @@
|
||||
* [Squad](steamcmd_servers/squad)
|
||||
* [Starbound](steamcmd_servers/starbound)
|
||||
* [Stationeers](steamcmd_servers/stationeers)
|
||||
* [Stationeers Vanilla](steamcmd_servers/stationeers/stationeers_vanilla)
|
||||
* [Stationeers BepInEx](steamcmd_servers/stationeers/stationeers_bepinex)
|
||||
* [Stormworks: Build and Rescue](steamcmd_servers/stormworks)
|
||||
* [Subnautica: Nitrox Mod](steamcmd_servers/subnautica_nitrox_mod)
|
||||
* [Sven Co-op](steamcmd_servers/svencoop)
|
||||
@@ -231,7 +221,6 @@
|
||||
* [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)
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-05T18:28:42+01:00",
|
||||
"exported_at": "2023-05-14T18:49:02+02: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.",
|
||||
@@ -15,7 +15,7 @@
|
||||
"file_denylist": [],
|
||||
"startup": ".\/BeamMP-Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"ServerConfig.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Name =\": \"Name = \\\"{{env.NAME}}\\\"\",\r\n \"Port =\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTHKEY}}\\\"\",\r\n \"Private =\": \"Private = {{env.PRIVATE}}\",\r\n \"MaxPlayers =\": \"MaxPlayers = {{server.build.env.MAX_PLAYERS}}\",\r\n \"Description =\": \"Description = \\\"{{env.DESCRIPTION}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\",\r\n \"LogChat =\": \"LogChat = {{env.LOGCHAT}}\"\r\n }\r\n }\r\n}",
|
||||
"files": "{\r\n \"ServerConfig.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Name =\": \"Name = \\\"{{env.NAME}}\\\"\",\r\n \"Port =\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTHKEY}}\\\"\",\r\n \"Private =\": \"Private = {{env.PRIVATE}}\",\r\n \"MaxPlayers =\": \"MaxPlayers = {{server.build.env.MAX_PLAYERS}}\",\r\n \"Description =\": \"Description = \\\"{{env.DESCRIPTION}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\",\r\n \"LogChat =\": \"LogChat = \\\"{{env.LOGCHAT}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "exit"
|
||||
@@ -55,12 +55,12 @@
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:12",
|
||||
"rules": "required|string|max:8",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Authentication Key",
|
||||
"description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/keymaster.beammp.com",
|
||||
"description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/beamng-mp.com\/k\/dashboard",
|
||||
"env_variable": "AUTHKEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-30T10:24:33+01:00",
|
||||
"exported_at": "2023-07-03T16:24:37+02:00",
|
||||
"name": "Clone Hero",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "Clone Hero is a classic instrument based rhythm game for Windows, Mac, Linux, and Android. It's playable with any 5 or 6 fret guitar controller, any midi drum kit, any game controller and even your keyboard! Jam out with Drums, 5-fret Guitar, or 6-fret Guitar online or local!",
|
||||
@@ -13,16 +13,16 @@
|
||||
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Server -l {{LOG_LEVEL}} -n \"{{SERVER_DISPLAY_NAME}}\" -p {{SERVER_PORT}} -a 0.0.0.0 $([[ -z \"${SERVER_PASSWORD}\" ]] && echo -np || echo \"-ps ${SERVER_PASSWORD}\")",
|
||||
"startup": ".\/Server -l {{LOG_LEVEL}} -n \"{{SERVER_DISPLAY_NAME}}\" -p {{SERVER_PORT}} -a 0.0.0.0 $([[ -z \"{{SERVER_PASSWORD}}\" ]] && echo -np || echo \"-ps {{SERVER_PASSWORD}}\")",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server running...\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^c"
|
||||
"stop": "^SIGKILL"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl unzip jq\r\n\r\n## get release info and download links\r\nV=$(curl -s https:\/\/clonehero.net\/ | grep -i \"Latest version\" | grep -oP '(?<=<b>).+?(?=<\\\/b>)' | sed -e 's\/^[[:space:]]*\/\/' -e 's\/[[:space:]]*$\/\/') #v1.0.0.4080\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/clonehero-game\/releases\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/clonehero-game\/releases\/releases\")\r\nMATCH=CloneHero-standalone_server\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 server)\r\n fi\r\nfi\r\n\r\n\r\nV=$(curl -s https:\/\/clonehero.net\/ | grep -i \"Latest version\" | grep -oP '(?<=<b>).+?(?=<\\\/b>)' | sed -e 's\/^[[:space:]]*\/\/' -e 's\/[[:space:]]*$\/\/') #v1.0.0.4080\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 ChStandaloneServer.zip ${DOWNLOAD_URL}\"\r\ncurl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}\r\n\r\nunzip -o ChStandaloneServer.zip\r\nrm ChStandaloneServer.zip\r\n\r\nmv ChStandaloneServer-${V}-final\/${ARCH}\/* .\r\nrm -rf ChStandaloneServer-${V}-final\/\r\n\r\nchmod +x Server\r\n\r\n\r\nif [ ! -f \/mnt\/server\/settings.ini ]\r\nthen\r\n\tcurl -sSL -o settings.ini https:\/\/pastebin.com\/raw\/rhcv0hvi\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl unzip\r\n\r\nV=$(curl -s https:\/\/clonehero.net\/ | grep -i \"Latest version\" | grep -oP '(?<=<b>).+?(?=<\\\/b>)' | sed -e 's\/^[[:space:]]*\/\/' -e 's\/[[:space:]]*$\/\/') #v1.0.0.4080\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 ChStandaloneServer.zip https:\/\/pubdl.clonehero.net\/chserver\/ChStandaloneServer-${V}-final.zip\"\r\ncurl -sSL -o ChStandaloneServer.zip https:\/\/pubdl.clonehero.net\/chserver\/ChStandaloneServer-${V}-final.zip\r\n\r\nunzip -o ChStandaloneServer.zip\r\nrm ChStandaloneServer.zip\r\nmv ChStandaloneServer-${V}-final\/${ARCH}\/* .\r\nrm -rf ChStandaloneServer-${V}-final\/\r\n\r\nchmod +x Server\r\n\r\n\r\nif [ ! -f \/mnt\/server\/settings.ini ]\r\nthen\r\n\tcurl -sSL -o settings.ini https:\/\/pastebin.com\/raw\/rhcv0hvi\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "debian:bullseye-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -57,16 +57,6 @@
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:0,1,2,3,4",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "The version of Clone Hero you want to install.\r\nExample: V1.0.0.4080 or latest",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -24,7 +24,3 @@ Factorio requires a single port
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 34197 |
|
||||
|
||||
## ARM64
|
||||
There is a factorio egg for ARM64 machines that uses the box64 emulator.
|
||||
If you are on **AMD64** Like most of you download the normal non ARM64 egg!
|
||||
@@ -1,192 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-18T10:08:36+01:00",
|
||||
"name": "Factorio ARM64",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Box64": "ghcr.io\/parkervcp\/yolks:box64"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "if [ ! -f \".\/saves\/{{SAVE_NAME}}.zip\" ]; then box64 .\/bin\/x64\/factorio --create .\/saves\/{{SAVE_NAME}}.zip --map-gen-settings data\/map-gen-settings.json --map-settings data\/map-settings.json; fi;\r\nbox64 .\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server saves\/{{SAVE_NAME}}.zip",
|
||||
"config": {
|
||||
"files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Hosting game at\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "\/quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nVERSION_JSON=$(curl -sSL https:\/\/factorio.com\/api\/latest-releases)\r\n\r\nlatest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')\r\nlatest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Factorio Version",
|
||||
"description": "Which version of Factorio to install and use.",
|
||||
"env_variable": "FACTORIO_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|between:3,12",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Maximum Slots",
|
||||
"description": "Total number of slots to allow on the server.",
|
||||
"env_variable": "MAX_SLOTS",
|
||||
"default_value": "20",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|digits_between:1,3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Save Name",
|
||||
"description": "The save name for the server.",
|
||||
"env_variable": "SAVE_NAME",
|
||||
"default_value": "gamesave",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Token",
|
||||
"description": "Your factorio.com token, it is required for your server to be visible in the public server list.",
|
||||
"env_variable": "SERVER_TOKEN",
|
||||
"default_value": "undefined",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "alpha_num|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name of the game as it will appear in the game listing",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Factorio Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Description",
|
||||
"description": "Description of the game that will appear in the listing.",
|
||||
"env_variable": "SERVER_DESC",
|
||||
"default_value": "Description",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Username",
|
||||
"description": "Username used for the server",
|
||||
"env_variable": "SERVER_USERNAME",
|
||||
"default_value": "unnamed",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Save Interval",
|
||||
"description": "Time between auto saves specified in minutes",
|
||||
"env_variable": "SAVE_INTERVAL",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|digits_between:1,3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Save Slots",
|
||||
"description": "The number of auto saves to keep.",
|
||||
"env_variable": "SAVE_SLOTS",
|
||||
"default_value": "5",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|digits_between:1,3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "AFK Kick",
|
||||
"description": "Time specified in minutes to kick AFK players.\r\n0 is off",
|
||||
"env_variable": "AFK_KICK",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|digits_between:1,3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "BOX64_DYNAREC_SAFEFLAGS",
|
||||
"description": "",
|
||||
"env_variable": "BOX64_DYNAREC_SAFEFLAGS",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "BOX64_DYNAREC_BIGBLOCK",
|
||||
"description": "",
|
||||
"env_variable": "BOX64_DYNAREC_BIGBLOCK",
|
||||
"default_value": "2",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:2",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "BOX64_DYNAREC_FORWARD",
|
||||
"description": "",
|
||||
"env_variable": "BOX64_DYNAREC_FORWARD",
|
||||
"default_value": "1024",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:1024",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "BOX64_DYNAREC_CALLRET",
|
||||
"description": "",
|
||||
"env_variable": "BOX64_DYNAREC_CALLRET",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "BOX64_DYNAREC_FASTROUND",
|
||||
"description": "",
|
||||
"env_variable": "BOX64_DYNAREC_FASTROUND",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "BOX64_DYNAREC_ALIGNED_ATOMICS",
|
||||
"description": "",
|
||||
"env_variable": "BOX64_DYNAREC_ALIGNED_ATOMICS",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:1",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,29 +1,29 @@
|
||||
{
|
||||
"_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-11-13T18:18:13+01:00",
|
||||
"exported_at": "2022-05-25T15:27:15+02: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.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:mta": "ghcr.io\/parkervcp\/games:mta"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:ubuntu"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/mta-server64 --port {{SERVER_PORT}} --httpport {{SERVER_WEBPORT}} -n",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server started and is ready to accept connections\"\r\n}",
|
||||
"logs": "{}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "shutdown"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"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",
|
||||
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\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\nmkdir -p \/mnt\/server-conf\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\necho \"done\"",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -35,8 +35,7 @@
|
||||
"default_value": "22005",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
# SA:MP
|
||||
|
||||
The [SA:MP](https://www.sa-mp.mp/) GTA San Andreas dedicated server
|
||||
The [SA:MP](https://www.sa-mp.com/) GTA San Andreas dedicated server
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-10-19T18:53:04+02:00",
|
||||
"exported_at": "2023-02-08T14:50:39+01:00",
|
||||
"name": "SA-MP",
|
||||
"author": "bl4ckspr4y@protonmail.com",
|
||||
"description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).",
|
||||
@@ -22,7 +22,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n# Check if VERSION is set and starts with an uppercase \"R\"\r\nif [[ -n \"$VERSION\" && \"$VERSION\" == R* ]]; then\r\n VERSION=\"0.3.7\"\r\n echo \"Updated VERSION: $VERSION\"\r\nfi\r\n\r\ncd \/tmp || exit\r\necho \"running: curl -sSL -o samp.tar.gz https:\/\/sampcenter.com\/download\/server\/linux\/${VERSION}.tar.gz\"\r\ncurl -sSL -o samp.tar.gz https:\/\/sampcenter.com\/download\/server\/linux\/${VERSION}.tar.gz\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf samp.tar.gz --strip-components=1 -C \/mnt\/server\/\r\n\r\ncd \/mnt\/server || exit\r\n\r\nsed -i '3d' \/mnt\/server\/server.cfg\r\necho \"rcon_password ${RCON_PASS}\" >> \/mnt\/server\/server.cfg\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n\r\ncd \/tmp || exit\r\necho \"running: curl -sSL -o samp.tar.gz http:\/\/files.sa-mp.com\/samp037svr_${VERSION}.tar.gz\"\r\ncurl -sSL -o samp.tar.gz http:\/\/files.sa-mp.com\/samp037svr_\"${VERSION}\".tar.gz\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf samp.tar.gz --strip-components=1 -C \/mnt\/server\/\r\n\r\ncd \/mnt\/server || exit\r\n\r\nsed -i '3d' \/mnt\/server\/server.cfg\r\necho \"rcon_password ${RCON_PASS}\" >> \/mnt\/server\/server.cfg\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -30,9 +30,9 @@
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Example: if the download url is https:\/\/sampcenter.com\/download\/server\/linux\/0.3.7.tar.gz then the variable should be: `0.3.7`",
|
||||
"description": "example: if the download url is http:\/\/files.sa-mp.com\/samp037svr_R2-1.tar.gz then the variable should be: `R2-1`",
|
||||
"env_variable": "Version",
|
||||
"default_value": "0.3.7",
|
||||
"default_value": "R2-1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# HogWarp
|
||||
|
||||
HogWarp is a Work In Progress mod that adds Multiplayer functionality to Hogwarts Legacy, similar to FiveM for GTAV
|
||||
|
||||
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
|
||||
|
||||
## Server Port
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 11778 |
|
||||
|
||||
## Hardware Requirements
|
||||
| Storage | RAM | CPU |
|
||||
|---------|---------|-----|
|
||||
| 1.5GiB | 250MiB | 🥔 |
|
||||
|
||||
@@ -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": "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_staging": "ghcr.io\/parkervcp\/yolks:wine_staging"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"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\": \"Server started on port \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#Hogwarp Install\r\napt update -y\r\napt install -y curl file unzip\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n# Validate link\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\n# Unpack Server zip\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\n\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n#Create the Plugins folder\r\nmkdir plugins\/\r\n\r\n# Check for a config.json, if it is missing; create it\r\nTARGET_FILE=\"config.json\"\r\n\r\nif test -f \"$TARGET_FILE\"; then\r\n echo \"$TARGET_FILE exists. Skipping config install\"\r\nelse\r\n echo \"$TARGET_FILE does not exist. Installing!\"\r\n curl -sSL -o config.json https:\/\/pteropaste.com\/hy2d48dbhtdd\/\r\n echo \"$TARGET_FILE has been installed\"\r\nfi\r\n\r\n\r\n## Install End\r\necho \"-----------------------------------------\"\r\necho \"Hogwarp Is Installed!\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Wine Tricks",
|
||||
"description": "",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "dotnet7",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Hogwarp API Key",
|
||||
"description": "A API required to boot - https:\/\/presence.hogwarp.com\/login\r\n- If not set on install it will fail. Set API Key then Reinstall Files",
|
||||
"env_variable": "API_KEY",
|
||||
"default_value": "CHANGEME",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "A name that displays on the Hogwarp list",
|
||||
"env_variable": "SERV_NAME",
|
||||
"default_value": "Ptero Hogwarp Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WineARCH",
|
||||
"description": "Arch type for Wine",
|
||||
"env_variable": "WINEARCH",
|
||||
"default_value": "win64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Max players for a server, this depends on your Patreon level for Hogwarp\r\nhttps:\/\/www.patreon.com\/tiltedphoques - ( 4, 8, 16, No Limit ) In that order.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "4",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Icon URL",
|
||||
"description": "The icon that displays on Hogwarps multiplayer listing",
|
||||
"env_variable": "SERV_ICON",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Description",
|
||||
"description": "The description that shows on the Multiplayer list",
|
||||
"env_variable": "SERV_DESC",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Download URL",
|
||||
"description": "URL to pull the files from\r\n- Files can be found in their Discord (https:\/\/discord.com\/invite\/hogwarp). Default URL will pull from there as well\r\n- These files can be outdated! Be sure to check for an update in the event it has a version mismatch with the client.",
|
||||
"env_variable": "DOWNLOAD_URL",
|
||||
"default_value": "https:\/\/cdn.discordapp.com\/attachments\/1076580539751993444\/1118295980597575810\/Server.zip",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEDEBUG",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -13,6 +13,3 @@ 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
@@ -24,9 +24,6 @@ The second method requires you to know the id for both the modpack and version i
|
||||
may not get updated with the correct ip address and port at first launch.
|
||||
Please restart the server after first launch to fix this.**
|
||||
|
||||
## Neoforged
|
||||
If you have trouble using an neoforge pack, make sure to select the latest java.
|
||||
|
||||
## Server Ports
|
||||
|
||||
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-10-27T00:29:03+02:00",
|
||||
"exported_at": "2023-05-17T23:20:29+01:00",
|
||||
"name": "FTB-modpacks.ch Server",
|
||||
"author": "runemaster580@gmail.com",
|
||||
"description": "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this.",
|
||||
@@ -30,7 +30,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\ncd \/mnt\/server\r\n\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq\r\n}\r\n\r\nfunction get_modpack_id {\r\n urlencode() {\r\n local string=\"${1\/\/ \/%20}\"\r\n echo \"$string\"\r\n }\r\n \r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ ! -z \"${FTB_SEARCH_TERM}\" ]; then\r\n encoded_search_term=$(urlencode \"$FTB_SEARCH_TERM\")\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=\"${encoded_search_term}\")\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[0]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ ! -z ${FTB_VERSION_STRING} ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n}\r\n\r\nfunction run_installer {\r\n # get architecture for installer\r\n INSTALLER_TYPE=$([ \"$(uname -m)\" == \"x86_64\" ] && echo \"linux\" || echo \"arm\/linux\")\r\n echo \"ModpackID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID} InstallerType: ${INSTALLER_TYPE}\"\r\n\r\n # download installer\r\n curl -L https:\/\/api.modpacks.ch\/public\/modpack\/0\/0\/server\/${INSTALLER_TYPE} --output serversetup\r\n chmod +x .\/serversetup\r\n \r\n # remove old forge files (to allow updating)\r\n rm -rf libraries\/net\/minecraftforge\/forge\r\n rm -rf libraries\/net\/neoforged\/forge\r\n rm -f unix_args.txt\r\n \r\n # run installer\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto --noscript --nojava\r\n}\r\n\r\n# allows startup command to work\r\nfunction move_startup_files {\r\n # create symlink for forge unix_args.txt if exists\r\n if compgen -G \"libraries\/net\/minecraftforge\/forge\/*\/unix_args.txt\"; then\r\n ln -sf libraries\/net\/minecraftforge\/forge\/*\/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # create symlink for neoforge unix_args.txt if exists\r\n if compgen -G \"libraries\/net\/neoforged\/forge\/*\/unix_args.txt\"; then\r\n ln -sf libraries\/net\/neoforged\/forge\/*\/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # move forge\/neoforge\/fabric jar file to start-server.jar if exists\r\n if compgen -G \"forge-*.jar\"; then\r\n mv -f forge-*.jar start-server.jar\r\n elif compgen -G \"fabric-*.jar\"; then\r\n mv -f fabric-*.jar start-server.jar\r\n fi\r\n}\r\n\r\n# installer cleanup\r\nfunction installer_cleanup {\r\n rm serversetup\r\n rm -f run.bat\r\n rm -f run.sh\r\n}\r\n\r\n# run installation steps\r\ninstall_required\r\nget_modpack_id\r\nrun_installer\r\nmove_startup_files\r\ninstaller_cleanup\r\n\r\necho \"Finished installing FTB modpack\"",
|
||||
"script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\ncd \/mnt\/server\r\n\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq\r\n}\r\n\r\nfunction get_modpack_id {\r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ ! -z ${FTB_SEARCH_TERM} ]; then\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ ! -z ${FTB_VERSION_STRING} ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n}\r\n\r\nfunction run_installer {\r\n # get architecture for installer\r\n INSTALLER_TYPE=$([ \"$(uname -m)\" == \"x86_64\" ] && echo \"linux\" || echo \"arm\/linux\")\r\n echo \"ModpackID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID} InstallerType: ${INSTALLER_TYPE}\"\r\n\r\n # download installer\r\n curl -L https:\/\/api.modpacks.ch\/public\/modpack\/0\/0\/server\/${INSTALLER_TYPE} --output serversetup\r\n chmod +x .\/serversetup\r\n \r\n # remove old forge files (to allow updating)\r\n rm -rf libraries\/net\/minecraftforge\/forge\r\n rm -f unix_args.txt\r\n \r\n # run installer\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto --noscript --nojava\r\n}\r\n\r\n# allows startup command to work\r\nfunction move_startup_files {\r\n # create symlink for forge unix_args.txt if exists\r\n if compgen -G \"libraries\/net\/minecraftforge\/forge\/*\/unix_args.txt\"; then\r\n ln -sf libraries\/net\/minecraftforge\/forge\/*\/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # move forge\/fabric jar file to start-server.jar if exists\r\n if compgen -G \"forge-*.jar\"; then\r\n mv -f forge-*.jar start-server.jar\r\n elif compgen -G \"fabric-*.jar\"; then\r\n mv -f fabric-*.jar start-server.jar\r\n fi\r\n}\r\n\r\n# installer cleanup\r\nfunction installer_cleanup {\r\n rm serversetup\r\n rm -f run.bat\r\n rm -f run.sh\r\n}\r\n\r\n# run installation steps\r\ninstall_required\r\nget_modpack_id\r\nrun_installer\r\nmove_startup_files\r\ninstaller_cleanup\r\n\r\necho \"Finished installing FTB modpack\"",
|
||||
"container": "openjdk:8-jdk-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -77,4 +77,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-08-13T19:49:14+02:00",
|
||||
"exported_at": "2023-05-17T23:20:29+01:00",
|
||||
"name": "Mohist",
|
||||
"author": "alex.chang-lam@protonmail.com",
|
||||
"description": "Spigot fork with performance optimizations.",
|
||||
@@ -14,24 +14,24 @@
|
||||
"pid_limit"
|
||||
],
|
||||
"docker_images": {
|
||||
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
|
||||
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
|
||||
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
|
||||
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
|
||||
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
|
||||
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
|
||||
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
|
||||
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
|
||||
"startup": "java -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}} pause",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Mohist Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y install curl\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${BUILD_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_VERSION}\/download\r\nelse\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/latest\/download\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\necho -e \"Downloading build version ${BUILD_VERSION}\"\r\n\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/${SERVER_JARFILE} ]; then\r\n echo \"!!! Error downloading build version ${BUILD_VERSION} !!!\"\r\n exit\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# Mohist Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${BUILD_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_VERSION}\/download\r\nelse\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_TYPE}\/download\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\necho -e \"Downloading build version ${BUILD_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"Download link is valid.\"\r\n else\r\n echo -e \"Link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o server.jar -sS ${DOWNLOAD_LINK}\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/server.jar ]; then\r\n echo \"!!! Error downloading build version ${BUILD_VERSION} !!!\"\r\n exit\r\nfi",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -43,18 +43,16 @@
|
||||
"default_value": "server.jar",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Minecraft Version",
|
||||
"description": "The version of Minecraft to download.",
|
||||
"env_variable": "MC_VERSION",
|
||||
"default_value": "1.19.4",
|
||||
"default_value": "1.16.5",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Build Number",
|
||||
@@ -63,8 +61,16 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Build Type",
|
||||
"description": "The type of server jar to download from Mohist.\r\n\r\nValid types are \"recommended\" and \"latest\".",
|
||||
"env_variable": "BUILD_TYPE",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -4,20 +4,19 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-25T16:40:11+01:00",
|
||||
"exported_at": "2023-07-08T19:05:09+03:00",
|
||||
"name": "Quilt",
|
||||
"author": "diedyesterdaywashere@gmail.com",
|
||||
"description": "The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with an open ecosystem.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
|
||||
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
|
||||
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
|
||||
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
|
||||
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
|
||||
"Java 8: 1.14 - 1.16.5": "ghcr.io\/pterodactyl\/yolks:java_8",
|
||||
"Java 16: 1.17 - 1.17.1": "ghcr.io\/pterodactyl\/yolks:java_16",
|
||||
"Java 17: 1.18 - Newest": "ghcr.io\/pterodactyl\/yolks:java_17",
|
||||
"Java 18: Newest": "ghcr.io\/pterodactyl\/yolks:java_18"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}} nogui",
|
||||
"startup": "java -jar {{SERVER_JARFILE}} nogui -Xms128M -XX:MaxRAMPercentage=95.0",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||
@@ -34,9 +33,9 @@
|
||||
"variables": [
|
||||
{
|
||||
"name": "Minecraft Version",
|
||||
"description": "Version of Minecraft that will be installed. You can only choose the exact version number, for example \"1.20.2\", \"latest\" won't work!",
|
||||
"description": "Version of Minecraft that will be installed. You can only choose the exact version number, for example \"1.19.2\", \"latest\" won't work!",
|
||||
"env_variable": "MC_VERSION",
|
||||
"default_value": "1.20.2",
|
||||
"default_value": "1.19.2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|between:3,15",
|
||||
@@ -53,4 +52,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-16T17:37:38+00:00",
|
||||
"exported_at": "2023-05-17T23:20:29+01:00",
|
||||
"name": "SpongeVanilla",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "SpongeVanilla is the implementation of the Sponge API on top of Vanilla Minecraft.",
|
||||
@@ -13,12 +13,12 @@
|
||||
"java_version",
|
||||
"pid_limit"
|
||||
],
|
||||
"docker_images": {
|
||||
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
|
||||
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
|
||||
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
|
||||
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/pterodactyl\/yolks:java_17",
|
||||
"ghcr.io\/pterodactyl\/yolks:java_16",
|
||||
"ghcr.io\/pterodactyl\/yolks:java_11",
|
||||
"ghcr.io\/pterodactyl\/yolks:java_8"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||
"config": {
|
||||
@@ -42,8 +42,7 @@
|
||||
"default_value": "recommended",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Server Jar File",
|
||||
@@ -52,8 +51,7 @@
|
||||
"default_value": "server.jar",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
|
||||
"field_type": "text"
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-08-05T03:24:56+01:00",
|
||||
"exported_at": "2023-04-03T16:55:25+02:00",
|
||||
"name": "Velocity",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Velocity is a Minecraft server proxy with unparalleled server support, scalability, and flexibility.",
|
||||
@@ -37,7 +37,7 @@
|
||||
"variables": [
|
||||
{
|
||||
"name": "Velocity Version",
|
||||
"description": "The Velocity Proxy version to download.\r\n\r\nSet to 'latest ' the download the last stable build.",
|
||||
"description": "The Velocity Proxy version to download.\r\n\r\nSet to 'latest ' the download the last stable build.\r\nSet to '1.1.x-SNAPSHOT' to get the latest dev build.",
|
||||
"env_variable": "VELOCITY_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# Config version. Do not change this
|
||||
config-version = "2.6"
|
||||
config-version = "2.5"
|
||||
|
||||
# What port should the proxy be bound to? By default, we'll bind to all addresses on port 25577.
|
||||
bind = "0.0.0.0:25577"
|
||||
|
||||
# What should be the MOTD? This gets displayed when the player adds your server to
|
||||
# their server list. Only MiniMessage format is accepted.
|
||||
motd = "<#09add3>A Velocity Server"
|
||||
# their server list. Legacy color codes and JSON are accepted.
|
||||
motd = "	add3A Velocity Server"
|
||||
|
||||
# What should we display for the maximum number of players? (Velocity does not support a cap
|
||||
# on the number of players online.)
|
||||
@@ -34,7 +34,7 @@ prevent-client-proxy-connections = false
|
||||
# unable to implement network level firewalling (on a shared host).
|
||||
# - "modern": Forward player IPs and UUIDs as part of the login process using
|
||||
# Velocity's native forwarding. Only applicable for Minecraft 1.13 or higher.
|
||||
player-info-forwarding-mode = "NONE"
|
||||
player-info-forwarding-mode = "legacy"
|
||||
|
||||
# If you are using modern or BungeeGuard IP forwarding, configure a file that contains a unique secret here.
|
||||
# The file is expected to be UTF-8 encoded and not empty.
|
||||
@@ -42,7 +42,7 @@ forwarding-secret-file = "forwarding.secret"
|
||||
|
||||
# Announce whether or not your server supports Forge. If you run a modded server, we
|
||||
# suggest turning this on.
|
||||
#
|
||||
#
|
||||
# If your network runs one modpack consistently, consider using ping-passthrough = "mods"
|
||||
# instead for a nicer display in the server list.
|
||||
announce-forge = false
|
||||
@@ -72,25 +72,25 @@ enable-player-address-logging = true
|
||||
[servers]
|
||||
# Configure your servers here. Each key represents the server's name, and the value
|
||||
# represents the IP address of the server to connect to.
|
||||
lobby = "172.18.0.1:30066"
|
||||
factions = "172.18.0.1:30067"
|
||||
minigames = "172.18.0.1:30068"
|
||||
lobby = "127.0.0.1:30066"
|
||||
factions = "127.0.0.1:30067"
|
||||
minigames = "127.0.0.1:30068"
|
||||
|
||||
# In what order we should try servers when a player logs in or is kicked from a server.
|
||||
try = [
|
||||
"lobby"
|
||||
"lobby"
|
||||
]
|
||||
|
||||
[forced-hosts]
|
||||
# Configure your forced hosts here.
|
||||
"lobby.example.com" = [
|
||||
"lobby"
|
||||
"lobby"
|
||||
]
|
||||
"factions.example.com" = [
|
||||
"factions"
|
||||
"factions"
|
||||
]
|
||||
"minigames.example.com" = [
|
||||
"minigames"
|
||||
"minigames"
|
||||
]
|
||||
|
||||
[advanced]
|
||||
@@ -152,4 +152,4 @@ port = 25577
|
||||
map = "Velocity"
|
||||
|
||||
# Whether plugins should be shown in query response by default or not
|
||||
show-plugins = false
|
||||
show-plugins = false
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-29T18:52:14+01:00",
|
||||
"exported_at": "2023-02-26T11:59:47+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}} --gameid {{DEFAULT_GAME}} --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}} --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"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
Minimum required memory to run the server.
|
||||
2GB is recommended. 3GB+ is preferred
|
||||
|
||||
## Minimum Sorage warning
|
||||
## Minumim Sorage warning
|
||||
|
||||
Minimum required storage to run the server.
|
||||
Example: 100MiB is recommended. 2GiB+ is preferred
|
||||
|
||||
@@ -4,13 +4,13 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-03T09:40:56+01:00",
|
||||
"exported_at": "2023-07-03T16:22:48+02: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 8": "ghcr.io\/parkervcp\/yolks:dotnet_8"
|
||||
"Dotnet 7": "ghcr.io\/parkervcp\/yolks:dotnet_7"
|
||||
},
|
||||
"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": "^C"
|
||||
"stop": "^SIGKILL"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"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",
|
||||
"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",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -6,10 +6,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[7 Days To Die](7_days_to_die)
|
||||
|
||||
## ARK: Survival Ascended
|
||||
|
||||
[ARK: Survival Ascended](ark_survival_ascended)
|
||||
|
||||
## ARK: Survival Evolved
|
||||
|
||||
[ARK: Survival Evolved](ark_survival_evolved)
|
||||
@@ -24,10 +20,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Assetto Corsa](assetto_corsa)
|
||||
|
||||
## Astro Colony
|
||||
|
||||
[Astro Colony](astro_colony)
|
||||
|
||||
## Avorion
|
||||
|
||||
[Avorion](avorion)
|
||||
@@ -48,10 +40,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[citadel](citadel)
|
||||
|
||||
## Colony Survival
|
||||
|
||||
[Colony Survival](colony_survival)
|
||||
|
||||
## Conan Exiles
|
||||
|
||||
[Conan Exiles](conan_exiles)
|
||||
@@ -106,10 +94,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Holdfast: Nations At War](holdfast)
|
||||
|
||||
## HumanitZ
|
||||
|
||||
[HumanitZ](humanitz)
|
||||
|
||||
## Hurtworld
|
||||
|
||||
[Hurtworld](hurtworld)
|
||||
@@ -138,9 +122,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Left 4 Dead](left4dead_2)
|
||||
|
||||
## Longvinter
|
||||
[Longvinter](longvinter)
|
||||
|
||||
## Modiverse
|
||||
|
||||
[Modiverse](modiverse)
|
||||
@@ -149,10 +130,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Mordhau](mordhau)
|
||||
|
||||
## Mount & Blade II: Bannerlord
|
||||
|
||||
[Mount & Blade II: Bannerlord](mount_blade_II_bannerlord)
|
||||
|
||||
## Neos VR
|
||||
[Neos VR](neosvr)
|
||||
|
||||
@@ -200,9 +177,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
[Quake Live](quake_live)
|
||||
|
||||
## Resonite
|
||||
[Resonite](resonite)
|
||||
|
||||
## Rising World
|
||||
|
||||
* [Rising World](rising_world)
|
||||
@@ -228,6 +202,7 @@ This is a collection of servers that use SteamCMD to install.
|
||||
* [SCP: Secret Laboratory](scpsl)
|
||||
* [dedicated](scpsl/dedicated)
|
||||
* [exiled](scpsl/exiled)
|
||||
* [multiadmin](scpsl/multiadmin)
|
||||
|
||||
## Solace Crafting
|
||||
|
||||
@@ -258,8 +233,6 @@ This is a collection of servers that use SteamCMD to install.
|
||||
## Stationeers
|
||||
|
||||
[Stationeers](stationeers)
|
||||
* [Stationeers Vanilla](stationeers/stationeers_vanilla)
|
||||
* [Stationeers BepInEx](stationeers/stationeers_bepinex)
|
||||
|
||||
## Stormworks: Build and Rescue
|
||||
|
||||
@@ -320,6 +293,3 @@ 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/)
|
||||
@@ -1,108 +0,0 @@
|
||||
# ARK: Survival Ascended
|
||||
|
||||
Steam Description :
|
||||
ARK is reimagined from the ground-up into the next-generation of video game technology with Unreal Engine 5! Form a tribe, tame & breed hundreds of unique dinosaurs and primeval creatures, explore, craft, build, and fight your way to the top of the food-chain. Your new world awaits!
|
||||
|
||||
### Authors / Contributors
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/dagbs">
|
||||
<img src="https://avatars.githubusercontent.com/u/133905860" width="50px;" alt=""/><br /><sub><b>Blood Shot</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=dagbs" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=dagbs" title="Maintains">🔨</a>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gOOvER">
|
||||
<img src="https://avatars.githubusercontent.com/u/116325" width="50px;" alt=""/><br /><sub><b>gOOvER</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=gOOvER" title="Codes">💻</a>
|
||||
</td>
|
||||
<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/commits?author=hackles" title="Codes">💻</a>
|
||||
</td>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Log1x">
|
||||
<img src="https://avatars.githubusercontent.com/u/5745907" width="50px;" alt=""/><br /><sub><b>Brandon</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Log1x" title="Codes">💻</a>
|
||||
</td>
|
||||
<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/commits?author=Ballaual" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/MachinegunMarty">
|
||||
<img src="https://avatars.githubusercontent.com/u/20025119" width="50px;" alt=""/><br /><sub><b>MachinegunMartyf</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=MachinegunMarty" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/That411Guy">
|
||||
<img src="https://avatars.githubusercontent.com/u/100328348" width="50px;" alt=""/><br /><sub><b>That411Guy</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=That411Guy" title="Codes">💻</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
---
|
||||
## Troubleshooting
|
||||
|
||||
1) Try starting the server with no mods on a fresh install.
|
||||
|
||||
2) If there are crash logs, they will be available in the Files at `ShooterGame/Saved/Crashes/UECC-Windows-*/CrashContext.runtime-xml`
|
||||
|
||||
### Crash Identifiers
|
||||
|
||||
Crashes will either stop the server or display 0-5% CPU usage.
|
||||
The number is in reference to RAM/Memory usage.
|
||||
|
||||
1) Server crashing around 500MB is probably either a config issue or a corrupted install.
|
||||
|
||||
2) Server crashing around 750MB is probably commandline issue.
|
||||
|
||||
3) Server crashing around 1GB is probably either a MOD conflict or corrupted SavedArks files.
|
||||
|
||||
|
||||
## Known Issues
|
||||
|
||||
1) Proxmox VM(s): You'll need to change your Processor Type to `Host` (Default: kvm64)
|
||||
|
||||
2) ARK's wiki heavily reference A:SE and not all features are available in A:SA.
|
||||
|
||||
## Recommended server settings
|
||||
|
||||
### Minimum RAM
|
||||
|
||||
This server requires about 11GB of RAM to run with no players on a default map.
|
||||
|
||||
See the following - <https://ark.wiki.gg/wiki/Dedicated_server_setup#RAM>
|
||||
|
||||
## Server Ports
|
||||
|
||||
Note: The Peer port is not an option that can be set and will always be +1 from the Game Port!
|
||||
|
||||
| Port | Default |
|
||||
| --------------- | ------- |
|
||||
| Game | 7777 |
|
||||
| Peer (Game+1) | 7778 |
|
||||
| Query | 27015 |
|
||||
| RCON (optional) | 37015 |
|
||||
@@ -1,174 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-12T11:57:56+01:00",
|
||||
"name": "ARK: Survival Ascended",
|
||||
"author": "blood@darkartsgaming.com",
|
||||
"description": "ARK is reimagined from the ground-up into the next-generation of video game technology with Unreal Engine 5! Form a tribe, tame & breed hundreds of unique dinosaurs and primeval creatures, explore, craft, build, and fight your way to the top of the food-chain. Your new world awaits!",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"Proton": "ghcr.io\/parkervcp\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "rmv() { echo \"stopping server\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} KeepAlive && rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} DoExit && wait ${ARK_PID}; echo \"Server Closed\"; exit; }; trap rmv 15 2; proton run .\/ShooterGame\/Binaries\/Win64\/ArkAscendedServer.exe {{SERVER_MAP}}?listen?MaxPlayers={{MAX_PLAYERS}}?SessionName=\\\"{{SESSION_NAME}}\\\"?Port={{SERVER_PORT}}?QueryPort={{QUERY_PORT}}?RCONPort={{RCON_PORT}}?RCONEnabled=True$( [ \"$SERVER_PVE\" == \"0\" ] || printf %s '?ServerPVE=True' )?ServerPassword=\"{{SERVER_PASSWORD}}\"{{ARGS_PARAMS}}?ServerAdminPassword=\"{{ARK_ADMIN_PASSWORD}}\" -WinLiveMaxPlayers={{MAX_PLAYERS}} -oldconsole -servergamelog$( [ -z \"$MOD_IDS\" ] || printf %s ' -mods=' $MOD_IDS )$( [ \"$BATTLE_EYE\" == \"1\" ] || printf %s ' -NoBattlEye' ) -Port={{SERVER_PORT}} {{ARGS_FLAGS}} & ARK_PID=$! ; tail -c0 -F .\/ShooterGame\/Saved\/Logs\/ShooterGame.log --pid=$ARK_PID & until echo \"waiting for rcon connection...\"; (rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD})<&0 & wait $!; do sleep 5; done",
|
||||
"config": {
|
||||
"files": "{\r\n \"ShooterGame\/Saved\/Config\/WindowsServer\/GameUserSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"ServerAdminPassword=\": \"ServerAdminPassword={{server.build.env.ARK_ADMIN_PASSWORD}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\"\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## cleanup movies?\r\nrm -rf \/mnt\/server\/ShooterGame\/Content\/Movies\r\n\r\n## touch log file\r\nmkdir -p \/mnt\/server\/ShooterGame\/Saved\/Logs\r\necho \"--fresh install--\" >> \/mnt\/server\/ShooterGame\/Saved\/Logs\/ShooterGame.log\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 Map",
|
||||
"description": "Available Maps: TheIsland_WP",
|
||||
"env_variable": "SERVER_MAP",
|
||||
"default_value": "TheIsland_WP",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "\"Unofficial\" dedicated server name",
|
||||
"env_variable": "SESSION_NAME",
|
||||
"default_value": "A Pterodactyl Hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:256",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "This is to enable auto-updating for servers on restart\/re-install.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Battle Eye",
|
||||
"description": "Enable BattleEye \/ Anti-Cheat",
|
||||
"env_variable": "BATTLE_EYE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "app id required for server download\/updates. end users should not see this.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2430930",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|in:2430930",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Arguments (PARAMS)",
|
||||
"description": "params (?ServerPassword=...) are supported here but params need to be touching. (i.e): ?ServerPassword=MyP4SsWoRd?ServerAdminPassword=sUpRp4ssW0rd",
|
||||
"env_variable": "ARGS_PARAMS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:1024",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Specifies the maximum amount of players able to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "70",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Admin Password",
|
||||
"description": "Used for RCON (remote and in-browser console) as well as in-game EnableCheats",
|
||||
"env_variable": "ARK_ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "ARK query port used by steam server browser and ark client server browser.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|min:1025|max:65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Arguments (FLAGS)",
|
||||
"description": "flags (-UseBattleEye) are supported here without them touching. (i.e): -crossplay -mods=1234,1235,1236",
|
||||
"env_variable": "ARGS_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:1024",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server PvE",
|
||||
"description": "ON = Player-vs-Environment (PvE), OFF = Player-vs-Player (PvP); Default is ON",
|
||||
"env_variable": "SERVER_PVE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "required password to enter the server, leave blank for public server",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "RCON Port",
|
||||
"description": "required for console commands and proper server shutdown (saveworld\/exit), doesn't have to be open to the public",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "37015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|min:1025|max:65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MOD IDs",
|
||||
"description": "https:\/\/www.curseforge.com\/ark-survival-ascended ; ProjectID is is the MOD_ID on the right-side of the mod-view page ; leave blank to disable mods ; separate only by comma ( , ) without spaces! (i.e.) 1234,1235,1236",
|
||||
"env_variable": "MOD_IDS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:512",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -75,14 +75,14 @@ ___
|
||||
|
||||
### Installation Requirements
|
||||
|
||||
- A valid, **real** Steam account, with **Steam Guard turned off**, is required to install the server (default "anonymous" login cannot be used). This account *does not* need to own Arma 3. For security reasons it is [recommended by Valve](https://developer.valvesoftware.com/wiki/SteamCMD#With_a_Steam_account) that you create a new Steam account just for your dedicated servers.
|
||||
- A valid, **real** Steam account, with **Steam Guard turned off**, is required to install the server (default "anonymous" login cannot be used). For security reasons it is [recommended by Valve](https://developer.valvesoftware.com/wiki/SteamCMD#With_a_Steam_account) that you create a new Steam account just for your dedicated servers. This account *does not* need to own Arma 3.
|
||||
- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. However, this is optional functionality, and mods can be manually uploaded to the server if desired. Hosts may feel free to change the "Disable Mod Downloads/Updates" variable to `1` if they would not like to offer it's functionality to clients.
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
Default server ports are listed below, but the Main port can be any port. There are three more ports after the Main port that are relative to the Main port (For example: The BattlEye port is always 4 ports higher than the Main port). **All four ports are required for normal server behavior.** It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports separate from each other.
|
||||
Default server ports are listed below, but the Main port can be any port. There are three more ports after the Main port are relative to the Main port (For example: The BattlEye port is always 4 ports higher than the main port). **All four ports are required for normal server behavior.** It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports separate from each other.
|
||||
|
||||
| Port | Default (UDP) |
|
||||
|---------|---------|
|
||||
@@ -105,26 +105,6 @@ ___
|
||||
|
||||
___
|
||||
|
||||
### RCON
|
||||
|
||||
External/Compatible RCON clients can be used to connect to the server if the following requirements are met:
|
||||
|
||||
1. An extra port is forwarded and assigned to the server in Pterodactyl. It is recommended to use the +5 port from the Main port (ie. if Main port is 2032, RCON port would be 2037). The +3 port **cannot** be used as it is reserved.
|
||||
2. `server.cfg` has `BattlEye = 1;`. Unfortunately, RCON cannot be used with BattlEye off.
|
||||
3. A `beserver_x64.cfg` file (or `beserver.cfg` if using 32-bit) is added to `/home/container/battleye/launch` with the following content:
|
||||
```
|
||||
RConPassword your_rcon_password
|
||||
RConPort your_rcon_port
|
||||
```
|
||||
|
||||
___
|
||||
|
||||
### Mounting Workshop Mods
|
||||
|
||||
Server hosts may wish to save space and avoid download issues by mounting large and/or common mods. Unfortunately, Arma only allows mods to be loaded from directories down-stream of the server binary (ie. `/home/container/*`. Docker limitations disallow Pterodactyl from mounting mounts into `/home/container/*`. The only way around this that I can think of is to create a symlink with a destination that is outside of this location. If anyone knows a way around this, please open an Issue to let us know.
|
||||
|
||||
___
|
||||
|
||||
### Recommended Egg Modifications
|
||||
|
||||
The following are highly recommended variable modifications you can make to the egg after importing it to your panel. While viewing this egg, simply go to the "Variables" tab of the egg editor to make these changes.
|
||||
|
||||
@@ -1,15 +0,0 @@
|
||||
# [Astro Colony](https://astrocolony.com/)
|
||||
|
||||
Explore endless Universe and create the most efficient constellation of colonies. Build conveyor systems to automate production. Take care of Astronauts and their needs! Establish new colonies as part of intergalactic simulation.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> It’s possible to change the query port but changing the game port from **7777** will result in not being able to join the server!
|
||||
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| Game | 7777 |
|
||||
| Query | 27015 |
|
||||
@@ -1,174 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-06T17:38:07+01:00",
|
||||
"name": "Astro Colony",
|
||||
"author": "limmek@swedon.se",
|
||||
"description": "Explore endless Universe and create the most efficient constellation of colonies. Build conveyor systems to automate production. Take care of Astronauts and their needs! Establish new colonies as part of intergalactic simulation.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"wine": "ghcr.io\/parkervcp\/yolks:wine_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "wine .\/AstroColony\/Binaries\/Win64\/AstroColonyServer.exe -log -SteamServerName=\\\"${SERVER_NAME}\\\" -QueryPort=${SERVER_QUERY_PORT}",
|
||||
"config": {
|
||||
"files": "{\r\n \"AstroColony\/Saved\/Config\/WindowsServer\/ServerSettings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/AstroColony.EHServerSubsystem].ServerPassword\": \"{{env.SERVER_PASSWORD}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].MapName\": \"{{env.SERVER_MAP}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].MaxPlayers\": \"{{env.SERVER_MAXPLAYERS}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].SavegameName\": \"{{env.SERVER_GAMESAVE}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].ShouldLoadLatestSavegame\": \"{{env.SERVER_LOADLATESTSAVEGAME}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].AdminList\": \"{{env.SERVER_ADMINS}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].SharedTechnologies\": \"{{env.SERVER_SHAREDTECHNOLOGIES}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].OxygenConsumption\": \"{{env.SERVER_OXYGENCONSUMPTION}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].FreeConstruction\": \"{{env.SERVER_FREECONSTRUCTION}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"server create success\"\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# set up settings\r\ncreate_server_settings_ini() {\r\n cat > ServerSettings.ini <<EOF\r\n[\/Script\/AstroColony.EHServerSubsystem]\r\nServerPassword=${SERVER_PASSWORD}\r\nMapName=${SERVER_MAP}\r\nMaxPlayers=${SERVER_MAXPLAYERS}\r\nSavegameName=${SERVER_GAMESAVE}\r\nShouldLoadLatestSavegame=${SERVER_LOADLATESTSAVEGAME}\r\nAdminList=${SERVER_ADMINS}\r\nSharedTechnologies=${SERVER_SHAREDTECHNOLOGIES}\r\nOxygenConsumption=${SERVER_OXYGENCONSUMPTION}\r\nFreeConstruction=${SERVER_FREECONSTRUCTION}\r\nEOF\r\n}\r\n\r\nFILE=\/mnt\/server\/AstroColony\/Saved\/Config\/WindowsServer\/ServerSettings.ini\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exists, skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n mkdir -p \/mnt\/server\/AstroColony\/Saved\/Config\/WindowsServer\/\r\n cd \/mnt\/server\/AstroColony\/Saved\/Config\/WindowsServer\/\r\n create_server_settings_ini\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "steam app id found here - https:\\\/\\\/developer.valvesoftware.com\\\/wiki\\\/Dedicated_Servers_List.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2662210",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2662210",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Change the server name.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Astro Colony Dedicated Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Query Port",
|
||||
"description": "UDP port for Steam server list features.",
|
||||
"env_variable": "SERVER_QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Set the game password. Leave empty to make server public.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Name",
|
||||
"description": "Set the map seed.",
|
||||
"env_variable": "SERVER_MAP",
|
||||
"default_value": "SomeMapName",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Amount of max allowed players.",
|
||||
"env_variable": "SERVER_MAXPLAYERS",
|
||||
"default_value": "5",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|between:1,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Savegame Name",
|
||||
"description": "Set the name of the save file.",
|
||||
"env_variable": "SERVER_GAMESAVE",
|
||||
"default_value": "SomeSavegameName",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin List",
|
||||
"description": "List of server administrators only (steamID64s) allowed, separatet by comma.",
|
||||
"env_variable": "SERVER_ADMINS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Should Load Latest Savegame",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_LOADLATESTSAVEGAME",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Shared Technologies",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_SHAREDTECHNOLOGIES",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Oxygen Consumption",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_OXYGENCONSUMPTION",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Free Construction",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_FREECONSTRUCTION",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install Flag",
|
||||
"description": "Required for windows game server installs",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Disabling or enabling automated updates on boot",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
# Colony Survival
|
||||
|
||||
## [Documentation](https://colonysurvival.fandom.com/wiki/Dedicated_Server)
|
||||
|
||||
|
||||
## 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* | *Needed for mods but the egg does not support it* |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27004 |
|
||||
| Steam | 27005 |
|
||||
@@ -1,92 +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-18T17:27:56+01:00",
|
||||
"name": "Colony Survival",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "Colony Survival is a unique first-person strategy game developed by a two-man team. Build your own colony in a voxel world. Command guards, farmers, miners and other colonists. Defend your colony against the horde of monsters that attacks every night!",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"SteamCMD": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/colonyserver.x86_64 -batchmode -nographics +server.world \"{{WORLD_NAME}}\" +server.networktype SteamOnline +server.name \"{{SERVER_NAME}}\" +server.maxplayers {{MAX_PLAYERS}} +server.gameport {{SERVER_PORT}} +server.ip 0.0.0.0 +server.steamport {{SERVER_STEAMPORT}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Starting networking type\"\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## 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} 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## 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": "748090",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:748090",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto update",
|
||||
"description": "Auto update the server on restart",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World name",
|
||||
"description": "",
|
||||
"env_variable": "WORLD_NAME",
|
||||
"default_value": "Pterodactyl",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Maximum Players",
|
||||
"description": "",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server steamport",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_STEAMPORT",
|
||||
"default_value": "27005",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
+6
-26
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:44:48+01:00",
|
||||
"exported_at": "2023-01-27T23:04:00+01:00",
|
||||
"name": "Custom ReHLDS Engine Game",
|
||||
"author": "shigbeard@ndlee.com",
|
||||
"description": "This option allows modifying the startup arguments and other details to run a custom HLDS based game on the panel, substituting the official Valve engine binaries with the ReHLDS binaries.",
|
||||
@@ -24,8 +24,8 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# SRCDS Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\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\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_set_config 90 mod ${HLDS_GAME} $( [[ \"${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 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# Github Release Grabber script\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/dreamstalker\/rehlds\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/dreamstalker\/rehlds\/releases\")\r\nMATCH=\"rehlds-bin\"\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 -Ei ${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\ncd \/tmp\r\ncurl -sSL -o rehlds-bin.zip ${DOWNLOAD_URL}\r\nunzip -q -o rehlds-bin.zip\r\n\r\ncp -r \/tmp\/bin\/linux32\/* \/mnt\/server\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# SRCDS Base 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 jq unzip wget\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd\r\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\nif [ \"${STEAM_USER}\" == \"\" ] || [ \"${STEAM_PASS}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +force_install_dir \"\/mnt\/server\" +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_set_config 90 mod ${HLDS_GAME} +app_update ${SRCDS_APPID} validate +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n# Github Release Grabber script\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/dreamstalker\/rehlds\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/dreamstalker\/rehlds\/releases\")\r\nMATCH=\"rehlds-bin\"\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 -Ei ${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\ncd \/tmp\r\nwget -N $DOWNLOAD_URL -O rehlds-bin.zip\r\nunzip -q -o rehlds-bin.zip\r\n\r\ncp -r \/tmp\/bin\/linux32\/* \/mnt\/server\r\ncd \/mnt\/server\r\necho \"install complete\"",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -35,9 +35,9 @@
|
||||
"description": "The ID corresponding to the game to download and run using HLDS.\r\n\r\nThe HLDS server ID is 90. This should not be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "90",
|
||||
"user_viewable": false,
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:90",
|
||||
"rules": "required|numeric|digits_between:1,6",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
@@ -119,26 +119,6 @@
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta branch",
|
||||
"description": "Leave empty for the public branch, for the legacy version select steam_legacy.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|in:,steam_legacy",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto update",
|
||||
"description": "Auto update on restart",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:44:10+01:00",
|
||||
"exported_at": "2023-07-17T10:38:39-04:00",
|
||||
"name": "Custom HLDS Engine Game",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "This option allows modifying the startup arguments and other details to run a custom HLDS based game on the panel.",
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# SRCDS Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\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\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_set_config 90 mod ${HLDS_GAME} $( [[ \"${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 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## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n# SRCDS Base Installation Script\r\n\r\nif [ \"${STEAM_USER}\" == \"\" ] || [ \"${STEAM_PASS}\" == \"\" ]; then\r\n echo -e \"Steam user is not set, 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\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd\r\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 +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} +app_set_config 90 mod ${HLDS_GAME} +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -35,9 +35,9 @@
|
||||
"description": "The ID corresponding to the game to download and run using HLDS.\r\n\r\nThe HLDS server ID is 90. This should not be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "90",
|
||||
"user_viewable": false,
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:90",
|
||||
"rules": "required|numeric|digits_between:1,6",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
@@ -99,26 +99,6 @@
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta branch",
|
||||
"description": "Leave empty for the public branch, for the legacy version select steam_legacy.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|in:,steam_legacy",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto update",
|
||||
"description": "Auto update on restart",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
# 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 can’t 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.
|
||||
@@ -1,472 +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-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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,28 +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-11-13T18:26:59+01:00",
|
||||
"exported_at": "2021-11-26T14:52:26+01:00",
|
||||
"name": "Insurgency: Sandstorm",
|
||||
"author": "brycea@terrahost.cloud",
|
||||
"description": "Insurgency: Sandstorm is a team-based, tactical FPS based on lethal close quarters combat and objective-oriented multiplayer gameplay. Experience the intensity of modern combat where skill is rewarded, and teamwork wins the fight.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:ubuntu": "ghcr.io\/parkervcp\/steamcmd:ubuntu"
|
||||
},
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/games:source"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "\/home\/container\/Insurgency\/Binaries\/Linux\/InsurgencyServer-Linux-Shipping {{MAP_NAME}}?Scenario={{SCENARIO}}?MaxPlayers={{MAX_PLAYERS}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -log -hostname=\"{{HOSTNAME}}\" -GSLTToken={{GSLTT}} -GameStats -GameStatsToken={{GST}} {{ADDSWITCHES}}",
|
||||
"startup": "\/home\/container\/Insurgency\/Binaries\/Linux\/InsurgencyServer-Linux-Shipping {{MAP_NAME}}?Scenario={{SCENARIO}}?MaxPlayers={{MAX_PLAYERS}} -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -log -hostname=\"{{HOSTNAME}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"LogGameState: Match State Changed from LoadingAssets to WaitingToStart\"\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \"LogGameState: Match State Changed from LoadingAssets to WaitingToStart\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\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\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\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\nchmod +x \/mnt\/server\/Insurgency\/Binaries\/Linux\/InsurgencyServer-Linux-Shipping\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"script": "apt -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\r\nchmod +x \/mnt\/server\/Insurgency\/Binaries\/Linux\/InsurgencyServer-Linux-Shipping",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -35,8 +37,7 @@
|
||||
"default_value": "581330",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric",
|
||||
"field_type": "text"
|
||||
"rules": "nullable|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
@@ -45,8 +46,7 @@
|
||||
"default_value": "My Insurgency Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
@@ -55,8 +55,7 @@
|
||||
"default_value": "27131",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
@@ -65,8 +64,7 @@
|
||||
"default_value": "28",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
"rules": "required|numeric"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
@@ -75,8 +73,7 @@
|
||||
"default_value": "Canyon",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Scenario Name",
|
||||
@@ -85,38 +82,7 @@
|
||||
"default_value": "Scenario_Crossing_Checkpoint_Insurgents",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Switches",
|
||||
"description": "Please see this guide for available switches https:\/\/mod.io\/g\/insurgencysandstorm\/r\/server-admin-guide",
|
||||
"env_variable": "ADDSWITCHES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Stats Token",
|
||||
"description": "Generate your token here https:\/\/gamestats.sandstorm.game\/. This is required to have your server show up in the server browser.",
|
||||
"env_variable": "GST",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "GSLT Authentication",
|
||||
"description": "Generate your token here https:\/\/steamcommunity.com\/dev\/managegameservers. This is required to have your server show up in the server browser.",
|
||||
"env_variable": "GSLTT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
@@ -125,8 +91,7 @@
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,36 +0,0 @@
|
||||
# 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.
|
||||
@@ -1,164 +0,0 @@
|
||||
{
|
||||
"_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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,57 +0,0 @@
|
||||
# Mount & Blade II: Bannerlord
|
||||
|
||||
## [Documentation](https://moddocs.bannerlord.com/multiplayer/hosting_server/)
|
||||
|
||||
|
||||
## Installation/System Requirements
|
||||
<!--Make changes to reflect the server minimum/recommended hardware specs-->
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | *AMD64 only* | *-* |
|
||||
| RAM | *4 GiB* | *8 GiB* |
|
||||
| Storage | *5 GiB* | *8 GiB* |
|
||||
| Network | *60 packets to each player and each packet is less than 1.5 kilobytes* | *-* |
|
||||
| Game Ownership | *Needed for the game token* | *-* |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 7210 (UDP) |
|
||||
|
||||
## 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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
```
|
||||
-72
@@ -1,72 +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-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": {
|
||||
"Dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"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"
|
||||
},
|
||||
"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\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": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1863440",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1863440",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto update",
|
||||
"description": "Auto update the server on restart.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auth token",
|
||||
"description": "See: https:\/\/www.youtube.com\/watch?v=9Hvuz12Bfzg",
|
||||
"env_variable": "AUTH_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -9,7 +9,7 @@ This is a multiplayer cooperative open world construction survival sandbox game,
|
||||
Minimum required memory to run the server.
|
||||
2GB is recommended. 4GB+ is preferred
|
||||
|
||||
## Minimum Sorage warning
|
||||
## Minumim Sorage warning
|
||||
|
||||
Minimum required storage to run the server.
|
||||
3GB is recommended.
|
||||
@@ -24,4 +24,4 @@ Ports required to run the server in a table format.
|
||||
| Game | 5761 |
|
||||
| Query | 27015 |
|
||||
|
||||
Both TCP and UDP
|
||||
Both TCP and UDP
|
||||
@@ -2,12 +2,6 @@
|
||||
|
||||
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,48 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/Yellow-Dog-Man/JSONSchemas/main/schemas/HeadlessConfig.schema.json",
|
||||
"universeId": null,
|
||||
"tickRate": 60.0,
|
||||
"maxConcurrentAssetTransfers": 4,
|
||||
"usernameOverride": null,
|
||||
"loginCredential": "",
|
||||
"loginPassword": "",
|
||||
"startWorlds": [{
|
||||
"isEnabled": true,
|
||||
"saveAsOwner": null,
|
||||
"autoInviteUsernames": null,
|
||||
"parentSessionIds": null,
|
||||
"autoInviteMessage": null,
|
||||
"autoRecover": true,
|
||||
"idleRestartInterval": -1.0,
|
||||
"forcedRestartInterval": -1.0,
|
||||
"saveOnExit": false,
|
||||
"autosaveInterval": -1.0,
|
||||
"autoSleep": true,
|
||||
"sessionName": null,
|
||||
"customSessionId": null,
|
||||
"description": null,
|
||||
"maxUsers": 32,
|
||||
"accessLevel": "Anyone",
|
||||
"hideFromPublicListing": null,
|
||||
"tags": null,
|
||||
"mobileFriendly": false,
|
||||
"loadWorldURL": null,
|
||||
"loadWorldPresetName": "SpaceWorld",
|
||||
"overrideCorrespondingWorldId": null,
|
||||
"forcePort": null,
|
||||
"keepOriginalRoles": false,
|
||||
"defaultUserRoles": null,
|
||||
"roleCloudVariable": null,
|
||||
"allowUserCloudVariable": null,
|
||||
"denyUserCloudVariable": null,
|
||||
"requiredUserJoinCloudVariable": null,
|
||||
"requiredUserJoinCloudVariableDenyMessage": null,
|
||||
"awayKickMinutes": -1.0
|
||||
}],
|
||||
"dataFolder": null,
|
||||
"cacheFolder": null,
|
||||
"logsFolder": null,
|
||||
"allowedUrlHosts": null,
|
||||
"autoSpawnItems": null,
|
||||
"metamovieRoles": null
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
# Resonite headless client
|
||||
## From https://resonite.com
|
||||
Dive into a brand new digital universe with infinite possibilities, socialize and hang out with people around the world or to build, create and develop anything.
|
||||
|
||||
# Notice
|
||||
|
||||
To use this egg, you will need a beta code and a Steam account. Currently the beta code can only acquired by going to the Resonite Patreon (https://www.patreon.com/Resonite), and subscribing to the "Discoverer" level. Then you will be able to message the Resonite bot in-game with "/headlessCode", and receive the beta code. The account will also need to have Resonite in its library. You can do this by running `app_license_request 2519830` in steamcmd if you have never installed Resonite on this Steam account.
|
||||
For more information related to Headless configuration, ask in the official Resonite Discord: https://discord.gg/resonite
|
||||
|
||||
This game does not require any port forwarding, but instead uses UDP NAT hole punching (and/or relay) on a random port. You can force a certain port in the config for direct connections with the `forcePort` directive, but most communcation is done via NAT hole punch using LiteNetLib (LNL).
|
||||
@@ -1,112 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-11T08:33:24-05:00",
|
||||
"name": "Resonite",
|
||||
"author": "espeon@espeon.dev",
|
||||
"description": "Enter a novel digital universe with infinite possibilities. Whether you resonate with people around the world in a casual conversation, playing games and socializing or you riff off each other when creating anything from art to programming complex games, you'll find your place here.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Mono": "ghcr.io\/parkervcp\/yolks:mono_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "mono Headless\/Resonite.exe -c .\/Config\/Config.json -l .\/Logs $(if {{ENABLE_MODLOADER}}; then echo \"-LoadAssembly \".\/Libraries\/ResoniteModLoader.dll\"\"; fi)",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"World running...\"\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## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\necho -e \"steam user is not set.\\n\"\r\necho -e \"Using anonymous user.\\n\"\r\nSTEAM_USER=anonymous\r\nSTEAM_PASS=\"\"\r\nSTEAM_AUTH=\"\"\r\nelse\r\necho -e \"user set to ${STEAM_USER}\"\r\nfi\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# 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## 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}\" ) -betapassword ${SRCDS_BETAPASS} ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\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## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n## check if config file exists\r\necho \"Looking for existing config file...\"\r\nif ! [ -f \"\/mnt\/server\/Headless\/Config\/Config.json\" ]; then\r\necho \"Config does not exist, creating new config.\"\r\n## create default config\r\nmkdir -p \/mnt\/server\/Headless\/Config\r\ncurl -sSL -o \/mnt\/server\/Headless\/Config\/Config.json https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/resonite\/Config.json\r\nelse\r\n## leave existing config\r\necho \"Config already exists, leaving it as is.\"\r\nfi\r\n## check if mod loader is enabled\r\necho \"Checking if mod loader needs to be installed...\"\r\nif [ \"$ENABLE_MODLOADER\" = true ]; then\r\necho \"Installing\/Updating mod loader as its enabled.\"\r\nmkdir -p \/mnt\/server\/Libraries\r\nmkdir -p \/mnt\/server\/rml_libs\r\nmkdir -p \/mnt\/server\/rml_mods\r\ncurl -sSL -o \/mnt\/server\/Libraries\/ResoniteModLoader.dll https:\/\/github.com\/resonite-modding-group\/ResoniteModLoader\/releases\/latest\/download\/ResoniteModLoader.dll\r\ncurl -sSL -o \/mnt\/server\/rml_libs\/0Harmony.dll https:\/\/github.com\/resonite-modding-group\/ResoniteModLoader\/releases\/latest\/download\/0Harmony.dll\r\nelse\r\necho \"Skipping installing mod loader as its not enabled.\"\r\nfi\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam Account User",
|
||||
"description": "The username for your Steam account.",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Account Password",
|
||||
"description": "The password for your Steam account.",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Account Token\/Code",
|
||||
"description": "The Steam Guard code or Login Token emailed to you.",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable Mod Loader",
|
||||
"description": "See: https:\/\/github.com\/resonite-modding-group\/ResoniteModLoader for more information on Resonite Mod Loader.",
|
||||
"env_variable": "ENABLE_MODLOADER",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta Password",
|
||||
"description": "This is the \"Beta Password\" that is only acquired by going to the Resonite Patreon, subscribing to the tier with Headless access, and then after your Resonite account shows \"Patreon Supporter\", message the Resonite bot in game with \/headlessCode, and paste that code here.",
|
||||
"env_variable": "SRCDS_BETAPASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta branch name",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "headless",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"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": "Steam App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2519830",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -99,11 +99,11 @@ ___
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
*Note (9/20/22): Update 6 drastically increased RAM requirement. Servers given less than minimum have a high chance of crashing.*
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No 32 bit or ARM support. | Favours higher single-core performance over multiple cores. |
|
||||
| RAM | 1536-2048 MiB | 6144-12288 MiB (especially for 4 players or large save files) |
|
||||
| RAM | 10240-12288 MiB | 16384-24576 MiB (especially for 4 players or large save files) |
|
||||
| Storage | 5 GB | 7-10 GB (or more, depending on save size or frequency) |
|
||||
| Network | 0.512 Mbit/s | 1-5 Mbit/s ([may require server *and* client config tweaks](https://satisfactory.fandom.com/wiki/Multiplayer#Temporary_lag_solution)) |
|
||||
| Host OS | Most stable Linux OS branches should work | Using the latest kernel version for your installed OS can prevent some edge-case installation/boot issues. |
|
||||
|
||||
@@ -5,6 +5,12 @@
|
||||
SCP: Secret Laboratory Dedicated Linux Server AddID: [996560](https://steamdb.info/app/996560/)
|
||||
This Server is NOT compatible with ServerMod2 or MultiAdmin
|
||||
|
||||
## [MultiAdmin](multiadmin)
|
||||
|
||||
SCP: Secret Laboratory Pterodactyl egg. Works with MP2. Steam AppID: [996560](https://steamdb.info/app/996560/)
|
||||
This server is **NOT** compatible with SMod2 due to it not being updated for MP2.
|
||||
This server is **NOT** compatible with LocalAdmin due to server input causing it to crash. MultiAdmin with a config option is used instead.
|
||||
|
||||
## [Exiled Plugin Framework](exiled)
|
||||
|
||||
SCP: Secret Laboratory Pterodactyl egg with Exiled Plugin Framework <https://github.com/Exiled-Team/EXILED>
|
||||
|
||||
@@ -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-11-18T14:02:28+01:00",
|
||||
"exported_at": "2021-11-14T11:16:57+01:00",
|
||||
"name": "SCP:SL",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "Egg for SCP: Secret Laboratory Dedicated Linux Server",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:mono_latest": "ghcr.io\/parkervcp\/yolks:mono_latest"
|
||||
},
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:mono_latest"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/LocalAdmin {{SERVER_PORT}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Waiting for players..\"\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \"Waiting for players..\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "EXIT"
|
||||
},
|
||||
"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\nmkdir -p $HOME\/.config\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}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p $HOME\/.config",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -37,8 +37,7 @@
|
||||
"default_value": "996560",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:996560",
|
||||
"field_type": "text"
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Dotnet Bundle",
|
||||
@@ -47,38 +46,7 @@
|
||||
"default_value": ".\/dotnet-bundle",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Branch",
|
||||
"description": "Use this to instruct your panel whether to use a branch of SCP: SL (typically used for testing versions). To install the branch, you need to click \"Reinstall Server\" to execute the installation script.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Branch password",
|
||||
"description": "Branch password (optional)",
|
||||
"env_variable": "SRCDS_BETAPASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Auto update the server on restart",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
# SCP: Secret Laboratory
|
||||
|
||||
SCP: Secret Laboratory Pterodactyl egg. Works with MP2. Steam AppID: [996560](https://steamdb.info/app/996560/)
|
||||
|
||||
This server is **NOT** compatible with SMod2 due to it not being updated for MP2.
|
||||
|
||||
This server is **NOT** compatible with LocalAdmin due to server input causing it to crash. MultiAdmin with a config option is used instead.
|
||||
|
||||
## Minimum RAM
|
||||
|
||||
Minimum memory required to run the server: 3096 MB
|
||||
|
||||
## Server Port
|
||||
|
||||
Default port required to run the server.
|
||||
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| Game | 7777 |
|
||||
|
||||
## Verification
|
||||
|
||||
The server must be verified with the SCP:SL developers in order for it to be visible in the server browser.
|
||||
|
||||
Instructions are as follows:
|
||||
|
||||
* Make sure your server complies with the [Verified Server Rules](https://scpslgame.com/Verified_server_rules.pdf).
|
||||
* Send an email to `server.verification@scpslgame.com` from your configured contact email with the following information:
|
||||
1. The **public** IPv4 address of your server, with port. e.g. `69.69.69.69:7777`
|
||||
2. If the server's IP is static or dynamic.
|
||||
+52
@@ -0,0 +1,52 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-11-14T11:18:28+01:00",
|
||||
"name": "SCP: Secret Laboratory - MultiAdmin",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "The latest vanilla version of SCP:SL running through MultiAdmin for compatibility. LocalAdmin does not work. No SMod2.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:mono_latest"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "mono MultiAdmin.exe --port {{SERVER_PORT}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"scp_multiadmin.cfg\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"use_new_input_system\": \"false\",\r\n \"max_players:\": \" {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n },\r\n \".config\/SCP Secret Laboratory\/config\/{{SERVER_PORT}}\/config_gameplay.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server_ip:\": \"0.0.0.0\",\r\n \"forward_ports\": \" false\",\r\n \"contact_email:\": \"{{server.build.env.CONTACT_EMAIL}}\",\r\n \"max_players:\": \"{{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Waiting for players\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "EXIT"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "# Downloads SteamCMD\r\napt update\r\napt -y --no-install-recommends install curl unzip lib32gcc-s1 ca-certificates wget jq\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\n# Extracts SteamCMD\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\n\r\n# Downloads the server\r\nexport HOME=\/mnt\/server\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 996560 +quit\r\n\r\n# Hoster policy\r\necho 'gamedir_for_configs: true' >> \/mnt\/server\/hoster_policy.txt\r\nchmod +x \/mnt\/server\/hoster_policy.txt\r\n\r\n# Downloads MultiAdmin\r\ncd $HOME\r\nwget -qN https:\/\/github.com\/ServerMod\/MultiAdmin\/releases\/latest\/download\/MultiAdmin.exe\r\nchmod +x \/mnt\/server\/MultiAdmin.exe\r\n\r\n# Compatibility fix for MultiAdmin\r\necho \"use_new_input_system: false\" >> \/mnt\/server\/scp_multiadmin.cfg\r\necho \"max_players: 20\" >> \/mnt\/server\/scp_multiadmin.cfg",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Contact Email",
|
||||
"description": "A contact email is required for this server to show up on the public server list. Leave \"default\" to opt out.",
|
||||
"env_variable": "CONTACT_EMAIL",
|
||||
"default_value": "default",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:254"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "This will change the maximum player count.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "20",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,31 +0,0 @@
|
||||
# Stationeers
|
||||
|
||||
Steam Description
|
||||
Construct and manage your own space station either by yourself in singleplayer or with friends online! Fully functioning atmospherics, science, power, engineering, medical, logic, and agricultural systems. Explore to find asteroids and construct elaborate factories to harvest your resources!
|
||||
|
||||
## SPECIAL NOTE
|
||||
|
||||
The console output does not work properly with the new server. THIS IS NOT AN ERROR IN THIS EGG !!!!
|
||||
|
||||
## BepInEx
|
||||
|
||||
BepInEx is a general purpose framework for Unity modding. BepInEx includes tools and libraries to
|
||||
- load custom code (hereafter plugins) into the game on launch;
|
||||
- patch in-game methods, classes and even entire assemblies without touching original game files;
|
||||
- configure plugins and log game to desired outputs like console or file;
|
||||
- manage plugin dependencies.
|
||||
|
||||
BepInEx is currently one of the most popular modding tools for Unity on GitHub.
|
||||
|
||||
**Notice:**
|
||||
- This egg is using the latest Unix version of BepInEx available, no extra libraries added.
|
||||
- This egg is also using latest version of "[StationeersMods](https://github.com/jixxed/StationeersMods)"
|
||||
|
||||
## Server Ports
|
||||
|
||||
Stationeers requires up to 2 ports
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 27500 |
|
||||
| Steam Query | 27015 |
|
||||
-154
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-14T11:28:43+01:00",
|
||||
"exported_at": "2023-07-13T23:07:08+01:00",
|
||||
"name": "Team Fortress 2 Classic",
|
||||
"author": "eggs@scattergun.io",
|
||||
"description": "Team Fortress 2 Classic is a free mod of the 2007 game Team Fortress 2, developed by Eminoma and utilizing the Source engine.",
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y zstd\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## download TF2C from website\r\ncd \/mnt\/server\r\nwhich unzip\r\nL_V=$(curl -s https:\/\/wiki.tf2classic.com\/kachemak\/versions.json | jq -r '.versions | to_entries | max_by(.key | tonumber) | .value.file') # tf2classic-2.1.3.tar.zst\r\n\r\nif [ -z \"${GAMEVERSION}\" ] || [ \"${GAMEVERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=\"https:\/\/wiki.tf2classic.com\/kachemak\/$L_V\"\r\nelse\r\n DOWNLOAD_URL=\"https:\/\/wiki.tf2classic.com\/kachemak\/tf2classic-${GAMEVERSION}.tar.zst\"\r\nfi\r\n\r\n\r\n# Check if the URL returns a 404 status code\r\nif curl -s --head \"$DOWNLOAD_URL\" | head -n 1 | grep \"404 Not Found\" > \/dev\/null; then\r\n echo \"URL returned 404. Setting to alternative URL.\"\r\n DOWNLOAD_URL=\"https:\/\/wiki.tf2classic.com\/kachemak\/$L_V\"\r\nfi\r\n\r\necho \"Downloading tf2classic, This will take some time\" \r\necho \"Download URL is: ${DOWNLOAD_URL}\"\r\ncurl -sSL -o tf2classic.tar.zst ${DOWNLOAD_URL}\r\n\r\n#tar -xf tf2classic.tar.zst\r\n\r\ntar --use-compress-program=unzstd -xvf tf2classic.tar.zst\r\nrm -rf tf2classic.tar.zst\r\n## fix issue \/w symlink\r\ncd \/mnt\/server\/bin\r\nln -s vphysics_srv.so vphysics.so\r\nln -s studiorender_srv.so studiorender.so\r\nln -s soundemittersystem_srv.so soundemittersystem.so\r\nln -s shaderapiempty_srv.so shaderapiempty.so\r\nln -s scenefilecache_srv.so scenefilecache.so\r\nln -s replay_srv.so replay.so\r\nln -s materialsystem_srv.so materialsystem.so\r\n\r\ncd \/mnt\/server\/tf2classic\/bin\r\n## fix server as of 2.0.4 crashing on start\r\nrm -rf server_srv.so\r\nln -s server.so server_srv.so\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\r\napt install -y zstd\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## download TF2C from website\r\ncd \/mnt\/server\r\nwhich unzip\r\n\r\necho \"Downloading tf2classic, This will take some time\" \r\ncurl -sSL -o tf2classic.tar.zst https:\/\/wiki.tf2classic.com\/kachemak\/tf2classic-${GAMEVERSION}.tar.zst\r\n\r\ntar -xf tf2classic.tar.zst\r\nrm -rf tf2classic.zip\r\n## fix issue \/w symlink\r\ncd \/mnt\/server\/bin\r\nln -s vphysics_srv.so vphysics.so\r\nln -s studiorender_srv.so studiorender.so\r\nln -s soundemittersystem_srv.so soundemittersystem.so\r\nln -s shaderapiempty_srv.so shaderapiempty.so\r\nln -s scenefilecache_srv.so scenefilecache.so\r\nln -s replay_srv.so replay.so\r\nln -s materialsystem_srv.so materialsystem.so\r\n\r\ncd \/mnt\/server\/tf2classic\/bin\r\n## fix server as of 2.0.4 crashing on start\r\nrm -rf server_srv.so\r\nln -s server.so server_srv.so\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
|
||||
File diff suppressed because one or more lines are too long
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-10T17:55:31+01:00",
|
||||
"exported_at": "2023-06-15T17:53:50-04:00",
|
||||
"name": "V Rising BepInEx",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online and conquer the land of the living.",
|
||||
@@ -284,7 +284,7 @@
|
||||
"name": "WINETRICKS_RUN",
|
||||
"description": "",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "mono vcrun2022",
|
||||
"default_value": "vcrun2019 dotnet48 dotnet6",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:50",
|
||||
|
||||
@@ -28,15 +28,9 @@ In particular, the changes from base BepInEx releases are:
|
||||
- Updated Doorstop configuration and BepInEx to allow to load unstripped DLLs without having to overwrite game DLLs.
|
||||
- Added scripts necessary to run both game and dedicated server on Linux machines
|
||||
|
||||
## Automatic Mod Downloading
|
||||
Mods can be downloaded from modpacks automatically by entering the "dependency string" for the modpack from https://valheim.thunderstore.io/
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | default |
|
||||
|-------|---------|
|
||||
| Game | 2456 |
|
||||
| Query | 2457 |
|
||||
|
||||
## Updating
|
||||
Because the `DOORSTOP_CORLIB_OVERRIDE_PATH=./unstripped_corlib;` has been removed from the startup with the latest update of this egg. If your server is already running, update the startup manually.
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-08T07:57:54-06:00",
|
||||
"exported_at": "2023-03-03T16:16:01+01:00",
|
||||
"name": "Valheim BepINex",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "A brutal exploration and survival game for 1-10 players, set in a procedurally-generated purgatory inspired by viking culture incl the Plugin Framework BepInEx",
|
||||
@@ -15,7 +15,7 @@
|
||||
"ghcr.io\/parkervcp\/games:valheim": "ghcr.io\/parkervcp\/games:valheim"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "export DOORSTOP_ENABLE=TRUE; export DOORSTOP_INVOKE_DLL_PATH=.\/BepInEx\/core\/BepInEx.Preloader.dll; export LD_LIBRARY_PATH=\".\/doorstop_libs:$LD_LIBRARY_PATH\"; export LD_PRELOAD=\"libdoorstop_x64.so:$LD_PRELOAD\"; export templdpath=$LD_LIBRARY_PATH; export LD_LIBRARY_PATH=\".\/linux64:$LD_LIBRARY_PATH\"; export SteamAppId=892970; export LD_LIBRARY_PATH=$templdpath; .\/valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{SERVER_PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" -public {{PUBLIC_SERVER}} -saveinterval {{BACKUP_INTERVAL}} -backups {{BACKUP_COUNT}} -backupshort {{BACKUP_SHORTTIME}} -backuplong {{BACKUP_LONGTIME}} $( [[ {{ENABLE_CROSSPLAY}} -eq 1 ]] && echo \" -crossplay \") > >(sed -uE \"{{CONSOLE_FILTER}}\") & trap \"{{STOP}}\" 15; wait $!",
|
||||
"startup": "export DOORSTOP_ENABLE=TRUE; export DOORSTOP_INVOKE_DLL_PATH=.\/BepInEx\/core\/BepInEx.Preloader.dll; export DOORSTOP_CORLIB_OVERRIDE_PATH=.\/unstripped_corlib; export LD_LIBRARY_PATH=\".\/doorstop_libs:$LD_LIBRARY_PATH\"; export LD_PRELOAD=\"libdoorstop_x64.so:$LD_PRELOAD\"; export templdpath=$LD_LIBRARY_PATH; export LD_LIBRARY_PATH=\".\/linux64:$LD_LIBRARY_PATH\"; export SteamAppId=892970; export LD_LIBRARY_PATH=$templdpath; .\/valheim_server.x86_64 -nographics -batchmode -name \"{{SERVER_NAME}}\" -port {{SERVER_PORT}} -world \"{{WORLD}}\" -password \"{{PASSWORD}}\" -public {{PUBLIC_SERVER}} -saveinterval {{BACKUP_INTERVAL}} -backups {{BACKUP_COUNT}} -backupshort {{BACKUP_SHORTTIME}} -backuplong {{BACKUP_LONGTIME}} $( [[ {{ENABLE_CROSSPLAY}} -eq 1 ]] && echo \" -crossplay \") > >(sed -uE \"{{CONSOLE_FILTER}}\") & trap \"{{STOP}}\" 15; wait $!",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"DungeonDB Start\"\r\n}",
|
||||
@@ -24,7 +24,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install wget\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"installing BepInEx and Selected ModPacks...\"\r\necho \"-------------------------------------------------------\"\r\nif ! api_response=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/valheim.thunderstore.io\/api\/experimental\/package\/denikson\/BepInExPack_Valheim\/\"); then\r\n fatal \"Error: could not retrieve BepInEx release info from Thunderstore.io API\"\r\nfi\r\n\r\ndownload_url=$(jq -r \".latest.download_url\" <<< \"$api_response\" )\r\nversion_number=$(jq -r \".latest.version_number\" <<< \"$api_response\" )\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Modpack Name dashes to slashes for URL\r\nV_MODPACK=$(echo \"$V_MODPACK\" | sed 's\/-\/\\\/\/g')\r\n\r\n#Extract dependencies from ModPack JSON data\r\nV_MODPACK_DEPENDENCIES=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/valheim.thunderstore.io\/api\/experimental\/package\/${V_MODPACK}\" | jq -r '.dependencies[]')\r\nfi\r\n\r\ncd \/mnt\/server\r\n#echo $download_url\r\nwget --content-disposition $download_url\r\nunzip -o denikson-BepInExPack_Valheim-${version_number}.zip\r\ncp -r \/mnt\/server\/BepInExPack_Valheim\/* \/mnt\/server\r\n\r\nif [ ! -z \"$V_MODPACK\" ]\r\nthen\r\n#Delete Old Mods\r\nrm -rf \/mnt\/server\/BepInEx\/plugins\/*\r\n\r\n#Download and extract the modpack dlls files\r\nfor V_MODPACK_DEPENDENCY in $V_MODPACK_DEPENDENCIES; do\r\n #ignore bepinex\r\n if [[ \"$V_MODPACK_DEPENDENCY\" == *\"denikson-BepInExPack_Valheim\"* ]]; then\r\n continue # Skip this dependency\r\n fi\r\n \r\n #replace dashes with slashes for url\r\n V_MODPACK_DEPENDENCY_WITH_SLASH=$(echo \"$V_MODPACK_DEPENDENCY\" | sed 's\/-\/\\\/\/g')\r\n \r\n #download dependencies\r\n wget -O \"$V_MODPACK_DEPENDENCY.zip\" \"https:\/\/thunderstore.io\/package\/download\/$V_MODPACK_DEPENDENCY_WITH_SLASH\"\r\n\r\n #Set the destination directory and ensure it exists\r\n destination_directory=\"\/mnt\/server\/BepInEx\/plugins\"\r\n if [ ! -d \"$destination_directory\" ]; then\r\n mkdir -p \"$destination_directory\"\r\n fi\r\n\r\n #Extract DLL files from the ZIP and delete the zip file\r\n unzip -j \"$V_MODPACK_DEPENDENCY.zip\" \"*.dll\" -d \"$destination_directory\"\r\n \r\n #Cleanup\r\n rm $V_MODPACK_DEPENDENCY.zip\r\ndone\r\nfi\r\n\r\n##cleanup\r\necho \"-------------------------------------------------------\"\r\necho \"cleanup files...\"\r\necho \"-------------------------------------------------------\"\r\nrm -fR BepInExPack_Valheim\r\nrm -fR icon.png\r\nrm -fR denikson-BepInExPack_Valheim-*\r\nrm -fR manifest.json\r\nrm -fR README.m\r\n\r\n#rm -fR start_*\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
|
||||
"script": "#!\/bin\/bash\r\n# Valheim Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install wget\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"installing BepInEx...\"\r\necho \"-------------------------------------------------------\"\r\nif ! api_response=$(curl -sfSL -H \"accept: application\/json\" \"https:\/\/valheim.thunderstore.io\/api\/experimental\/package\/denikson\/BepInExPack_Valheim\/\"); then\r\n fatal \"Error: could not retrieve BepInEx release info from Thunderstore.io API\"\r\nfi\r\n\r\ndownload_url=$(jq -r \".latest.download_url\" <<< \"$api_response\" )\r\nversion_number=$(jq -r \".latest.version_number\" <<< \"$api_response\" )\r\n \r\ncd \/mnt\/server\r\n#echo $download_url\r\nwget --content-disposition $download_url\r\nunzip -o denikson-BepInExPack_Valheim-${version_number}.zip\r\ncp -r \/mnt\/server\/BepInExPack_Valheim\/* \/mnt\/server\r\n\r\n\r\n##cleanup\r\necho \"-------------------------------------------------------\"\r\necho \"cleanup files...\"\r\necho \"-------------------------------------------------------\"\r\nrm -fR BepInExPack_Valheim\r\nrm -fR icon.png\r\nrm -fR denikson-BepInExPack_Valheim-*\r\nrm -fR manifest.json\r\nrm -fR README.m\r\n\r\n#rm -fR start_*\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -189,16 +189,6 @@
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ModPack",
|
||||
"description": "Enter the Dependency String name for a ModPack to automatically be installed\r\nNOTE: If the modpack Updates, you will need to update this variable with the new Dependency String. This is done to allow Old Versions to be used.\r\nCHANGING THIS REQUIRES A SERVER REINSTALL",
|
||||
"env_variable": "V_MODPACK",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,30 +0,0 @@
|
||||
# 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 |
|
||||
|
||||
@@ -1,152 +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-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": "2024-01-02T11:03:56+01:00",
|
||||
"exported_at": "2023-04-09T04:34:42+02: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 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",
|
||||
"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",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -90,22 +90,22 @@
|
||||
},
|
||||
{
|
||||
"name": "Difficulty",
|
||||
"description": "Sets the difficulty of the world when using auto-create. Options: 0(normal), 1(expert), 2(master), 3(journey)",
|
||||
"description": "Sets the difficulty of the world when using auto-create 0(normal), 1(expert). Toggle to choose expert (1).",
|
||||
"env_variable": "DIFFICULTY",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:0,1,2,3",
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Server password for users to connect to your server.\r\nCan be empty for no password.",
|
||||
"description": "Server password for users to connect to your server",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-15T21:41:29+01:00",
|
||||
"exported_at": "2023-02-26T13:57:20+01:00",
|
||||
"name": "YuzuEmu",
|
||||
"author": "me@basvandenboom.dev",
|
||||
"description": "Egg for hosting dedicated Yuzu multiplayer rooms.",
|
||||
@@ -13,7 +13,7 @@
|
||||
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/yuzu-room --room-name \"{{ROOM_NAME}}\" --room-description \"{{ROOM_DESCRIPTION}}\" --preferred-game \"{{PREFERRED_GAME}}\" --preferred-game-id {{PREFERRED_GAME_ID}} --port {{SERVER_PORT}} --max_members {{MAX_MEMBERS}} --password \"{{PASSWORD}}\" --token \"{{YUZU_TOKEN}}\" --web-api-url \"https:\/\/api.yuzu-emu.org\"",
|
||||
"startup": ".\/yuzu-room --room-name \"{{ROOM_NAME}}\" --room-description \"{{ROOM_DESCRIPTION}}\" --preferred-game \"{{PREFERRED_GAME}}\" --preferred-game-id {{PREFERRED_GAME_ID}} --port {{SERVER_PORT}} --max_members {{MAX_MEMBERS}} --password \"{{PASSWORD}}\" --token \"{{YUZU_TOKEN}}\" --web-api-url \"https:\/\/api.yuzu-emu.org\/\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Room is open\"\r\n}",
|
||||
@@ -23,7 +23,7 @@
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\napt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential wget git ccache ninja-build libssl-dev pkg-config libarchive-tools \\\r\n cmake\/bullseye-backports cmake-data\/bullseye-backports\r\n\r\n\r\n# Shallow clone yuzu repository, since we delete the local copy afterwards\r\ngit clone --depth 1 -j4 --recursive --shallow-submodules https:\/\/github.com\/yuzu-emu\/yuzu-mainline.git \/mnt\/server\/yuzu-mainline\r\n\r\n# Download build tools and build\r\ngit clone --depth 1 https:\/\/github.com\/yuzu-emu\/yuzu-multiplayer-dedicated.git \/mnt\/server\/build-files\r\ncd \/mnt\/server\/yuzu-mainline && \/mnt\/server\/build-files\/.ci\/build.sh\r\n\r\n# Copy server binary to container root\r\ncp \/mnt\/server\/yuzu-mainline\/build\/bin\/yuzu-room \/mnt\/server\/yuzu-room\r\n\r\n# Delete git repo's to save disk space.\r\nrm -rf \/mnt\/server\/yuzu-mainline && rm -rf \/mnt\/server\/build-files",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -35,7 +35,7 @@
|
||||
"default_value": "My Yuzu Room",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:60",
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
@@ -75,7 +75,7 @@
|
||||
"default_value": "4",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|int|max:16|min:1",
|
||||
"rules": "required|int|max:12|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
@@ -95,7 +95,7 @@
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"rules": "nullable|string|max:60",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-08T09:43:11+01:00",
|
||||
"exported_at": "2023-08-31T14:24:13+02: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 ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; mix deps.get; mix run --no-halt",
|
||||
"startup": "if [[ -d .git ]] && [[ 0 == \"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\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",
|
||||
"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",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
@@ -93,4 +93,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-10-24T17:44:31+02:00",
|
||||
"exported_at": "2023-08-18T17:13:50+02:00",
|
||||
"name": "node.js generic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "a generic node.js egg\r\n\r\nThis will clone a git repo. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.",
|
||||
@@ -19,7 +19,7 @@
|
||||
"Nodejs 12": "ghcr.io\/parkervcp\/yolks:nodejs_12"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install; fi; if [[ \"${MAIN_FILE}\" == \"*.js\" ]]; then \/usr\/local\/bin\/node \"\/home\/container\/${MAIN_FILE}\" ${NODE_ARGS}; else \/usr\/local\/bin\/ts-node --esm \"\/home\/container\/${MAIN_FILE}\" ${NODE_ARGS}; fi",
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install; fi; if [[ \"${MAIN_FILE}\" == \"*.js\" ]]; then \/usr\/local\/bin\/node \"\/home\/container\/${MAIN_FILE}\" ${NODE_ARGS}; else \/usr\/local\/bin\/ts-node \"\/home\/container\/${MAIN_FILE}\" ${NODE_ARGS}; fi",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": [\r\n \"change this text 1\",\r\n \"change this text 2\"\r\n ]\r\n}",
|
||||
@@ -135,4 +135,4 @@
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-13T14:45:01-05:00",
|
||||
"exported_at": "2022-12-29T16:30:15+01:00",
|
||||
"name": "Grafana",
|
||||
"author": "p.zarrad@outlook.de",
|
||||
"description": "The open and composable observability and data visualization platform.\r\nVisualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.",
|
||||
@@ -13,7 +13,7 @@
|
||||
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/bin\/grafana server web",
|
||||
"startup": ".\/bin\/grafana-server web",
|
||||
"config": {
|
||||
"files": "{\r\n \"conf\/defaults.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"server.http_port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"HTTP Server Listen\"\r\n}",
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
# Rathole
|
||||
A secure, stable and high-performance reverse proxy for NAT traversal, written in Rust
|
||||
|
||||
rathole, like frp and ngrok, can help to expose the service on the device behind the NAT to the Internet, via a server with a public IP.
|
||||
|
||||
## This egg only includes server side of rathole
|
||||
Please refer to https://github.com/rapiz1/rathole for more information about rathole
|
||||
@@ -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": "2023-12-16T14:03:42+01:00",
|
||||
"name": "Rathole",
|
||||
"author": "tunayada@gmail.com",
|
||||
"description": "A lightweight and high-performance reverse proxy for NAT traversal, written in Rust. An alternative to frp and ngrok.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:rust_latest": "ghcr.io\/parkervcp\/yolks:rust_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/rathole server.toml",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.toml\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"server.bind_addr\": \"\\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"server.services.test.token\": \"\\\"{{server.build.env.TOKEN}}\\\"\",\r\n \"server.services.test.bind_addr\": \"\\\"0.0.0.0:{{server.build.default.port}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": [\r\n \"Listening at \"\r\n ]\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## get release info and download links\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/rapiz1\/rathole\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/rapiz1\/rathole\/releases\")\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"aarch64\")\r\n\r\nif [\"${ARCH}\" == \"aarch64\"]; then\r\n MATCH=rathole-aarch64-unknown-linux-musl.zip\r\nelse\r\n MATCH=rathole-x86_64-unknown-linux-gnu.zip\r\nfi\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\necho \"Download url: ${DOWNLOAD_URL}\"\r\ncurl -ssL -o rathole.zip ${DOWNLOAD_URL}\r\nunzip rathole.zip\r\nrm rathole.zip\r\ntouch server.toml\r\n\r\nprintf \"[server]\\nbind_addr=\\\"0.0.0.0:${SERVER_PORT}\\\"\\n\\n[server.services.test]\\ntoken=\\\"${TOKEN}\\\"\\nbind_addr=\\\"0.0.0.0:${SERVER_PORT}\\\"\" > server.toml\r\nchmod +x rathole\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Secret",
|
||||
"description": "Your random token",
|
||||
"env_variable": "TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|min:5|max:60",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user