SHA256
first commit
This commit is contained in:
commit
21788ba270
643 files changed
+45536
No files matched your search
@@ -0,0 +1,29 @@
|
||||
# 7 Days to Die
|
||||
|
||||
Steam Description
|
||||
Set in a brutally unforgiving post-apocalyptic world overrun by the undead, 7 Days to Die is an open-world game that is a unique combination of first person shooter, survival horror, tower defense, and role-playing games. It presents combat, crafting, looting, mining, exploration, and character growth, in a way that has seen a rapturous response from fans worldwide. Play the definitive zombie survival sandbox RPG that came first. Navezgane awaits!
|
||||
|
||||
## Server Ports
|
||||
|
||||
7 Days to Die requires up to 6 ports
|
||||
|
||||
| Port | default |
|
||||
|---------|---------------|
|
||||
| Game | 26900 - 26902 |
|
||||
| RCON | 8080 - 8081 |
|
||||
| webmap | 8082 |
|
||||
|
||||
## Sample ignore file for backups
|
||||
|
||||
By default the backup includes a lot of files that can be reacquired by pulling the image. Using the following file limits backups to the files that are unique to your server: your config files, logs, saves and generated worlds.
|
||||
|
||||
```
|
||||
# Ignore all
|
||||
*
|
||||
# Except server config file
|
||||
!serverconfig.xml
|
||||
# Except server data dir
|
||||
!.local/
|
||||
# Except logs
|
||||
!logs/
|
||||
```
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-02-20T02:33:05+01:00",
|
||||
"name": "7 Days To Die",
|
||||
"author": "kristoffer.norman@bahnhof.se",
|
||||
"description": "7 days to die server",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/7DaysToDieServer.x86_64 -configfile=serverconfig.xml -quit -batchmode -nographics -dedicated -ServerPort=${SERVER_PORT} -ServerDisabledNetworkProtocols=${SERVER_DISABLED_NETWORK_PROTOCOLS} -ServerMaxPlayerCount=${MAX_PLAYERS} -GameDifficulty=${GAME_DIFFICULTY} -ControlPanelEnabled=false -TelnetEnabled=true -TelnetPort=${TELNET_PORT} -TelnetPassword=${PASSWORD} -logfile logs\/latest.log & echo -e \"Checking on telnet connection\" && until nc -z -v -w5 127.0.0.1 ${TELNET_PORT}; do echo \"Waiting for telnet connection...\"; sleep 5; done && $( [[ -z ${PASSWORD} ]] && printf %s \"telnet -E 127.0.0.1 ${TELNET_PORT}\" || printf %s \"rcon -t telnet -a 127.0.0.1:${TELNET_PORT} -p {{PASSWORD}}\" )",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connected with 7DTD server\"\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##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum Concurrent Players",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Difficulty",
|
||||
"description": "0 - 5, 0=easiest, 5=hardest",
|
||||
"env_variable": "GAME_DIFFICULTY",
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Source AppID",
|
||||
"description": "This is the app id for 7dtd please no step on snek.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "294420",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "This is to auto update the server on start.\r\n\r\nOptions are 0 or 1\r\nDefault is 1",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ld lib path",
|
||||
"description": "This is really annoying that more games are doing this.",
|
||||
"env_variable": "LD_LIBRARY_PATH",
|
||||
"default_value": ".",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta Branch",
|
||||
"description": "Installs beta branch if specified. For example, latest_experimental would install the latest experimental branch release. Requires a reinstall to switch branches properly.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Telnet Password",
|
||||
"description": "Telnet listens on a local interface by default without a password. However, you can specify a password if you wish to expose telnet.",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Telnet Port",
|
||||
"description": "",
|
||||
"env_variable": "TELNET_PORT",
|
||||
"default_value": "8081",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Network Protocols",
|
||||
"description": "Networking protocols that should NOT be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly. lets it empty if you are connecting your self hosted server behind a NAT",
|
||||
"env_variable": "SERVER_DISABLED_NETWORK_PROTOCOLS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,372 @@
|
||||
# SteamCMD Servers
|
||||
|
||||
This is a collection of servers that use SteamCMD to install.
|
||||
|
||||
## 7 Days To Die
|
||||
|
||||
[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)
|
||||
|
||||
## Arma
|
||||
|
||||
* [Arma](arma)
|
||||
* [Arma 3](arma/arma3)
|
||||
* [Arma Reforger](arma/arma_reforger)
|
||||
|
||||
## Assetto Corsa
|
||||
|
||||
[Assetto Corsa](assetto_corsa)
|
||||
|
||||
## Astro Colony
|
||||
|
||||
[Astro Colony](astro_colony)
|
||||
|
||||
## Avorion
|
||||
|
||||
[Avorion](avorion)
|
||||
|
||||
## Barotrauma
|
||||
|
||||
[Barotrauma](barotrauma)
|
||||
|
||||
## BATTALION: Legacy
|
||||
|
||||
[BATTALION: Legacy](/battalion_legacy)
|
||||
|
||||
## Black Mesa
|
||||
|
||||
[Black Mesa](black_mesa)
|
||||
|
||||
## Citadel: Forged with Fire
|
||||
|
||||
[citadel](citadel)
|
||||
|
||||
## Colony Survival
|
||||
|
||||
[Colony Survival](colony_survival)
|
||||
|
||||
## Conan Exiles
|
||||
|
||||
[Conan Exiles](conan_exiles)
|
||||
|
||||
## Core Keeper
|
||||
|
||||
[Core Keeper](core_keeper)
|
||||
|
||||
## Counter-Strike
|
||||
|
||||
[Counter-Strike](counter_strike)
|
||||
|
||||
## Craftopia
|
||||
|
||||
[Craftopia](craftopia)
|
||||
|
||||
## CryoFall
|
||||
|
||||
[Cryofall](cryofall)
|
||||
|
||||
## DayZ (Experimental)
|
||||
|
||||
[DayZ (Experimental)](dayz-experimental)
|
||||
|
||||
## DDNet
|
||||
[DDNet](ddnet)
|
||||
|
||||
## Dead Matter
|
||||
|
||||
[Dead Matter](dead_matter)
|
||||
|
||||
## Don't Starve Together
|
||||
|
||||
[Don't Starve Together](dont_starve)
|
||||
|
||||
## ECO
|
||||
|
||||
[ECO](eco)
|
||||
|
||||
## Empyrion
|
||||
|
||||
[Empyrion - Galactic Survival](empyrion)
|
||||
|
||||
## Enshrouded
|
||||
|
||||
[Enshrouded](enshrouded)
|
||||
|
||||
## Fistful of Frags
|
||||
|
||||
[Fistful of Frags](fof)
|
||||
|
||||
## Frozen Flame
|
||||
|
||||
[Frozen Flame](frozen_flame)
|
||||
|
||||
## Ground Branch
|
||||
|
||||
[Ground Branch](ground_branch)
|
||||
|
||||
## HLDS Server
|
||||
|
||||
[HLDS Server](hlds_server)
|
||||
* [HLDS Vanilla](hlds_server/vanilla)
|
||||
* [ReHLDS](hlds_server/rehlds)
|
||||
|
||||
## Holdfast: Nations At War
|
||||
|
||||
[Holdfast: Nations At War](holdfast)
|
||||
|
||||
## HumanitZ
|
||||
|
||||
[HumanitZ](humanitz)
|
||||
|
||||
## Hurtworld
|
||||
|
||||
[Hurtworld](hurtworld)
|
||||
|
||||
## Icarus
|
||||
|
||||
* [Icarus](icarus)
|
||||
|
||||
## Insurgency: Sandstorm
|
||||
|
||||
[Insurgency: Sandstorm](insurgency_sandstorm)
|
||||
|
||||
## Iosoccer
|
||||
|
||||
[iosoccer](iosoccer)
|
||||
|
||||
## Killing Floor 2
|
||||
|
||||
[Killing Floor 2](killing_floor_2)
|
||||
|
||||
## Left 4 Dead
|
||||
|
||||
[Left 4 Dead](left4dead)
|
||||
|
||||
## Left 4 Dead 2
|
||||
|
||||
[Left 4 Dead](left4dead_2)
|
||||
|
||||
## Longvinter
|
||||
[Longvinter](longvinter)
|
||||
|
||||
## Modiverse
|
||||
|
||||
[Modiverse](modiverse)
|
||||
|
||||
## Mordhau
|
||||
|
||||
[Mordhau](mordhau)
|
||||
|
||||
## Mount & Blade II: Bannerlord
|
||||
|
||||
[Mount & Blade II: Bannerlord](mount_blade_II_bannerlord)
|
||||
|
||||
## Myth of Empires
|
||||
|
||||
[Myth of Empires](myth_of_empires)
|
||||
|
||||
## Necesse
|
||||
|
||||
[Necesse](necesse)
|
||||
|
||||
## Neos VR
|
||||
[Neos VR](neosvr)
|
||||
|
||||
## No More Room in Hell
|
||||
|
||||
[No More Room in Hell](nmrih)
|
||||
|
||||
## No Love Lost
|
||||
|
||||
[No Love Lost](no_love_lost)
|
||||
|
||||
## No One Survived
|
||||
|
||||
[No One Survived](no_one_survived)
|
||||
|
||||
## Nova-Life: Amboise
|
||||
|
||||
[Nova-Life: Amboise](novalife_amboise)
|
||||
|
||||
## Onset
|
||||
|
||||
[Onset](onset)
|
||||
|
||||
## Open Fortress
|
||||
|
||||
[Open Fortress](open_fortress)
|
||||
|
||||
## Operation Harsh Doorstop
|
||||
|
||||
[Operation Harsh Doorstop](operation_harsh_doorstop)
|
||||
|
||||
## Palworld
|
||||
|
||||
[Palworld](palworld)
|
||||
|
||||
## Pavlov VR
|
||||
|
||||
[Pavlov VR](pavlov_vr)
|
||||
|
||||
## PixARK
|
||||
|
||||
[PixARK](pixark)
|
||||
|
||||
## Portal Knights
|
||||
|
||||
[Portal Knights](portal_knights)
|
||||
|
||||
## Post Scriptum
|
||||
|
||||
[Post Scriptum](post_scriptum)
|
||||
|
||||
## Project Zomboid
|
||||
|
||||
[Project Zomboid](project_zomboid)
|
||||
|
||||
## Quake Live
|
||||
|
||||
[Quake Live](quake_live)
|
||||
|
||||
## Resonite
|
||||
[Resonite](resonite)
|
||||
|
||||
## Rising World
|
||||
|
||||
* [Rising World](rising_world)
|
||||
* [Legacy Java](rising_world/legacy)
|
||||
* [Unity](rising_world/unity)
|
||||
|
||||
## Risk of Rain 2
|
||||
|
||||
[Risk Of Rain 2](risk_of_rain_2)
|
||||
|
||||
## Rust
|
||||
|
||||
* [Rust](rust)
|
||||
* [Autowipe](rust/rust_autowipe)
|
||||
* [Staging](rust/rust_staging)
|
||||
|
||||
## Satisfactory
|
||||
|
||||
[Satisfactory](satisfactory)
|
||||
|
||||
## SCP: Secret Laboratory
|
||||
|
||||
* [SCP: Secret Laboratory](scpsl)
|
||||
* [dedicated](scpsl/dedicated)
|
||||
* [exiled](scpsl/exiled)
|
||||
|
||||
## Smalland: Survive the Wilds
|
||||
|
||||
[Smalland: Survive the Wilds](smalland_survive_the_wilds)
|
||||
|
||||
## Solace Crafting
|
||||
|
||||
[Solace Crafting](solace_crafting)
|
||||
|
||||
## Soldat
|
||||
|
||||
[Soldat](soldat)
|
||||
|
||||
## Sons of the Forest
|
||||
|
||||
[Sons of the Forest](sonsoftheforest)
|
||||
|
||||
## Space Engineers
|
||||
|
||||
[Space Engineers](space_engineers)
|
||||
* [default](space_engineers/default)
|
||||
* [torch](space_engineers/torch)
|
||||
|
||||
## Squad
|
||||
|
||||
[Squad](squad)
|
||||
|
||||
## Starbound
|
||||
|
||||
[Starbound](starbound)
|
||||
|
||||
## Stationeers
|
||||
|
||||
[Stationeers](stationeers)
|
||||
* [Stationeers Vanilla](stationeers/stationeers_vanilla)
|
||||
* [Stationeers BepInEx](stationeers/stationeers_bepinex)
|
||||
|
||||
## Stormworks: Build and Rescue
|
||||
|
||||
[Stormworks: Build and Rescue](stormworks)
|
||||
|
||||
## Subnautica: Nitrox Mod
|
||||
|
||||
[Subnautica: Nitrox Mod](subnautica_nitrox_mod)
|
||||
|
||||
## Sven coop
|
||||
|
||||
[Sven Co-op](svencoop)
|
||||
|
||||
## Swords 'n Magic and Stuff
|
||||
|
||||
[Swords 'n Magic and Stuff](swords_'n_Magic_and_Stuff)
|
||||
|
||||
## Team Fortress 2 Classic
|
||||
|
||||
[Team Fortress 2 Classic](team_fortress_2_classic)
|
||||
|
||||
## TerraTech Worlds
|
||||
|
||||
[TerraTech Worlds](terratech_worlds)
|
||||
|
||||
## The Forest
|
||||
|
||||
[The Forest](the_forest)
|
||||
|
||||
## The Front
|
||||
|
||||
[The Front](thefront)
|
||||
|
||||
## The Isle
|
||||
|
||||
[The Isle](the_isle)
|
||||
* [Evrima](the_isle/evrima/)
|
||||
|
||||
## Tower Unite
|
||||
|
||||
[Tower Unite](tower_unite)
|
||||
|
||||
## Truck Sim
|
||||
|
||||
* [Truck Sim](truck-simulator)
|
||||
* [American Truck Simulator](truck-simulator/american-truck-simulator/)
|
||||
* [Euro Truck Simulator 2](truck-simulator/euro-truck-simulator2/)
|
||||
|
||||
## Unturned
|
||||
|
||||
[Unturned](unturned)
|
||||
|
||||
## V Rising
|
||||
|
||||
[V Rising](v_rising)
|
||||
* [V Rising Vanilla](v_rising/v_rising_vanilla)
|
||||
* [V Rising BepInex](v_rising/v_rising_bepinex)
|
||||
|
||||
## Valheim
|
||||
|
||||
[Valheim](valheim)
|
||||
* [Valheim Vanilla](valheim/valheim_vanilla)
|
||||
* [Valheim BepInEx](valheim/valheim_bepinex)
|
||||
* [Valheim Plus Mod](valheim/valheim_plus)
|
||||
|
||||
## VEIN
|
||||
|
||||
[VEIN](vein)
|
||||
|
||||
## Wurm Unlimited
|
||||
[Wurm Unlimited](wurm_unlimited/)
|
||||
@@ -0,0 +1,108 @@
|
||||
# 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 |
|
||||
@@ -0,0 +1,174 @@
|
||||
{
|
||||
"_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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
# Ark: Survival Evolved
|
||||
|
||||
Steam Description :
|
||||
As a man or woman stranded naked, freezing and starving on the shores of a mysterious island called ARK, you must hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements. Use your cunning and resources to kill or tame & breed the leviathan dinosaurs and other primeval creatures roaming the land, and team up with or prey on hundreds of other players to survive, dominate... and escape!
|
||||
|
||||
## Recommended server settings
|
||||
|
||||
### Minimum RAM
|
||||
|
||||
This server requires about 4096M to run with no players on a default map. Although it is recommended to run 6144M by the ARK creators, specific DLC maps will increase this requirement, such as Genesis 2 requiring over 13,440M to start.
|
||||
|
||||
See the following - <https://ark.gamepedia.com/Dedicated_Server_Setup#Hardware>
|
||||
|
||||
### RCON
|
||||
|
||||
The server requires a local RCON connection to function. You will see RCON connection refused messages until the server has successfully started and connects to the RCON, which can take anywhere from 10 to 20 minutes. The RCON Port is only required for external RCON connections.
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | Default |
|
||||
| --------------- | ------- |
|
||||
| Game | 7777 |
|
||||
| Raw UDP | 7778 |
|
||||
| Query | 27015 |
|
||||
| RCON (optional) | 27020 |
|
||||
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-07-23T15:07:41+02:00",
|
||||
"name": "Ark: Survival Evolved",
|
||||
"author": "dev@shepper.fr",
|
||||
"description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "rmv() { echo \"stopping server\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} saveworld &&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; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName=\"{{SESSION_NAME}}\"?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled=True?MaxPlayers={{MAX_PLAYERS}}?GameModIds={{MOD_ID}}$( [ \"$BATTLE_EYE\" == \"1\" ] || printf %s ' -NoBattlEye' ) -server -automanagedmods {{ARGS}} -log & 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": "{}",
|
||||
"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 'ubuntu:18.04'\r\napt -y update\r\napt -y --no-install-recommends --no-install-suggests install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\n\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\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 +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} +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## create a symbolic link for loading mods\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps\r\ncd \/mnt\/server",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If specified, players must provide this password to join the server.",
|
||||
"env_variable": "ARK_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.",
|
||||
"env_variable": "ARK_ADMIN_PASSWORD",
|
||||
"default_value": "PleaseChangeMe",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Map",
|
||||
"description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2, Fjordur",
|
||||
"env_variable": "SERVER_MAP",
|
||||
"default_value": "TheIsland",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "ARK server name",
|
||||
"env_variable": "SESSION_NAME",
|
||||
"default_value": "A Pterodactyl Hosted ARK Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Rcon Port",
|
||||
"description": "ARK rcon port used by rcon tools.",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"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": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "This is to enable auto-updating for servers.\r\n\r\nDefault is 0. Set to 1 to update",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Battle Eye",
|
||||
"description": "Enable BattleEye\r\n\r\n0 to disable\r\n1 to enable\r\n\r\ndefault=\"1\"",
|
||||
"env_variable": "BATTLE_EYE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "ARK steam app id for auto updates. Leave blank to avoid auto update.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "376030",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Arguments",
|
||||
"description": "Specify additional launch parameters such as -crossplay. You must include a dash - and separate each parameter with space: -crossplay -exclusivejoin",
|
||||
"env_variable": "ARGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "Specifies the order and which mods are loaded. ModIDs need to be comma-separated such as: ModID1,ModID2",
|
||||
"env_variable": "MOD_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Specifies the maximum amount of players able to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "12",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "numeric",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,8 @@
|
||||
# ARMA
|
||||
|
||||
ARMA is a series of first-person tactical military shooters, originally released for Microsoft Windows. It features large elements of realism and simulation; a blend of large-scale military conflict spread across large areas alongside the more close quartered battles.
|
||||
|
||||
## Arma Titles
|
||||
|
||||
* [Arma 3](arma3)
|
||||
* [Arma Reforger](arma_reforger)
|
||||
@@ -0,0 +1,150 @@
|
||||
# Arma 3
|
||||
|
||||
***Updating your Egg? Please see [How to Update Egg](#how-to-update-egg) to avoid any issues!***
|
||||
___
|
||||
|
||||
## Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Maintains">🔨</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/aussieserverhosts">
|
||||
<img src="https://avatars.githubusercontent.com/u/65438932" width="50px;" alt=""/><br /><sub><b>Aussie Server Hosts</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=aussieserverhosts" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=aussieserverhosts" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/IAmSilK">
|
||||
<img src="https://avatars.githubusercontent.com/u/16708907" width="50px;" alt=""/><br /><sub><b>IAmSilK</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=IAmSilK" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=IAmSilK" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Yomanz">
|
||||
<img src="https://avatars.githubusercontent.com/u/5119107" width="50px;" alt=""/><br /><sub><b>Daave</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Yomanz" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Yomanz" title="Original Creator">⭐</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Yomanz" title="Retired from Development">💤</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
From Bohemia Interactive's [Website](https://arma3.com/):
|
||||
> Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war.
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Configurable to run 32 or 64-bit versions of the server
|
||||
- Max Players is configurable and able to be host enforced (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
- Able to download server updates on startup
|
||||
- Able to download, update, and load Steam Workshop mods on startup (\*see [Installation Requirements](#installation-requirements))
|
||||
- Accepts uploaded HTML modlist files exported from the Arma 3 Launcher to define mods to load on the server.
|
||||
- Also accepts manually listed mods, CDLCs, and server-side only mods.
|
||||
- Checks for mod updates against their Steam Workshop page's last update for quick and efficient update checks.
|
||||
- Automatically moves mod `.bikey`'s to the `/keys/` directory.
|
||||
- Configurable to download Creator DLCs
|
||||
- Configurable to run Beta/Performance binaries of the server (if desired; advanced users only)
|
||||
- Additional [Arma 3 startup parameters](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters) can be added to fine-tune performance
|
||||
- Configurable to run up to 5 Headless Clients in parallel with the main server (may require additional performance overhead)
|
||||
- [WHMCS](https://www.whmcs.com/) compatible (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
|
||||
___
|
||||
|
||||
### 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.
|
||||
- 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.
|
||||
|
||||
| Port | Default (UDP) |
|
||||
|---------|---------|
|
||||
| **Arma 3 Game & VON (Main)** | 2302 |
|
||||
| Steam Query (+1) | 2303 |
|
||||
| Steam Port (+2) | 2304 |
|
||||
| BattleEye (+4) | 2306 |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No ARM support. | ARMA 3 is mainly CPU intensive. Contrary to popular belief, the server binary *can* run on multiple cores/threads. However, it's ability to manage asynchronous tasks and hyperthread is *very* limited, meaning additional cores/threads reach diminishing returns very quickly. In addition, it's ability to utilize all of the CPU allotted to it for AI processing seems to be limited as well. Therefore, a Headless Client ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used. |
|
||||
| RAM | 2048 MiB | 3072 MiB (If used, every Headless Client uses an additional 2048 MB of RAM as well) |
|
||||
| Storage | 10 GB | 50+ GB (depends on how many mods are installed) |
|
||||
| Network | 0.512 Mbit/s/player | 1-5 Mbit/s/player |
|
||||
| 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. |
|
||||
|
||||
___
|
||||
|
||||
### 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.
|
||||
|
||||
#### Default Steam Username & Password
|
||||
|
||||
- To make deploying servers easy (**or if you are using WHMCS**), it is recommended to edit the default values of "Steam Username" and "Steam Password" to your Steam account dedicated for hosting. This will make all newly installed servers use these credentials. **DO NOT** make these fields visible to the end user so that they can use their own Steam accounts; the panel will save their Steam credentials in **plain text**, which is a BIG NO NO for security and privacy.
|
||||
|
||||
#### Restrict Max Players
|
||||
|
||||
- If you would like to restrict the maximum number of players that can join your client's server, you can change the permissions of the "Max Players" variable so that clients can only view this value (and not edit it). It's default value can also be changed, or the value can be changed on a server-by-server basis as desired.
|
||||
___
|
||||
|
||||
### How to Update Egg
|
||||
|
||||
If you already have an Arma 3 egg installed on your panel, there are a couple things to consider before updating to this egg:
|
||||
- The Startup Command has changed, but Pterodactyl currently does not update this across all your existing servers. Servers will still boot with their old Startup Command, but the new HTML Modlist feature will not work, and depreciated variables for config files will be used. Servers will have to be manually updated to the new Startup Command via the Startup tab.
|
||||
- Startup Variables have been completely rehauled. While most important existing variables have retained their Environment Variable names, a lot of their titles and order have been adjusted. Simply updating your existing egg with this egg may lead to Startup Variables being terribly out of order and cluttered. Therefore, the following steps are recommended to avoid this:
|
||||
1. Change the name of your existing Arma 3 egg to "Arma 3 (Old)".
|
||||
2. Install this updated egg as a new egg in your nest.
|
||||
3. Make any egg modifications you would like. (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
4. Change all existing Arma 3 servers to the new egg via the Startup tab.
|
||||
5. Delete the old egg.
|
||||
@@ -0,0 +1,59 @@
|
||||
// ****************************************************************************
|
||||
// *
|
||||
// ArmA 3 Basic Network Config File - basic.cfg *
|
||||
// *
|
||||
// More info about parameters: *
|
||||
// https://community.bistudio.com/wiki/basic.cfg *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// Defines network tuning parameters.
|
||||
//
|
||||
// This file is to be passed to the -cfg parameter on the command line for the server.
|
||||
// The following settings are the suggested settings.
|
||||
// Some settings are disabled (commented out) by default. Remove the // behind a setting to activate it.
|
||||
|
||||
// BANDWIDTH SETTINGS
|
||||
|
||||
// Bandwidth the server is guaranteed to have (in bps)
|
||||
// General guideline is NumberOfPlayers * 256kb
|
||||
// Default: 131072
|
||||
//MinBandwidth=5120000;
|
||||
// Bandwidth the server can never go above (in bps)
|
||||
// For a single server, use full network speed; decrease when running multiple servers
|
||||
//MaxBandwidth=10240000;
|
||||
|
||||
// PACKET SETTINGS
|
||||
|
||||
// Maximum number of packets per frame.
|
||||
// Increasing the value potentially decreases lag, but increases desync
|
||||
// Default: 128
|
||||
//MaxMsgSend=2048;
|
||||
// Maximum payload of guaranteed packet (in b)
|
||||
// Small messages are packed to larger packets
|
||||
// Guaranteed packets are used for non-repetitive events, like shooting
|
||||
// Lower value means more packets are sent, so less events will get combined
|
||||
// Default: 512
|
||||
MaxSizeGuaranteed=512;
|
||||
// Maximum payload of non-guaranteed packet (in b)
|
||||
// Increasing this value may improve bandwidth requirement, but may also increase lag
|
||||
// Largest factor in desync
|
||||
// Guidance is half of MaxSizeGuaranteed
|
||||
// Default: 256
|
||||
MaxSizeNonguaranteed=256;
|
||||
// Maximal size of a packet sent over the network
|
||||
// Only necessary if ISP forces lower packet size and there are connectivity issues
|
||||
// Default: 1400
|
||||
//class sockets{maxPacketSize=1400};
|
||||
|
||||
// SMOOTHNESS SETTINGS
|
||||
|
||||
// Minimal error required to send network updates for far units
|
||||
// Smaller values will make for smoother movement at long ranges, but will increase network traffic
|
||||
// Default: 0.003
|
||||
//MinErrorToSend=0.01;
|
||||
// Minimal error required to send network updates for near units
|
||||
// Using larger value can reduce traffic sent for near units
|
||||
// Also controls client to server traffic
|
||||
// Default: 0.01
|
||||
//MinErrorToSendNear=0.02;
|
||||
@@ -0,0 +1,166 @@
|
||||
// ****************************************************************************
|
||||
// *
|
||||
// ArmA 3 Server Config File - server.cfg *
|
||||
// *
|
||||
// More info about parameters: *
|
||||
// https://community.bistudio.com/wiki/server.cfg *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// Some settings are not listed here; see link above for extensive list.
|
||||
// Some settings are disabled (commented out). Remove the // to enable them.
|
||||
|
||||
// === GLOBAL SETTINGS ===
|
||||
|
||||
// Hostname for server.
|
||||
hostname = "Arma 3 Server";
|
||||
|
||||
// Server password - for private servers.
|
||||
password = "";
|
||||
|
||||
// Admin Password
|
||||
//passwordAdmin = "ADMINPASSWORD";
|
||||
|
||||
// Whitelisted Admins - Clients that do not need a password to login.
|
||||
//admins[] = { "UID OR steamID64", "0123456789", "9876543210" };
|
||||
|
||||
// Server Command Password - for scripting and certain mods.
|
||||
//serverCommandPassword = "COMMANDPASSWORD";
|
||||
|
||||
// Log File
|
||||
logFile = "server_console.log";
|
||||
// RPT File Timestamp Format - none | short | full
|
||||
timeStampFormat = "short";
|
||||
|
||||
// Message of the Day (MOTD)
|
||||
motd[] = {
|
||||
"Welcome to My Arma 3 Server",
|
||||
"TS3 Server: teamspeak.somewhere.com",
|
||||
"Web: www.example.com"
|
||||
};
|
||||
// MOTD Interval - Seconds between each message.
|
||||
motdInterval = 5;
|
||||
|
||||
// Missions Cycle
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
{
|
||||
template = MP_ZGM_m11.Altis;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission2
|
||||
{
|
||||
template = MP_ZGM_m12.Stratis;
|
||||
difficulty = "Recruit";
|
||||
class Params {};
|
||||
};
|
||||
};
|
||||
// Whitelisted Missions - Only these missions can be selected on the mission select screen.
|
||||
//missionWhitelist[] = { "MP_ZGM_m11.Altis", "MP_ZGM_m12.Stratis" };
|
||||
|
||||
|
||||
// === JOINING RULES ===
|
||||
|
||||
// Server Slots
|
||||
maxPlayers = 32;
|
||||
|
||||
// Enable BattlEye
|
||||
BattlEye = 1;
|
||||
|
||||
// Addon Signature Verification - Verifies .pbos against .bisign files - 0 = Disabled | 2 = Enabled (v2)
|
||||
verifySignatures = 2;
|
||||
|
||||
// Kick Duplicate Player IDs - 0 = No | 1 = Yes
|
||||
kickDuplicate = 1;
|
||||
// Allow File Patching - 0 = No Clients | 1 = Headless Clients only | 2 = All Clients
|
||||
allowedFilePatching = 0;
|
||||
// Minimum Required Client Version
|
||||
//requiredBuild = 999999999;
|
||||
// LAN Mode
|
||||
loopback = 0;
|
||||
// UPNP Router Mode
|
||||
upnp = 0;
|
||||
|
||||
// Headless Client IP Whitelists
|
||||
headlessClients[] = { "127.0.0.1" };
|
||||
localClient[] = { "127.0.0.1" };
|
||||
|
||||
|
||||
// === INGAME SETTINGS ===
|
||||
|
||||
// Advanced Flight Model Enforcement - 0 = Up to player | 1 = Advanced model enforced | 2 = Simple model enforced
|
||||
forceRotorLibSimulation = 0;
|
||||
|
||||
// Disable In-Game Voice Chat (Voice over Network)
|
||||
disableVoN = 0;
|
||||
// VoN Codec - 0 = older SPEEX codec | 1 = newer IETF standard OPUS codec
|
||||
vonCodec = 1;
|
||||
// VoN Codec Quality
|
||||
// 0-10 = 8kHz (narrowband).
|
||||
// 11-20 = 16kHz (wideband).
|
||||
// 21-30 = 32kHz (ultrawideband).
|
||||
vonCodecQuality = 10;
|
||||
|
||||
// Persistent Mission - Keeps mission running when all players disconnect.
|
||||
persistent = 0;
|
||||
|
||||
// Allow Drawing in Map
|
||||
drawingInMap = 1;
|
||||
|
||||
// Enforce Difficulty - Use "Custom" for ServerProfile-defined custom difficulty
|
||||
forcedDifficulty = "regular";
|
||||
|
||||
|
||||
// === VOTING ===
|
||||
|
||||
// Allowed Vote Commands - Un-comment this to prevent voted commands (like vote-kick)
|
||||
//allowedVoteCmds[] = {};
|
||||
|
||||
// Start mission-voting when X number of players connect.
|
||||
voteMissionPlayers = 1;
|
||||
|
||||
// Vote Threshold - Percentage of votes needed to confirm a vote.
|
||||
voteThreshold = 0.33;
|
||||
|
||||
|
||||
// === CLIENT NETWORK HEALTH ===
|
||||
|
||||
// Seconds to wait before disconnecting a user which temporarily lost connection.
|
||||
disconnectTimeout = 90;
|
||||
// Max Desync Value
|
||||
maxdesync = 150;
|
||||
// Max Ping (ms)
|
||||
maxping = 200;
|
||||
// Max Packet Loss
|
||||
maxpacketloss = 50;
|
||||
|
||||
// Action to Take on Slow Network (defined above)
|
||||
// Defines if {<MaxPing>, <MaxPacketLoss>, <MaxDesync>, <DisconnectTimeout>} will be logged (0) or kicked (1)
|
||||
kickClientsOnSlowNetwork[] = { 1, 1, 0, 1 };
|
||||
|
||||
// Kick Duration (temp-ban) on Network Kick
|
||||
// Options {<manual kick>, <connectivity kick>, <BattlEye kick>, <harmless kick>} -- Timeout {>0 seconds; -1 until missionEnd; -2 until serverRestart}
|
||||
kickTimeout[] = { {0, -1},{1, 1},{2, 5},{3, 1} };
|
||||
|
||||
|
||||
// === SERVER SIDE SCRIPTING ===
|
||||
// See https://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
// Only allow files with these extensions to be loaded via loadFile command
|
||||
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
// Only allow files with these extensions to be loaded via preprocessFile/preprocessFileLineNumber commands
|
||||
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
// Only allow files with these extensions to be loaded via HTMLLoad command
|
||||
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
|
||||
// Leave commented to let missions/campaigns/addons decide what URIs are supported. Un-comment to define server-level restrictions for URIs
|
||||
//allowedHTMLLoadURIs = {};
|
||||
@@ -0,0 +1,254 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:10:57+01:00",
|
||||
"name": "Arma 3",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:arma3": "ghcr.io\/parkervcp\/games:arma3"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/ -cfg=basic.cfg -config=server.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" \\\"{{STARTUP_PARAMS}}\\\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"\/\/password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"\/\/password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"maxPlayers\": \"maxPlayers = {{env.MAX_PLAYERS}};\",\r\n \"headlessClients\": \"headlessClients[] = { \\\"127.0.0.1\\\" };\",\r\n \"localClient\": \"localClient[] = { \\\"127.0.0.1\\\" };\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Host identity created.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma 3 Egg - egg-arma3.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/22\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Check for valid Steam credentials to download Arma 3 with (requires valid Steam account)\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_USER}\" == \"anonymous\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"INSTALLATION ERROR: A valid REAL Steam account is required to download the Arma 3 Dedicated Server.\"\r\n echo -e \"\\t(\\\"anonymous\\\" account cannot be used. Game ownership is not required.)\"\r\n exit 1\r\nfi\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n# Arma 3 setup\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO ${BASIC_URL}\r\n[[ -f server.cfg ]] || curl -sSLO ${BASIC_URL%\/*}\/server.cfg\r\nchmod 644 basic.cfg server.cfg\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[REQUIRED] Steam Username",
|
||||
"description": "Used for installation and updates. Account does not need to own Arma 3, but MUST BE a VALID Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "your_steam_username",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[REQUIRED] Steam Password",
|
||||
"description": "Used for installation and updates. Steam Guard MUST be completely TURNED OFF for install to complete successfully. *This info is not visible to the server owner, BUT IS stored in PLAIN TEXT. It is NOT advised to use a personal account; best to use a dummy account.*",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "your_steam_password",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Number of SteamCMD Retry Attempts",
|
||||
"description": "How many times SteamCMD should retry downloading a server or mod after a recoverable error. (ie. A particularly large mod like CUP or RHS download times out)",
|
||||
"env_variable": "STEAMCMD_ATTEMPTS",
|
||||
"default_value": "3",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Binary",
|
||||
"description": "Server binary to call on server start. (32-bit: arma3server | 64-bit: arma3server_x64)",
|
||||
"env_variable": "SERVER_BINARY",
|
||||
"default_value": "arma3server_x64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Extra Startup Parameters",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info on valid flags for this field. \"-noLogs\" is recommended to prevent console rate-limit warnings.",
|
||||
"env_variable": "STARTUP_PARAMS",
|
||||
"default_value": "-noLogs",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|gt:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password required to join the server. Leave blank to have no password.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server or mod updates on startup, and updates if necessary. (1 Enable | 0 Disable)",
|
||||
"env_variable": "UPDATE_SERVER",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Mod Downloads\/Updates",
|
||||
"description": "If the Steam account does not own the base Arma 3 game, Steam Workshop mod downloads\/updates will not work. If so, this setting allows disabling of this feature to avoid errors. (1 Disable | 0 Enable)",
|
||||
"env_variable": "DISABLE_MOD_UPDATES",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Download Creator DLCs",
|
||||
"description": "Downloads\/Updates all the mod files required to run any CDLC during the next Automatic Update. DLCs can be enabled by adding their mod folder name to the Additional Mods startup variable. For example, add \"vn;\" to load the Prairie Fire CDLC. (1 Yes | 0 No)",
|
||||
"env_variable": "CDLC",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Modlist File (Exported from A3 Launcher)",
|
||||
"description": "Filename for an exported modlist. This file will be parsed for mod installation and loading. Upload your HTML file to the root directory (eg. \/home\/container\/modlist.html). Leave blank to disable loading mods from a modlist.",
|
||||
"env_variable": "MOD_FILE",
|
||||
"default_value": "modlist.html",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Mods",
|
||||
"description": "A semicolon-separated list of additional mod folders to load. Useful for loading CDLCs or manually uploaded mods. This mod list will be loaded in addition to the Modlist File (if used). Any mods in this list that are in \"@workshopID\" form will also be included in Automatic Updates (if enabled). NO capital letters, spaces, or folders starting with a number! (ex. myMod;vn;@123456789;@987654321;etc;)",
|
||||
"env_variable": "MODIFICATIONS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Make Mod Files Lowercase",
|
||||
"description": "Every mod that is set to be loaded will have its folder and files changed to lowercase (to prevent errors). It is recommended to enable this for one server boot after copying a mod from a Windows machine to the server, or if mods seem to not be loading. (1 Enable | 0 Disable)",
|
||||
"env_variable": "MODS_LOWERCASE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
"description": "Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed. (1 Enable | 0 Disable)",
|
||||
"env_variable": "VALIDATE_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server-Side Only Mods",
|
||||
"description": "Mod folders to be used with the \"-serverMods\" startup option. They only run server-side and are not required by clients if \"verifySignatures\" is enabled. Any mods in this list that are in \"@workshopID\" form will also be included in Automatic Updates (if enabled). NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Optional Client-Side Mods",
|
||||
"description": "A semicolon-separated list of optional mods to load into the keys folder, but not include in server's mod parameter. Useful for allowing clients to connect to the server with or without the mod loaded. Mods in this list must be in \"@workshopID\" form (ex. @123456789;@987654321;). These will also be included in Automatic Updates (if enabled).",
|
||||
"env_variable": "OPTIONALMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Extra Flags for SteamCMD",
|
||||
"description": "[This will override \"Download Creator DLCs\" if used] Only used when checking for server updates, and typically used for grabbing beta builds. Example: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
|
||||
"env_variable": "STEAMCMD_EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Headless Clients (HC)",
|
||||
"description": "Number of Headless Clients (0 - 5) to launch parallel with the server. Be sure to set the following \"HC Connect Password\" variable if your server is password locked. PLEASE NOTE: Using a headless client is only recommended for advanced users, adds extra overhead to your permitted server resources, and is only beneficial if a properly written, HC compliant, mission file is provided. See https:\/\/community.bistudio.com\/wiki\/Arma_3:_Headless_Client for more info.",
|
||||
"env_variable": "HC_NUM",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] HC Hide Console Output",
|
||||
"description": "Hides Headless Client console output (except for critical errors) to prevent nonessential console spam. (1 Hide | 0 Show)",
|
||||
"env_variable": "HC_HIDE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Clear HC Profiles Cache on Startup",
|
||||
"description": "Deletes all profiles from the \"\/home\/container\/serverprofile\/home\" directory on startup, except for the server's main \"Player\" profile. Recommended to enable when running HCs, because the profiles are generally unused and can cause HCs to crash if they develop errors. (1 Enable | 0 Disable)",
|
||||
"env_variable": "CLEAR_CACHE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Arma 3 Dedicated Server App ID",
|
||||
"description": "Used for installation and updates. Rarely needs to be changed.",
|
||||
"env_variable": "STEAMCMD_APPID",
|
||||
"default_value": "233780",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] basic.cfg URL",
|
||||
"description": "URL to a valid Arma 3 basic.cfg file. The \"Basic\" configuration file is used during server runtime for advanced network performance tuning. Because it is a required file, this URL is used to download it during installation, or if the file is found missing during startup.",
|
||||
"env_variable": "BASIC_URL",
|
||||
"default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/arma\/arma3\/egg-arma3-config\/basic.cfg",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|url",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,125 @@
|
||||
# Arma Reforger
|
||||
|
||||
***Server version currently marked as early access by the Arma developers! Check back often for egg updates as more features are added to the server software.***
|
||||
___
|
||||
|
||||
## Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Maintains">🔨</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Soljian">
|
||||
<img src="https://avatars.githubusercontent.com/u/4036453" width="50px;" alt=""/><br /><sub><b>Soljian</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Soljian" title="Contributor">💡</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
From Bohemia Interactive's [Website](https://reforger.armaplatform.com/):
|
||||
> Experience authentic Cold War combat and join friends in the struggle for a sprawling, 51 km² mid-Atlantic island — or take on the role of Game Master and create your very own scenarios for others to enjoy.
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable.
|
||||
- Able to download and load Arma Reforger Workshop mods on startup (requires manual editing of the `config.json` file).
|
||||
- Configuration of multiple common settings in the `config.json` file via Startup Parameters:
|
||||
- Server Name, Passwords, Scenario ID, Disable Third Person, Max FPS, and more...
|
||||
- Max Players is configurable and able to be host enforced (\*see [Recommended Egg Modifications](#restrict-max-players)).
|
||||
- [WHMCS](https://www.whmcs.com/) compatible.
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
| Port | Default (UDP) | Notes |
|
||||
|---------|---------|---------|
|
||||
| **Game** | 2001 | **Required** / Primary port in Pterodactyl |
|
||||
| Steam communication | 50000..65000 | Documented, but not seemingly needed |
|
||||
| Steam Query | 17777 | Used to provide Steam with server status (but does not seemingly need to be forwarded) |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No ARM support. | Can use up to 300-600% CPU under load with uncapped FPS (set Max FPS to prevent). |
|
||||
| RAM | 3328 MiB | 6144-8192 MiB |
|
||||
| Storage | 5 GB | 7-10 GB (or more, depending on number of mods downloaded) |
|
||||
| Network | If node is behind a NAT, will require Egg Modification (\*see [Define Host Registered Bind Address](#define-host-registered-bind-address) | Pterodactyl Node is not behind a NAT |
|
||||
| Game Ownership | Not required to start or download mods. | ---- |
|
||||
|
||||
___
|
||||
|
||||
### How to Add Mods
|
||||
|
||||
Currently, adding mods to your server is tricky because there is very little documentation and it is difficult to find mod IDs. Hopefully this will change in the future, but following these steps will get it to work:
|
||||
|
||||
1. Open up a client copy of Arma Reforger and subscribe/download any mods you want to add to the server (at this time, I do not know of a way to find mod IDs without requiring use of the game).
|
||||
2. Once done, close the game and navigate to this folder on your computer: `My Documents\My Games\ArmaReforger\addons\`
|
||||
3. Aimlessly open each folder to find which mods you want to add and open each of their `ServerData.json` files in a text editor.
|
||||
4. Then, on your server panel, open the `config.json` file for editing.
|
||||
5. Find `"mods": []` and replace it with the following:
|
||||
|
||||
```json
|
||||
"mods": [
|
||||
{
|
||||
"modId": "591AF5BDA9F7CE8B",
|
||||
"name": "Capture & Hold",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
{
|
||||
"modId": "9A51598BACFBFDE7",
|
||||
"name": "Explosive Goats Beta",
|
||||
"version": "0.5.42"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
6. Change `modId` to equal the `id` value found at the top of the `ServerData.json` file you found.
|
||||
7. Change `name` to equal the `name` value found at the **top** of the `ServerData.json` file you found.
|
||||
8. Change `version` to equal the `version` value found at the top of the `ServerData.json` file you found.
|
||||
9. Repeat for each mod you want to add by copy/pasting the `{}` sections like shown above. Make sure each `{}` section has a `,` after it, **except** for the last item.
|
||||
|
||||
The server will automatically download and run the mods you specify on startup. For mods that add scenarios, you can find the Scenario IDs listed as `gameId` in the `ServerData.json` file. Lastly, if a mod updates, you will likely have to change the `version` value to match it's new version. You may also have to delete the mod folder in the `addons/` directory to have it re-download (reports on this have been mixed).
|
||||
|
||||
___
|
||||
|
||||
### Recommended Egg Modifications
|
||||
|
||||
The following are highly recommended variable modifications you can make to the egg after importing it to your panel.
|
||||
|
||||
#### Define Host Registered Bind Address
|
||||
|
||||
Due to a current behavior of Pterodactyl, `SERVER_IP` will not return the node's public IP address if it is behind a NAT; it will return its private IP address. Unfortunately at this time, Arma Reforger **requires** the server's public IP address to be strictly defined within `config.json`. If you know your node is behind a NAT (or you are finding your node's private IP address being added to `config.json`), you will need to edit this egg after importing it by following these steps:
|
||||
|
||||
1. As a panel admin, find and open the egg within your Nests tab.
|
||||
2. On the first tab "Configuration", find the "Configuration Files" box under the "Process Management" section.
|
||||
3. Carefully (as to not touch anything else), find `{{server.build.default.ip}}` and replace it with your node's public IP address. If done correctly, the line should now look something like this:
|
||||
|
||||
```json
|
||||
" \"gameHostRegisterBindAddress\"": " \"gameHostRegisterBindAddress\": \"123.4.56.789\",",
|
||||
```
|
||||
|
||||
#### Restrict Max Players
|
||||
|
||||
If you would like to restrict the maximum number of players that can join your client's server, you can change the permissions of the "Max Players" variable so that clients can only view this value (and not edit it). It's default value can also be changed, or the value can be changed on a server-by-server basis as desired.
|
||||
@@ -0,0 +1,184 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-07-22T10:56:26+02:00",
|
||||
"name": "Arma Reforger",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "Experience authentic Cold War combat and join friends in the struggle for a sprawling, 51 km\u00b2 mid-Atlantic island \u2014 or take on the role of Game Master and create your very own scenarios for others to enjoy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/ArmaReforgerServer -gproj .\/addons\/data\/ArmaReforger.gproj -config .\/config.json -profile .\/profile -backendlog -nothrow -listScenarios -logStats $(({{LOG_INTERVAL}}*1000)) -maxFPS {{MAX_FPS}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"bindAddress\": \"0.0.0.0\",\r\n \"bindPort\": \"{{server.build.default.port}}\",\r\n \"publicAddress\": \"{{server.build.default.ip}}\",\r\n \"publicPort\": \"{{server.build.default.port}}\",\r\n \"game.name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"game.password\": \"{{server.build.env.SERVER_PASS}}\",\r\n \"game.passwordAdmin\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"game.scenarioId\": \"{{server.build.env.SCENARIO_ID}}\",\r\n \"game.maxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"game.gameProperties.fastValidation\": true\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Starting RPL server\"\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} $( [[ \"${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\r\n## Arma Reforger setup\r\n# Check for successful installation\r\nif [[ ! -f $HOME\/ArmaReforgerServer ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Arma Reforger Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nfi\r\n\r\nmkdir -p $HOME\/profile\r\n\r\necho -e 'Creating default \"config.json\" configuration file...'\r\ncat > $HOME\/config.json << EOF\r\n{\r\n\t\"bindAddress\": \"0.0.0.0\",\r\n\t\"bindPort\": ${SERVER_PORT},\r\n\t\"publicAddress\": \"${SERVER_IP}\",\r\n\t\"publicPort\": ${SERVER_PORT},\r\n\t\"game\": {\r\n\t\t\"name\": \"${SERVER_NAME}\",\r\n\t\t\"password\": \"${SERVER_PASS}\",\r\n\t\t\"passwordAdmin\": \"${ADMIN_PASS}\",\r\n\t\t\"scenarioId\": \"${SCENARIO_ID}\",\r\n\t\t\"maxPlayers\": ${MAX_PLAYERS},\r\n\t\t\"visible\": true,\r\n\t\t\"gameProperties\": {\r\n\t\t\t\"serverMaxViewDistance\": 500,\r\n\t\t\t\"serverMinGrassDistance\": 50,\r\n\t\t\t\"networkViewDistance\": 500,\r\n\t\t\t\"disableThirdPerson\": ${DISABLE_THIRD},\r\n\t\t\t\"fastValidation\": true,\r\n\t\t\t\"battlEye\": ${BATTLEYE},\r\n\t\t\t\"VONDisableUI\": false,\r\n\t\t\t\"VONDisableDirectSpeechUI\": false\r\n\t\t},\r\n\t\t\"mods\": []\r\n\t}\r\n}\r\nEOF\r\n\r\necho -e \"\\nArma Reforger Dedicated Server successfully installed!\\n\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server or mod updates on startup, and updates if necessary.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Region",
|
||||
"description": "Region listed in the server browser. ISO 3166-1 alpha-2 codes can be used in this field.",
|
||||
"env_variable": "REGION",
|
||||
"default_value": "US",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,ES,ET,EU,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name displayed in the server browser.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Arma Reforger Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:1,256",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password required for clients to enter before they can join the server. Leave empty to have no password.",
|
||||
"env_variable": "SERVER_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Scenario ID",
|
||||
"description": "ID of scenario to run\/play. Valid IDs can be viewed in the console upon startup of the server.",
|
||||
"env_variable": "SCENARIO_ID",
|
||||
"default_value": "{ECC61978EDCC2B5A}Missions\/23_Campaign.conf",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Joinable",
|
||||
"description": "Set if the session can be selected through the auto join feature.",
|
||||
"env_variable": "AUTO_JOINABLE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Visible in Server Browser",
|
||||
"description": "Set the visibility of the server in the Server Browser.",
|
||||
"env_variable": "VISIBLE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable BattlEye",
|
||||
"description": "Enables the anti-cheat engine on the server and requires all clients to be running it.",
|
||||
"env_variable": "BATTLEYE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Third Person",
|
||||
"description": "",
|
||||
"env_variable": "DISABLE_THIRD",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Max FPS",
|
||||
"description": "Sets a maximum FPS limit for the server, saving performance in some cases. Leave empty for no limit.",
|
||||
"env_variable": "MAX_FPS",
|
||||
"default_value": "120",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|integer|gt:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Log FPS Interval",
|
||||
"description": "How often (in seconds) to log the FPS and other debug stats to the console. Set to 0 to disable.",
|
||||
"env_variable": "LOG_INTERVAL",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
"description": "\"true\" to enable; empty to disable. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Arma Reforger Dedicated Server App ID",
|
||||
"description": "Used for installation and updates. Rarely needs to be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1874900",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
# Assetto Corsa
|
||||
|
||||
Assetto Corsa is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Asseto Corsa requires two ports, game port is UDP and WEB HTTP port is TCP.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 9600 |
|
||||
| HTTP | 8081 |
|
||||
|
||||
### Notes
|
||||
|
||||
<!--Notes about the server ports.-->
|
||||
9600 is the default port, but any port can be used.
|
||||
|
||||
## Freeroam + AI
|
||||
This egg uses: [GitHub](https://github.com/compujuckel/AssettoServer) [Website](https://assettoserver.org/)
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-27T17:12:44+01:00",
|
||||
"name": "Assetto Corsa (Freeroam + AI)",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "Custom Assetto Corsa server with focus on freeroam",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Dotnet_8": "ghcr.io\/parkervcp\/yolks:dotnet_8"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/AssettoServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"SERVER.NAME\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"SERVER.PASSWORD\": \"{{server.build.env.SERVER_PASSWORD}}\",\r\n \"SERVER.ADMIN_PASSWORD\": \"{{server.build.env.ADMIN_PASSWORD}}\",\r\n \"SERVER.HTTP_PORT\": \"{{server.build.env.HTTP_PORT}}\",\r\n \"SERVER.MAX_CLIENTS\": \"{{server.build.env.MAX_CLIENTS}}\",\r\n \"SERVER.UDP_PORT\": \"{{server.build.default.port}}\",\r\n \"SERVER.TCP_PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Starting update loop with an update rate of\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl git jq tar\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/compujuckel\/AssettoServer\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/compujuckel\/AssettoServer\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\nVERSION=latest\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i linux | head -1)\r\n fi\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ncurl -sSL -o assetto-server-linux.tar.gz ${DOWNLOAD_URL}\r\n\r\ntar xvf assetto-server-linux.tar.gz\r\nrm assetto-server-linux.tar.gz\r\nchmod +x AssettoServer\r\n\r\nmkdir cfg\/\r\ncd cfg\/\r\n[ -f \"server_cfg.ini\" ] || curl -sSL -o \"server_cfg.ini\" \"https:\/\/pteropaste.com\/plk8mjfcqt4m\"\r\n[ -f \"extra_cfg.yml\" ] || curl -sSL -o \"extra_cfg.yml\" \"https:\/\/pteropaste.com\/ocd58cq39z0z\"\r\n[ -f \"entry_list.ini\" ] || touch entry_list.ini\r\n\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server name",
|
||||
"description": "The name off the server",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "AC_Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Http port",
|
||||
"description": "",
|
||||
"env_variable": "HTTP_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max clients",
|
||||
"description": "",
|
||||
"env_variable": "MAX_CLIENTS",
|
||||
"default_value": "18",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:2,25",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-27T17:14:48+01:00",
|
||||
"name": "Assetto Corsa",
|
||||
"author": "admin@softwarenoob.com",
|
||||
"description": "Assetto Corsa (Italian for \"Race Setup\") is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/acServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"NAME\": \"NAME={{server.build.env.HOSTNAME}}\",\r\n \"PASSWORD\": \"PASSWORD={{server.build.env.PASSWORD}}\",\r\n \"ADMIN_PASSWORD\": \"ADMIN_PASSWORD={{server.build.env.ADM_PASSWORD}}\",\r\n \"UDP_PORT\": \"UDP_PORT={{server.build.default.port}}\",\r\n \"TCP_PORT\": \"TCP_PORT={{server.build.default.port}}\",\r\n \"HTTP_PORT\": \"HTTP_PORT={{server.build.env.HTTP_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nif [ \"${STEAM_USER}\" == \"anonymous\" ]; then\r\n echo -e \"ERROR - STEAM USER NOT SET\\n\"\r\n echo -e \"Steam account must have the dedicated server in library to install and host the game\\n\"\r\n echo -e \"You must configure Steam account in the server startup variables, after that reinstall the server\\n\"\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "A steam username of an account that owns the game is required",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Steam User Password",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth Code",
|
||||
"description": "Steam Auth Code required if the Steam Account is using Steam Auth. Slow installs will cause the code to expire before it can be used.",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name of the server",
|
||||
"env_variable": "HOSTNAME",
|
||||
"default_value": "Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:45",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If enabled players must enter the password to join the server",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "Used to login as server administrator, type \/help in-game for more",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40|min:8",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "HTTP Port",
|
||||
"description": "HTTP Port",
|
||||
"env_variable": "HTTP_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|int",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "302550",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "autoupdate Server on start or restart. 1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install",
|
||||
"description": "Required to always install and update the correct version of the game.",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# [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 |
|
||||
@@ -0,0 +1,194 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-12T14:03:30+02:00",
|
||||
"name": "Astro Colony [wine]",
|
||||
"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 -QueryPort={{SERVER_QUERY_PORT}} -SteamServerName=\"{{SERVER_NAME}}\"",
|
||||
"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].Seed\": \"{{env.SERVER_MAPSEED}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].MapName\": \"{{env.SERVER_MAPNAME}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].MaxPlayers\": \"{{env.SERVER_MAXPLAYERS}}\",\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 \"[\/Script\/AstroColony.EHServerSubsystem].AutosaveInterval\": \"{{env.SERVER_AUTOSAVEINTERVAL}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].AutosavesCount\": \"{{env.SERVER_AUTOSAVESCOUNT}}\"\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\/AstroColony\/Binaries\/Win64 +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\nSeed=${SERVER_MAPSEED}\r\nMapName=${SERVER_MAPNAME}\r\nMaxPlayers=${SERVER_MAXPLAYERS}\r\nShouldLoadLatestSavegame=${SERVER_LOADLATESTSAVEGAME}\r\nAdminList=${SERVER_ADMINS} \r\nSharedTechnologies=${SERVER_SHAREDTECHNOLOGIES}\r\nOxygenConsumption=${SERVER_OXYGENCONSUMPTION}\r\nFreeConstruction=${SERVER_FREECONSTRUCTION}\r\nAutosaveInterval=${SERVER_AUTOSAVEINTERVAL}\r\nAutosavesCount=${SERVER_AUTOSAVESCOUNT}\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": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[Advanced] 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": "[Advanced] 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": "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 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 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": "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,10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Seed",
|
||||
"description": "Set the map seed.",
|
||||
"env_variable": "SERVER_MAPSEED",
|
||||
"default_value": "1337",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|digits_between:1,10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Name",
|
||||
"description": "Set the name of the save file.",
|
||||
"env_variable": "SERVER_MAPNAME",
|
||||
"default_value": "YourMapName",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosave Interval",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_AUTOSAVEINTERVAL",
|
||||
"default_value": "5.0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosaves Count",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_AUTOSAVESCOUNT",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"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": "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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,182 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-12T14:04:24+02: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": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/AstroColony\/Binaries\/Linux\/AstroColonyServer -log -QueryPort={{SERVER_QUERY_PORT}} -SteamServerName=\\\"{{SERVER_NAME}}\\\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"AstroColony\/Saved\/Config\/LinuxServer\/ServerSettings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/AstroColony.EHServerSubsystem].ServerPassword\": \"{{env.SERVER_PASSWORD}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].Seed\": \"{{env.SERVER_MAPSEED}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].MapName\": \"{{env.SERVER_MAPNAME}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].MaxPlayers\": \"{{env.SERVER_MAXPLAYERS}}\",\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 \"[\/Script\/AstroColony.EHServerSubsystem].AutosaveInterval\": \"{{env.SERVER_AUTOSAVEINTERVAL}}\",\r\n \"[\/Script\/AstroColony.EHServerSubsystem].AutosavesCount\": \"{{env.SERVER_AUTOSAVESCOUNT}}\"\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 tar unzip lib32gcc-s1 wget\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\nSeed=${SERVER_MAPSEED}\r\nMapName=${SERVER_MAPNAME}\r\nMaxPlayers=${SERVER_MAXPLAYERS}\r\nShouldLoadLatestSavegame=${SERVER_LOADLATESTSAVEGAME}\r\nAdminList=${SERVER_ADMINS} \r\nSharedTechnologies=${SERVER_SHAREDTECHNOLOGIES}\r\nOxygenConsumption=${SERVER_OXYGENCONSUMPTION}\r\nFreeConstruction=${SERVER_FREECONSTRUCTION}\r\nAutosaveInterval=${SERVER_AUTOSAVEINTERVAL}\r\nAutosavesCount=${SERVER_AUTOSAVESCOUNT}\r\nEOF\r\n}\r\n\r\nFILE=\/mnt\/server\/AstroColony\/Saved\/Config\/LinuxServer\/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\/LinuxServer\/\r\n cd \/mnt\/server\/AstroColony\/Saved\/Config\/LinuxServer\/\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": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[Advanced] Steam App ID",
|
||||
"description": "Steam App ID used for installation and updates. Rarely needs to be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2934900",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2934900",
|
||||
"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 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 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": "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,10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Seed",
|
||||
"description": "Set the map seed.",
|
||||
"env_variable": "SERVER_MAPSEED",
|
||||
"default_value": "7300",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|digits_between:1,10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Name",
|
||||
"description": "Map name displayed in serverlist",
|
||||
"env_variable": "SERVER_MAPNAME",
|
||||
"default_value": "YourMapName",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosave Interval",
|
||||
"description": "Minutes between auto save (5.0 = 5 minutes)",
|
||||
"env_variable": "SERVER_AUTOSAVEINTERVAL",
|
||||
"default_value": "5.0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosaves Count",
|
||||
"description": "How many auto save files to keep.",
|
||||
"env_variable": "SERVER_AUTOSAVESCOUNT",
|
||||
"default_value": "10",
|
||||
"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": "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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,40 @@
|
||||
# Astroneer
|
||||
|
||||
Steam description : Explore and reshape distant worlds! Astroneer is set during the gold rush of the 25th century: players must explore the farthest reaches of space, risking their lives and resources in a hostile environment for a chance to become a millionaire.
|
||||
|
||||
## Install notes
|
||||
|
||||
The following variables are required to prevent the server to crash on startup :
|
||||
* Public IP : Used to register the server. Must be the IP used to join the server.
|
||||
* Server Owner Name : Steam username of the server owner. It also set the given user as owner and administrator of the server.
|
||||
* Server Owner Guid : Steam id of the server owner. It also set the given user as owner and administrator of the server. ((Steam FAQ)[https://help.steampowered.com/en/faqs/view/2816-BE67-5B69-0FEC])
|
||||
|
||||
## Minimum RAM warning
|
||||
|
||||
Astroneer required at least 700MiB to run. If more than one player will connect, 1GiB seems to be a minimum.
|
||||
|
||||
## Minimum Storage warning
|
||||
|
||||
Astroneer required at least 3GiB. The size may increase with larger save file.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Astroneer requires a single port to run.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 27000 |
|
||||
|
||||
### Notes
|
||||
|
||||
27000 is the default port, but any port can be used.
|
||||
|
||||
|
||||
## Client Configuration
|
||||
|
||||
To be able to connect to the server you need to edit Engine.ini (located at %LocalAppData%\Astro\Saved\Config\WindowsNoEditor\Engine.ini) on every player's computer by adding the following :
|
||||
|
||||
```
|
||||
[SystemSettings]
|
||||
net.AllowEncryption=False
|
||||
```
|
||||
@@ -0,0 +1,122 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-02-20T09:47:43+01:00",
|
||||
"name": "Astroneer Dedicated Server",
|
||||
"author": "melethainiel.aerin@gmail.com",
|
||||
"description": "A game of aerospace industry and interplanetary exploration.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "proton run .\/Astro\/Binaries\/Win64\/AstroServer-Win64-Shipping.exe",
|
||||
"config": {
|
||||
"files": "{\r\n \"Astro\/Saved\/Config\/WindowsServer\/Engine.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"url.Port\": \"{{server.build.default.port}}\",\r\n \"[SystemSettings].net.AllowEncryption\":\"false\"\r\n }\r\n },\r\n \"Astro\/Saved\/Config\/WindowsServer\/AstroServerSettings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/Astro.AstroServerSettings].PublicIP\": \"{{env.PUBLIC_IP}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].OwnerName\": \"{{env.OWNER_NAME}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].OwnerGuid\": \"{{env.OWNER_GUID}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].PlayerProperties\": \"(PlayerFirstJoinName=\\\"{{env.OWNER_NAME}}\\\",PlayerCategory=Admin,PlayerGuid=\\\"{{env.OWNER_GUID}}\\\",PlayerRecentJoinName=\\\"\\\")\",\r\n \"[\/Script\/Astro.AstroServerSettings].ServerPassword\": \"{{env.SERVER_PWD}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].ServerName\": \"{{env.SERVER_NAME}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"nable to use setpriority safely\"\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# 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## 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\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Install steamcmd\"\r\necho \"-----------------------------------------\"\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## install end\r\necho \"-----------------------------------------\"\r\necho \"Install game\"\r\necho \"-----------------------------------------\"\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## 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## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Public IP",
|
||||
"description": "Public IP to connect to the server.",
|
||||
"env_variable": "PUBLIC_IP",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Owner Name",
|
||||
"description": "Steam username of the server owner",
|
||||
"env_variable": "OWNER_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Owner Guid",
|
||||
"description": "Steam id of the server owner",
|
||||
"env_variable": "OWNER_GUID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If specified, players must provide this password to join the server.",
|
||||
"env_variable": "SERVER_PWD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server updates on startup, and updates if necessary. (1 Enable | 0 Disable)",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Windows Install",
|
||||
"description": "Windows Install",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Steam App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "728470",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "PROTON_LOG",
|
||||
"description": "",
|
||||
"env_variable": "PROTON_LOG",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:60",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
# Avorion
|
||||
|
||||
A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Avorion requires 4 ports to run. Despite claiming to require 4 ports, the game port is the only one that appears to have a config option.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 27000 |
|
||||
| Query | 27003 |
|
||||
| Steam Query | 27020 |
|
||||
| Steam | 27021 |
|
||||
|
||||
Additionally the server can be configured with an RCON port. RCON will be disabled if a password is not specified.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| RCON | 27015 |
|
||||
|
||||
## RCON
|
||||
|
||||
If you plan to use RCON it currently needs to be manually configured in the server.ini file. At some point server variables will be added.
|
||||
|
||||
## Updating
|
||||
Because with an update to this egg, the startup command changed, so if you update this egg, you will manually have to update the startup command for every server that was already made.
|
||||
@@ -0,0 +1,204 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:33:18+01:00",
|
||||
"name": "Avorion",
|
||||
"author": "iamkubi@gmail.com",
|
||||
"description": "A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/bin\/AvorionServer --galaxy-name {{GALAXY_NAME}} --admin {{ADMIN_ID}} --datapath galaxy --port {{SERVER_PORT}} --query-port {{QUERY_PORT}} --steam-master-port {{STEAM_MASTER_PORT}} --steam-query-port {{STEAM_QUERY_PORT}} --max-players {{MAX_PLAYERS}} --difficulty {{DIFFICULTY}} --collision-damage {{COLLISION_DMG}} --save-interval {{SAVE_INTERVAL}} --same-start-sector {{SAME_START_SECTOR}} --server-name \"{{SERVER_NAME}}\" --threads {{GAME_THREADS}} --listed {{SERVER_LISTED}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server startup complete\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "\/stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Avorion Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\nmkdir -p \/mnt\/server\/backups\r\nmkdir -p \/mnt\/server\/galaxy\/${GALAXY_NAME}\r\ncurl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/avorion\/server.ini --output \/mnt\/server\/galaxy\/${GALAXY_NAME}\/server.ini\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Galaxy Name",
|
||||
"description": "Name of the Galaxy to create",
|
||||
"env_variable": "GALAXY_NAME",
|
||||
"default_value": "Avorion",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The name of the server, shown in the server list.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Avorion Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin ID",
|
||||
"description": "Steam64 ID for the player to make Server Admin",
|
||||
"env_variable": "ADMIN_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|int|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Difficulty",
|
||||
"description": "Difficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0",
|
||||
"env_variable": "DIFFICULTY",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|in:0,1,2,3,-1,-2,-3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Collision Damage",
|
||||
"description": "A multiplier for damage to colliding objects. Accepts floating-point numbers, e.g. 0.5 is 50% collision damage. 0: no damage, 1: full damage. default: 1",
|
||||
"env_variable": "COLLISION_DMG",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Save Interval",
|
||||
"description": "Time between automatic saves in seconds. Defaults to 300 (5 minutes).",
|
||||
"env_variable": "SAVE_INTERVAL",
|
||||
"default_value": "300",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|int",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Same Start Sector",
|
||||
"description": "Indicates if all players should start in the same sector. If false, a random empty sector on the outer rim is populated and used as the home sector for each new player.",
|
||||
"env_variable": "SAME_START_SECTOR",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Threads",
|
||||
"description": "Number of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)",
|
||||
"env_variable": "GAME_THREADS",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "List Publicly",
|
||||
"description": "Privacy setting. If enabled together with useSteam, the server will show up in public server lists. (Same as the ingame setting 'List Publicly')",
|
||||
"env_variable": "SERVER_LISTED",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "565060",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:565060",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "LD Library Path",
|
||||
"description": "",
|
||||
"env_variable": "LD_LIBRARY_PATH",
|
||||
"default_value": ".\/linux64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Master Port",
|
||||
"description": "",
|
||||
"env_variable": "STEAM_MASTER_PORT",
|
||||
"default_value": "27021",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Query Port",
|
||||
"description": "",
|
||||
"env_variable": "STEAM_QUERY_PORT",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27003",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta branch",
|
||||
"description": "Leave empty for the public branch, beta for the beta branch.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|in:,beta",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,64 @@
|
||||
[Game]
|
||||
Seed=9gfddTsaAN
|
||||
Difficulty=0
|
||||
HardcoreEnabled=false
|
||||
InfiniteResources=false
|
||||
CollisionDamage=1
|
||||
SafePlayerInput=false
|
||||
PlayerToPlayerDamage=true
|
||||
LogoutInvincibility=true
|
||||
LogoutInvincibilityDelay=30
|
||||
DevMode=false
|
||||
ExplicitCallables=true
|
||||
BigWreckageDespawnTime=1800
|
||||
SmallWreckageDespawnTime=900
|
||||
MaximumFightersPerSectorAndPlayer=-1
|
||||
MaximumBlocksPerCraft=-1
|
||||
MaximumVolumePerShip=-1
|
||||
MaximumVolumePerStation=-1
|
||||
MaximumPlayerShips=-1
|
||||
MaximumPlayerStations=-1
|
||||
MaximumBlocksPerTurret=250
|
||||
PlayerInventorySlots=1000
|
||||
AllianceInventorySlots=1000
|
||||
Version=1.0
|
||||
sameStartSector=true
|
||||
startUpScript=data/scripts/server/server.lua
|
||||
startSectorScript=startsector
|
||||
motd=
|
||||
[System]
|
||||
saveInterval=600
|
||||
sectorUpdateTimeLimit=300
|
||||
emptySectorUpdateInterval=0.5
|
||||
workerThreads=1
|
||||
generatorThreads=2
|
||||
scriptBackgroundThreads=2
|
||||
aliveSectorsPerPlayer=5
|
||||
weakUpdate=true
|
||||
profiling=false
|
||||
sendCrashReports=true
|
||||
hangDetection=true
|
||||
backups=true
|
||||
backupsPath=/home/container/backups
|
||||
simulateHighLoadServer=false
|
||||
sendSectorDelay=2
|
||||
placeInShipOnDeathDelay=7
|
||||
[Networking]
|
||||
port=27000
|
||||
broadcastInterval=5
|
||||
isPublic=true
|
||||
isListed=false
|
||||
isAuthenticated=true
|
||||
sendStatsToAdmins=true
|
||||
useSteam=true
|
||||
rconIp=
|
||||
rconPassword=
|
||||
rconPort=27015
|
||||
[Administration]
|
||||
maxPlayers=10
|
||||
name=Avorion Server
|
||||
description=An Avorion Server
|
||||
password=
|
||||
pausable=false
|
||||
accessListMode=Blacklist
|
||||
steamIdOverride=0
|
||||
@@ -0,0 +1,29 @@
|
||||
# Barotrauma
|
||||
|
||||
## From their [Steam Description](https://store.steampowered.com/app/602960/Barotrauma/)
|
||||
|
||||
Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It’s a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|------------|---------|
|
||||
| Game Port | 27015 |
|
||||
| Query Port | 27016 |
|
||||
|
||||
**WARNING
|
||||
You must edit the port and server settings in serversettings.xml file or your server will not work!**
|
||||
|
||||
## No console
|
||||
|
||||
Barotrauma server does not currently have server console, it will just spam random messages. You have to add yourself as admin and type commands in-game. Admin file is located at Data/clientpermissions.xml, example config is below.
|
||||
|
||||
```<?xml version="1.0" encoding="utf-8"?>
|
||||
<ClientPermissions>
|
||||
<Client
|
||||
name="YOUR INGAME NAME HERE"
|
||||
steamid="YOUR STEAM64ID here"
|
||||
preset="Admin" />
|
||||
</ClientPermissions>
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-02T10:11:29+01:00",
|
||||
"name": "Barotrauma",
|
||||
"author": "admin@softwarenoob.com",
|
||||
"description": "Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It\u2019s a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/DedicatedServer -batchmode 2>&1 | sed -r \"s\/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]\/\/g\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1026340",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1026340",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# BATTALION: Legacy
|
||||
|
||||
## From their [Steam Depot](https://steamdb.info/app/805140)
|
||||
|
||||
## [Documentation](https://github.com/parkervcp/eggs/blob/master/README.md)
|
||||
|
||||
BATTALION: Legacy recaptures the core of classic shooters in the final iteration of Battalion 1944. Return to the simple days of playing first person shooters with your friends. Grab your bolt action rifle in 'rifles only' mode or compete in 5v5 Search and Destroy.
|
||||
## Install notes
|
||||
|
||||
The only issue with this egg is that server name appears with a ] in the end, for example: if you set the name to "Test", in the game it'll display as "Test]", the reason for this in unknown.
|
||||
## Installation/System Requirements
|
||||
<!--Make changes to reflect the server minimum/recommended hardware specs-->
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | No ARM support(?) | |
|
||||
| RAM | 1GiB | 2GiB |
|
||||
| Storage | 2GB | - |
|
||||
| Network | 1Mbit/s | 3Mbit/s |
|
||||
| Game Ownership | No | - |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27015 |
|
||||
| Query | 27016 |
|
||||
|
||||
### Notes
|
||||
|
||||
Game and Query port can be anything, but they're both required.
|
||||
@@ -0,0 +1,84 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-07-13T20:14:32+03:00",
|
||||
"name": "BATTALION: Legacy",
|
||||
"author": "diedyesterdaywashere@gmail.com",
|
||||
"description": "BATTALION: Legacy recaptures the core of classic shooters in the final iteration of Battalion 1944. Return to the simple days of playing first person shooters with your friends. Grab your bolt action rifle in 'rifles only' mode or compete in 5v5 Search and Destroy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Battalion\/Binaries\/Linux\/BattalionServer-Linux-Shipping Battalion -QueryPort={{QUERY_PORT}} -SteamServerName=\"{{SERVER_NAME}]\" -Queue=\"Wartide\" -AdminPassword=\"{{ADMIN_PW}}\" -Log",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \" OnCreateSessionComplete \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "805140",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:805140",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Server will check for updates on every restart. Use 0 to disable.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27016",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1024,65536",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:60",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PW",
|
||||
"default_value": "changeme",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# Black Mesa
|
||||
|
||||
## From their [Website](https://www.crowbarcollective.com/games/black-mesa)
|
||||
|
||||
Black Mesa is a 2020 first-person shooter game. It is a third-party remake of Half-Life (1998) made in the Source game engine.
|
||||
|
||||
## Server Ports
|
||||
|
||||
BlackMessa servers require 2 ports to be open, the SourceTV port can also be opened for spectators.
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game/rcon | 27015 |
|
||||
| SourceTV | 27020 |
|
||||
| ClientPort | 27005 |
|
||||
|
||||
## Steam Download [SteamStore](https://store.steampowered.com/app/362890/Black_Mesa/)
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-01T12:25:08+02:00",
|
||||
"name": "Black Mesa",
|
||||
"author": "avalongamecs@gmail.com",
|
||||
"description": "Black Mesa is a 2020 first-person shooter game. It is a third-party remake of Half-Life (1998) made in the Source game engine.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -game {{SRCDS_GAME}} -strictportbind -ip 0.0.0.0 -port {{SERVER_PORT}} +clientport {{SRCDS_CPORT}} +tv_port {{SRCDS_STV}} +map {{SRCDS_MAP}} +servercfgfile server.cfg -maxplayers {{MAX_PLAYERS}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"gameserver Steam ID\"\r\n}",
|
||||
"logs": "{\r\n}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "nmrih id",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "346680",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:346680",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Name",
|
||||
"description": "game name",
|
||||
"env_variable": "SRCDS_GAME",
|
||||
"default_value": "bms",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "default map",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "dm_crossfire",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:25",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Client port",
|
||||
"description": "client port",
|
||||
"env_variable": "SRCDS_CPORT",
|
||||
"default_value": "27005",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|regex:\/^(\\w{1,20})$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Source TV",
|
||||
"description": "source TV",
|
||||
"env_variable": "SRCDS_STV",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "The maximum amount of players allowed on your game server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:128",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# Citadel: Forged with fire
|
||||
|
||||
Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | default |
|
||||
|-------|---------|
|
||||
| Game | 7777 |
|
||||
| Query | 27015 |
|
||||
|
||||
## Notes
|
||||
|
||||
You need to setup the Config of the Server in
|
||||
/Config/Game.ini
|
||||
|
||||
-> WorldCreationSettings
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T11:29:33+02:00",
|
||||
"name": "Citadel: Forged with Fire",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "Citadel: Forged With Fire is a massive online sandbox RPG set in the mystical world of Ignus. Featuring magic, spellcasting, building, exploring and crafting as you fight to make a name for yourself and achieve notoriety across the land.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/CitadelServer.sh",
|
||||
"config": {
|
||||
"files": "{\r\n \"Config\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ConnectionPort=\": \"ConnectionPort={{server.build.default.port}}\",\r\n \"QueryPort=\": \"QueryPort={{server.build.env.QPORT}}\",\r\n \"Password\": \"Password={{server.build.env.ADMIN_PASSWD}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Steam Server initialized and registered with UWorks\"\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\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} 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##Copy steamclient.so to correct Dir\r\nmkdir -p $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nchmod -R a+w,a+x $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\r\nif [[ ! -f $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so ]]; then \r\n\tln -s ..\/..\/..\/..\/..\/..\/linux64\/steamclient.so $HOME\/Citadel\/Plugins\/UWorks\/Source\/ThirdParty\/Linux\/steamclient.so\r\n\r\nfi\r\n\r\n## Create Game.ini\r\nmkdir $HOME\/Config\r\n\r\nif [[ -d $HOME\/Citadel\/Saved\/Config\/LinuxServer ]]; then \r\n\trm -rf $HOME\/Citadel\/Saved\/Config\/LinuxServer\r\nfi\r\n\r\nif [[ -d $HOME\/Engine\/Saved\/Config\/LinuxServer ]]; then \r\n\trm -rf $HOME\/Engine\/Saved\/Config\/LinuxServer\r\nfi\r\n\r\nmkdir -p $HOME\/Citadel\/Saved\/Config\r\nmkdir -p $HOME\/Engine\/Saved\/Config\r\n\r\nln -s ..\/..\/..\/Config $HOME\/Citadel\/Saved\/Config\/LinuxServer\r\nln -s ..\/..\/..\/Config $HOME\/Engine\/Saved\/Config\/LinuxServer\r\n\r\n#rm -fR $HOME\/Citadel\/Saved\/Config\/LinuxServer\/Game.ini\r\ncat <<EOT > $HOME\/Config\/Game.ini\r\n[UWorks]\r\nConnectionPort=7777\r\nQueryPort=27015\r\n\r\n[\/Script\/Citadel.SocialManager]\r\nPassword=changeme\r\n\r\n[\/Script\/Citadel.CitadelGameInstance]\r\nWorldCreationSettings=(ServerName=\"CitadelServer\",Password=\"YourServerPassword\",ServerType=PVP,PlayerLimit=20,bPrivate=true,ExperienceMultiplier=1.000000,InventoryCapacityMultipler=1.000000,KnowledgePointEarnedMultiplier=1.000000,CharacterPointEarnedMultiplier=1.000000,bUnlimitedResources=false,PlayerDamageMultiplier=1.000000,ArmorMultiplier=1.000000,BaseManaRegen=1.000000,bInventoryWeightRestrictions=true,MagicFindMultiplier=1.000000,CraftingMagicFindChanceMultiplier=1.000000,FlyingCostMultiplier=1.000000,FlyingSpeedMultiplier=1.000000,ResourceCollectionMultiplier=1.000000,StructureDamageMultiplier=1.000000,bRespectNoBuildZones=true,MagicStructureManaRegenerationMultiplier=1.000000,MagicStructureManaConsumptionMultiplier=0.000000,bFreeBuildMode=false,TimeOfDayLock=Auto,NPCPopulationMultiplier=1.000000,StructureDecayMultiplier=2.000000,bThronesDecay=true)\r\nEOT\r\n\r\nchmod +x $HOME\/CitadelServer.sh\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "489650",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:489650",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "port",
|
||||
"env_variable": "QPORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PASSWD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
# 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 |
|
||||
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"_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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
# Conan Exiles
|
||||
|
||||
## From their [Site](https://conanexiles.com/)
|
||||
|
||||
Conan Exiles is online multiplayer survival game set in the lands of Conan the Barbarian
|
||||
|
||||
## Minimum RAM warning
|
||||
|
||||
This server requires about 4096m to run properly.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 7777 |
|
||||
| Game +1 | 7778 |
|
||||
| UDP Server query| 27015 |
|
||||
| RCON| 25575 |
|
||||
|
||||
|
||||
## Mods
|
||||
|
||||
If you want mods download you have to allocated 1 extra port and manualy set Engine.ini.
|
||||
|
||||
See: [Here](https://www.conanexiles.com/dedicated-servers/)
|
||||
|
||||
|
||||
## More information can be found [here](https://forums.funcom.com/t/conan-exiles-dedicated-server-app-latest-version-1-0-21/21699)
|
||||
@@ -0,0 +1,134 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-08-17T16:55:04+02:00",
|
||||
"name": "Conan Exiles",
|
||||
"author": "brycea@terrahost.cloud",
|
||||
"description": "Conan Exiles is an open-world survival game set in the brutal lands of Conan the Barbarian. Survive in a savage world, build your kingdom, and dominate your enemies in brutal combat and epic warfare.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "xvfb-run --auto-servernum wine \/home\/container\/ConanSandbox\/Binaries\/Win64\/ConanSandboxServer-Win64-Shipping.exe -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}} -RconPort={{RCON_PORT}} -ServerName=\"{{SRV_NAME}}\" -ServerPassword=\"{{SRV_PW}}\" -console -log",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Started SourceServerQueries\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App id",
|
||||
"description": "The ID corresponding to the game to download.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "443030",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:443030",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Decide if you want to update your server",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "Server Query Port",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|max:65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SRV_NAME",
|
||||
"default_value": "Pterodactyl hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "",
|
||||
"env_variable": "SRV_PW",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEDEBUG",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEPATH",
|
||||
"description": "",
|
||||
"env_variable": "WINEPATH",
|
||||
"default_value": "\/home\/container",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINETRICKS_RUN",
|
||||
"description": "",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "vcrun2013 vcrun2015 corefonts",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Rcon port",
|
||||
"description": "Remote administrative access",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "25575",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
# Core Keeper
|
||||
|
||||
## Game Info
|
||||
|
||||
[Core Keeper](https://store.steampowered.com/app/1621690/Core_Keeper/) is a sandbox survival game.
|
||||
|
||||
Explore an endless cavern of creatures, relics and resources in a mining sandbox adventure for 1-8 players. Mine, build, fight, craft and farm to unravel the mystery of the ancient Core.
|
||||
|
||||
## Dedicated Server
|
||||
|
||||
[Steam DB](https://steamdb.info/app/1963720/info/)
|
||||
|
||||
## Parameters
|
||||
|
||||
| <img width="120">Parameter | <img width="300">Default | Description |
|
||||
|----------------------|--------------------------|---------------------------------------------------|
|
||||
| World Index | 0 | Which world index to use. Default: 0. |
|
||||
| World Name | Core Keeper Server | The name to use for the server. Defaul: Core Keeper Server. |
|
||||
| World Seed | 0 | The seed to use for a new world. Set to 0 to generate random seed. Default: 0. |
|
||||
| Game ID | | Game ID to use for the server. Needs to be at least 28 characters and alphanumeric, excluding Y,y,x,0,O. Empty or not valid means a new ID will be generated at start. Default: EMPTY. |
|
||||
| Max Players | 100 | Maximum number of players that will be allowed to connect to server. Maximum is 100. Default: 100, |
|
||||
| World Mode | 0 | Whether to use normal (0) or hard (1) mode for world. Default: 0. |
|
||||
| Auto Update | 1 | Enable automatic updates on boot: Default: true |
|
||||
|
||||
## Game Ports
|
||||
|
||||
| Port | Default | Protocol | Description |
|
||||
|---------|---------|----------|---------------------------------------------|
|
||||
| Server | 27015 | UDP | |
|
||||
| Query | 27016 | UDP | Automaticaly bind by the game server (Game port + 1) |
|
||||
|
||||
Example:\
|
||||
Server Port = 4711\
|
||||
Make sure you open UDP ports 4711-4712 in your firewall and bind the allocations to the Core Keeper Server.
|
||||
|
||||
## Requirements of RAM and storage
|
||||
|
||||
| Req | Minimum | Recommend |
|
||||
|---------|---------|---------|
|
||||
| RAM | 1.0GB | 1.5GB |
|
||||
| Storage | 1.0GB | 1.5GB |
|
||||
|
||||
## Important directories
|
||||
|
||||
| Directory | Description |
|
||||
|---------|---------|
|
||||
| World Saves | /home/container/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer/worlds |
|
||||
| Server Settings | /home/container/.config/unity3d/Pugstorm/Core Keeper/DedicatedServer |
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-03-28T22:32:36+02:00",
|
||||
"name": "Core Keeper",
|
||||
"author": "karsten@fiedleronline.net",
|
||||
"description": "Core Keeper is a survival sandbox game for single or multiplayers.\r\n\r\n--- Drawn towards a mysterious relic, you are an explorer who awakens in an ancient cavern of creatures, resources and trinkets. Trapped deep underground will your survival skills be up to the task? Mine relics and resources to build your base, craft new equipment, survive, and power up the Core. ---",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "export DISPLAY=:0; rm .\/GameID.txt .\/CoreKeeperServerLog.txt; touch .\/CoreKeeperServerLog.txt; xvfb-run -s \"-screen 0 {{DISPLAY_WIDTH}}x{{DISPLAY_HEIGHT}}x{{DISPLAY_DEPTH}} -ac -nolisten tcp -nolisten unix\" .\/CoreKeeperServer -batchmode -logfile CoreKeeperServerLog.txt -world {{WORLD_INDEX}} -worldname \"{{WORLD_NAME}}\" -worldseed {{WORLD_SEED}} $([[ \"{{GAME_ID}}\" != \"\" ]] && echo -n \" -gameid {{GAME_ID}}\") -maxplayers {{MAX_PLAYERS}} -worldmode {{WORLD_MODE}} -port {{SERVER_PORT}} & CKPID=$!; tail -f CoreKeeperServerLog.txt | grep -e '^\\[userid:[0-9]*\\] player' -e '^[^\\[]' & LOGPID=$!; trap \"kill ${CKPID}; wait ${CKPID}; kill ${LOGPID}; wait ${LOGPID}\" 15; wait $!",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Started session\"\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} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "World Index",
|
||||
"description": "Which world index to use. Default: 0.",
|
||||
"env_variable": "WORLD_INDEX",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Name",
|
||||
"description": "The name to use for the server. Defaul: Core Keeper Server.",
|
||||
"env_variable": "WORLD_NAME",
|
||||
"default_value": "Core Keeper Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100|min:3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Seed",
|
||||
"description": "The seed to use for a new world. Set to 0 to generate random seed. Default: 0.",
|
||||
"env_variable": "WORLD_SEED",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "Game ID to use for the server. Needs to be at least 28 characters and alphanumeric, excluding Y,y,x,0,O. Empty or not valid means a new ID will be generated at start. Default: EMPTY.",
|
||||
"env_variable": "GAME_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|min:28",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players that will be allowed to connect to server. Maximum is 100. Default: 100,",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "100",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Mode",
|
||||
"description": "Whether to use normal (0) or hard (1) mode for world.",
|
||||
"env_variable": "WORLD_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "Steam App ID of Core Keeper Dedicated Server",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1963720",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1963720",
|
||||
"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": "DISPLAY_WIDTH",
|
||||
"description": "Virtual display width. Fix:1.",
|
||||
"env_variable": "DISPLAY_WIDTH",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DISPLAY_HEIGHT",
|
||||
"description": "Virtual display height. Fix:1.",
|
||||
"env_variable": "DISPLAY_HEIGHT",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DISPLAY_DEPTH",
|
||||
"description": "Virtual display color depth. Fix: 24.",
|
||||
"env_variable": "DISPLAY_DEPTH",
|
||||
"default_value": "24",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,9 @@
|
||||
# Counter-Strike
|
||||
|
||||
Counter-Strike is a series of multiplayer tactical first-person shooter video games in which teams of terrorists battle to perpetrate an act of terror while counter-terrorists try to prevent it. The series began on Windows in 1999 with the release of the first game, Counter-Strike.
|
||||
|
||||
## Counter-Strike Titles
|
||||
|
||||
- [Counter-Strike: Source](counter_strike_source)
|
||||
- [Counter-Strike: Global-Offensive](https://github.com/pterodactyl/panel/blob/develop/database/Seeders/eggs/source-engine/egg-counter--strike--global-offensive.json)
|
||||
- [Counter-Strike 2](counter_strike_2)
|
||||
@@ -0,0 +1,34 @@
|
||||
# Counter-Strike 2
|
||||
|
||||
Steam Description :
|
||||
For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strike 2.
|
||||
|
||||
## Install notes
|
||||
|
||||
For CS2 Valve has decided to merge the game and server files. There will not be standalone dedicated server files.<br>
|
||||
|
||||
## Installation/System Requirements
|
||||
|
||||
| | Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | minim x86-64-v2 (with popcnt) | --- |
|
||||
| RAM | 2 GB | --- |
|
||||
| Storage | 33 GB | --- |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27015 |
|
||||
| Source TV (Optional) | 27020 |
|
||||
|
||||
## RCON
|
||||
|
||||
RCON is only accessible from external apps, NOT from the game client itself. It's broken in CS2.<br>
|
||||
If possible always use the Pterodactyl console to use your commands like ``map de_nuke`` or ``mp_restartgame 3``.<br>
|
||||
|
||||
## Notes
|
||||
|
||||
Further install instructions can be found at the official [Documentation](https://developer.valvesoftware.com/wiki/Counter-Strike_2/Dedicated_Servers).
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-03-23T20:42:08+01:00",
|
||||
"name": "Counter-Strike 2",
|
||||
"author": "admin@ballaual.de",
|
||||
"description": "For over two decades, Counter-Strike has offered an elite competitive experience, one shaped by millions of players from across the globe. And now the next chapter in the CS story is about to begin. This is Counter-Strike 2.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:sniper": "ghcr.io\/parkervcp\/steamcmd:sniper"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/game\/bin\/linuxsteamrt64\/cs2 -dedicated $( [ \"$VAC_ENABLED\" == \"1\" ] || printf %s ' -insecure' ) -ip 0.0.0.0 -port {{SERVER_PORT}} -tv_port {{TV_PORT}} -maxplayers {{MAX_PLAYERS}} $( [ \"$RCON_ENABLED\" == \"0\" ] || printf %s ' -usercon' ) +game_mode {{GAME_MODE}} +game_type {{GAME_TYPE}} +map {{SRCDS_MAP}} +hostname \"{{SERVER_NAME}}\" +sv_password \"{{SERVER_PASSWORD}}\" +rcon_password \"{{RCON_PASSWORD}}\" +sv_setsteamaccount {{STEAM_GSLT}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connection to Steam servers successful\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n## 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} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Map",
|
||||
"description": "The default map for the server.\r\nExamples:\r\n\r\nBomb:\r\nde_dust2, de_mirage, de_nuke, de_overpass, de_inferno, de_ancient, de_vertigo, de_anubis\r\n\r\nHostage:\r\ncs_italy, cs_office\r\n\r\nArms Race:\r\nar_baggage, ar_shoots",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "de_dust2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Source AppID",
|
||||
"description": "Required for game to update on server restart. Do not modify this.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "730",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:730",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Specifies the maximum amount of players that are able to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "12",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:1,64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "This is to enable \/ disable auto-updating your server on restart.\r\n\r\nBy default this is set to enabled.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SourceTV Port",
|
||||
"description": "SourceTV port used for connections to spectates games on your server.",
|
||||
"env_variable": "TV_PORT",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1025,65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Gameserver Login Token",
|
||||
"description": "The Steam Account Token required for the server to be displayed public. The token can be acquired here: https:\/\/steamcommunity.com\/dev\/managegameservers",
|
||||
"env_variable": "STEAM_GSLT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|alpha_num|size:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable VAC",
|
||||
"description": "Enable \/ Disable VAC (Valve Anti Cheat) on your server. By default this will be enabled.",
|
||||
"env_variable": "VAC_ENABLED",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable RCON",
|
||||
"description": "Enable \/ Disable RCON for using RCON commands with external tools. By default this will be disabled.",
|
||||
"env_variable": "RCON_ENABLED",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Sets the server name listed in the steam server browser.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl hosted CS2 Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If specified, players must provide this password to join the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|between:1,30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "RCON Password",
|
||||
"description": "To gain access to administrator commands on the server.",
|
||||
"env_variable": "RCON_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|between:1,30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Gamemode",
|
||||
"description": "Defines the Gamemode and Gametype to be set at the start of the next round.\r\nExamples:\r\n\r\nCompetitive:\r\ngame_mode 1\r\ngame_type 0\r\n\r\nWingman:\r\ngame_mode 2\r\ngame_type 0\r\n\r\nCasual:\r\ngame_mode 0\r\ngame_type 0\r\n\r\nDeathmatch:\r\ngame_mode 2\r\ngame_type 1\r\n\r\nArms Race:\r\ngame_mode 0\r\ngame_type 1\r\n\r\nCustom:\r\ngame_mode 0\r\ngame_type 3",
|
||||
"env_variable": "GAME_MODE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Gametype",
|
||||
"description": "Defines the Gamemode and Gametype to be set at the start of the next round.\r\nExamples:\r\n\r\nCompetitive:\r\ngame_mode 1\r\ngame_type 0\r\n\r\nWingman:\r\ngame_mode 2\r\ngame_type 0\r\n\r\nCasual:\r\ngame_mode 0\r\ngame_type 0\r\n\r\nDeathmatch:\r\ngame_mode 2\r\ngame_type 1\r\n\r\nArms Race:\r\ngame_mode 0\r\ngame_type 1\r\n\r\nCustom:\r\ngame_mode 0\r\ngame_type 3",
|
||||
"env_variable": "GAME_TYPE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,42 @@
|
||||
# Counter-Strike: Source
|
||||
|
||||
## From their [Steam Depot](https://steamdb.info/app/232330/)
|
||||
|
||||
A link to the site that you download the server files from.
|
||||
|
||||
## [Documentation](https://github.com/parkervcp/eggs/blob/master/README.md)
|
||||
|
||||
A link to relevent documentation for the server.
|
||||
|
||||
The description of the server usually provided by the game/server maker.
|
||||
<!--Example: Parkers Pterodactyl Eggs Repo. Server eggs for the Pterodactyl management panel-->
|
||||
|
||||
## Install notes
|
||||
|
||||
To get a persistent server (server that appears on the server list), you need to get a [Steam Server Login Token](https://steamcommunity.com/dev/managegameservers), it's not required though.
|
||||
|
||||
## Installation/System Requirements
|
||||
<!--Make changes to reflect the server minimum/recommended hardware specs-->
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Does not support ARM(?) | - |
|
||||
| RAM | 512MB | 1GB |
|
||||
| Storage | 3GB | 6GB |
|
||||
| Network | 1Mbit/s | 5Mbit/s |
|
||||
| Game Ownership | No | See **Install Notes** |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27015 |
|
||||
| Source TV | 27020 |
|
||||
| Client | 27005 |
|
||||
| Steam | 26900 |
|
||||
|
||||
### Notes
|
||||
|
||||
27015 is the default port, but any port can be used.
|
||||
The only required port is the Game port, server can run perfectly fine without other allocations.
|
||||
+92
@@ -0,0 +1,92 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-07-12T01:39:04+03:00",
|
||||
"name": "Counter-Strike: Source",
|
||||
"author": "diedyesterdaywashere@gmail.com",
|
||||
"description": "Counter-Strike: Source blends Counter-Strike's award-winning teamplay action with the advanced technology of Source\u2122 technology.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -game cstrike -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +sv_setsteamaccount {{STEAM_TOKEN}} +ip 0.0.0.0 -strictportbind -norestart",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"gameserver Steam ID \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "Username you log into Steam with.",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Password you log into steam with.",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Guard Code",
|
||||
"description": "Your Steam 2FA on your mobile phone. (Not really needed anymore as you get Approve requests now)",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "232330",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map",
|
||||
"description": "Default map",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "de_dust2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Game Login Token",
|
||||
"description": "https:\/\/steamcommunity.com\/dev\/managegameservers",
|
||||
"env_variable": "STEAM_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
# Craftopia
|
||||
|
||||
Craftopia is the brand new crafting game we made by combining excellent features of various existing crafting games.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Craftopia requires 1 port to run.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 27015 |
|
||||
@@ -0,0 +1,86 @@
|
||||
|
||||
; Game World Data Setting - name, difficulty, gameMode
|
||||
; name : world name
|
||||
; difficulty : 0- Easy, 1- Normal(default), 2- Hard, 3- VeryHard
|
||||
; gameMode : 1- NormalWorld(default), 2- CreativeWorld_Build, 3- CreativeWorld_Play
|
||||
|
||||
; Server Setting - port : used when not using steam lobby function
|
||||
; maxPlayerNumber : maximum number of player can join into the server(1 ~ 127)
|
||||
; usePassword : using server password(1- True / 0- False)
|
||||
; serverPassword : setting server password up to 8 digit number pin
|
||||
|
||||
; Graphics Setting - vSyncCount, maxFPS, grassBend, clothSimOption
|
||||
; vSyncCount : vertical sync, 0- disable, 1- once per frame 2- per two frame
|
||||
; maxFPS : max frames per second, set to -1 for unlimited fps
|
||||
; grassBend : enable Grass Bend(1- True / 0- False)
|
||||
; ClothSimOption : cloth simulation, 1- animate everybody's, 2- animate nobody's
|
||||
|
||||
; Save Setting - autoSaveSec, autoSavePerHour
|
||||
; autoSaveSec : autoSavePer ** second, to disable, set to -1
|
||||
; autoSavePerHour : enable autoSavePerHour(1- True / 0- False)
|
||||
; savePath : relative path base on ServerSetting.ini folder or absolute path
|
||||
|
||||
; Creative Mode Setting -
|
||||
; quickCraft : crafting without checking item cost(1- True / 0- False)
|
||||
; ageLevel : age Level of the game world, effect crafting recipe
|
||||
; islandLevel : island level override, effect monster and dungeon level, set to -1 to disable override
|
||||
; noDeath : player character would not dead(1- True / 0- False)
|
||||
; noDamage : player character would not take damage(1- True / 0- False)
|
||||
; noHunger : player character would not be hungry(1- True / 0- False)
|
||||
; infinitStamina : player character has infinit stamina(1- True / 0- False)
|
||||
; forceDayTime : game world day time override, 0 to 24, set to -1 to disable
|
||||
; buildingIgnoreDamage : building would not take damage(1- True / 0- False)
|
||||
; noBuild : player can not place new building(1- True / 0- False)
|
||||
|
||||
; Creative Mode Player Status Override - apply at gameStart
|
||||
; Level : override character level, set to 0 to disable
|
||||
; Health : override character health, set to 0 to disable
|
||||
; Mana : override character mana, set to 0 to disable
|
||||
; Stamina : override character stamia, set to 0 to disable
|
||||
; Money : override character money
|
||||
; SkillPoint : override character skill point
|
||||
; EnchantPoint : override character enchant point
|
||||
|
||||
[GameWorld]
|
||||
name=NoName
|
||||
difficulty=1
|
||||
gameMode=1
|
||||
|
||||
[Host]
|
||||
port=6587
|
||||
maxPlayerNumber=7
|
||||
usePassword=0
|
||||
serverPassword=00000000
|
||||
bindAddress=0.0.0.0
|
||||
|
||||
[Graphics]
|
||||
vSyncCount=0
|
||||
maxFPS=60
|
||||
grassBend=0
|
||||
clothSimOption=2
|
||||
|
||||
[Save]
|
||||
autoSaveSec=300
|
||||
autoSavePerHour=1
|
||||
savePath=DedicatedServerSave/
|
||||
|
||||
[CreativeModeSetting]
|
||||
quickCraft=1
|
||||
ageLevel=7
|
||||
islandLevel=-1
|
||||
noDeath=1
|
||||
noDamage=1
|
||||
noHunger=1
|
||||
infinitStamina=1
|
||||
forceDayTime=-1
|
||||
buildingIgnoreDamage=0
|
||||
noBuild=0
|
||||
|
||||
[CreativeModePlStatus]
|
||||
Level=0
|
||||
Health=0
|
||||
Mana=0
|
||||
Stamina=0
|
||||
Money=1000
|
||||
SkillPoint=0
|
||||
EnchantPoint=0
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2022-10-07T17:08:45+02:00",
|
||||
"name": "Craftopia",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "Craftopia is the brand new multiplayer survival action game made in Japan. We combined many features we find enjoyable, such as hunting, farming, hack-and-slash, building, automation to develop this game.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Craftopia.x86_64",
|
||||
"config": {
|
||||
"files": "{\r\n \"ServerSetting.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"GameWorld.name\": \"{{server.build.env.WORLD_NAME}}\",\r\n \"Host.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"World is loaded!\"\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\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\ncd \/mnt\/server\r\nFILE=\/mnt\/server\/ServerSetting.ini\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config file exist\"\r\nelse \r\n echo \"Config file does not exist, making one\"\r\n cd \/mnt\/server\r\n curl -sSL -o ServerSetting.ini https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/craftopia\/ServerSetting.ini\r\nfi\r\n\r\necho \"install finished\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1670340",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Name",
|
||||
"description": "",
|
||||
"env_variable": "WORLD_NAME",
|
||||
"default_value": "Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# CryoFall
|
||||
|
||||
## Minimum RAM warning
|
||||
|
||||
You may want to assign a minimum of 1GB of RAM to a server.
|
||||
|
||||
## Server Ports
|
||||
|
||||
The default is 6000 can be changed in SettingsServer.xml
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 6000 |
|
||||
|
||||
### Plugins may require ports to be added to the server
|
||||
@@ -0,0 +1,54 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T11:31:20+02:00",
|
||||
"name": "CryoFall",
|
||||
"author": "contact@zennodes.dk",
|
||||
"description": "NOTE: For now you have to change SettingsServer.xml under CryoFall_Server_v(Version)_NetCore\/Data\/SettingsServer.xml\r\n\r\nCryoFall is a sci-fi multiplayer colony simulation survival game set on a forgotten planet in a distant future.\r\n\r\nJoin the vast world of CryoFall together with other survivors to rebuild your civilization from scratch. Start with primitive technology and simple tools and use them to progress towards modern industrial might and even beyond, eventually reaching space-age technology only seen in science fiction.\r\n\r\nCryoFall can be played either as a relaxed PvE experience with no competition or as a brutal and unforgiving PvP. Make your choice and join one of many available servers with different game modes or host your own and invite your friends to join you!\r\n\r\nBuild your house or a large base together with other players. Dig wells and create farms to sustain basic needs. Build vehicles to explore the world faster. Establish basics of science, all the way from medicine and chemistry to fuel creation and even lithium extraction to create electronic devices. Cook food or prepare drinks to sell them from vending machines in your store.\r\n\r\nBuild factories to produce on an industrial scale: Weapons and defense systems, bionic implants to augment yourself, even large war machines and artillery guns to use against the biggest of opponents",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "dotnet Binaries\/Server\/CryoFall_Server.dll loadOrNew",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"[IMP] UDPServer: Socket-server listening on \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop 10 stopping server"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# INSTALL_FLAGS - when a server has extra glas for things like beta installs or updates.\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## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1061710",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1061710",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,84 @@
|
||||
# DayZ (Experimental)
|
||||
|
||||
**Author's Notice:** This egg ***only*** works with the experimental branch of DayZ (Standalone), and it will ***only*** accept players who are running the experimental client! At time of writing (May 2022), there is ***no*** native Linux server binary for the Stable branch, and compatibility with Wine is poor for the Windows binary.
|
||||
|
||||
___
|
||||
|
||||
## Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Maintains">🔨</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
From Bohemia Interactive's [Website](https://dayz.com/):
|
||||
> How long can you survive a post-apocalyptic world? A land overrun with an infected "zombie" population, where you compete with other survivors for limited resources. Will you team up with strangers and stay strong together? Or play as a lone wolf to avoid betrayal? This is DayZ – this is your story.
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Able to download server updates on startup
|
||||
- Able to download, update, and load Steam Workshop mods on startup (\*see [Installation/System Requirements](#installationsystem-requirements))
|
||||
- Also accepts server-side only mods.
|
||||
- Checks for mod updates against their Steam Workshop page's last update for quick and efficient update checks.
|
||||
- Automatically moves mod `.bikey`'s to the `/keys/` directory.
|
||||
- Note: These features only work with mods in the `@workshopID#` format. Manually uploaded mods are not automatically updated.
|
||||
- Multiple basic settings found within the `serverDZ.cfg` file can be easily set from the server's Startup tab
|
||||
- Server name, passwords, disable third person, persistant time, and more...
|
||||
- Max Players is configurable and able to be host enforced (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
- Additional [DayZ startup parameters](https://community.bistudio.com/wiki/DayZ:Server_Configuration#Launch_Parameters) can be added to fine-tune performance
|
||||
- [WHMCS](https://www.whmcs.com/) compatible (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
Default server ports are listed below, but the Main port can be any port.
|
||||
|
||||
| Port | Default (UDP) |
|
||||
|---------|---------|
|
||||
| **DayZ Game (Main)** | 2302 |
|
||||
| Steam Query (Optional?) | 27016 |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No 32-bit or ARM support. | ---- |
|
||||
| RAM | 4096 MiB | 8192 MiB |
|
||||
| Storage | 3 GB | 7+ GB (depends on how many mods are installed) |
|
||||
| Network | 0.512 Mbit/s/player | 1-5 Mbit/s/player |
|
||||
| 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. |
|
||||
| Game Ownership | Not required to start. | Required for automatic Steam Workshop mod downloading to work. 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. |
|
||||
|
||||
___
|
||||
|
||||
### 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.
|
||||
|
||||
#### Default Steam Username & Password
|
||||
|
||||
- To make deploying servers easy (**or if you are using WHMCS**), it is recommended to edit the default values of "Steam Username" and "Steam Password" to your Steam account dedicated for hosting. This will make all newly installed servers use these credentials. **DO NOT** make these fields visible to the end user so that they can use their own Steam accounts; the panel will save their Steam credentials in **plain text**, which is a BIG NO NO for security and privacy.
|
||||
|
||||
#### Restrict Max Players
|
||||
|
||||
- If you would like to restrict the maximum number of players that can join your client's server, you can change the permissions of the "Max Players" variable so that clients can only view this value (and not edit it). It's default value can also be changed, or the value can be changed on a server-by-server basis as desired.
|
||||
@@ -0,0 +1,314 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:15:35+01:00",
|
||||
"name": "DayZ (Experimental)",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "How long can you survive a post-apocalyptic world? A land overrun with an infected \"zombie\" population, where you compete with other survivors for limited resources. Will you team up with strangers and stay strong together? Or play as a lone wolf to avoid betrayal? This is DayZ \u2013 this is your story.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:dayz": "ghcr.io\/parkervcp\/games:dayz"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -BEpath=.\/ -config=serverDZ.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" \\\"{{STARTUP_PARAMS}}\\\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"serverDZ.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"hostname =\": \"hostname = \\\"{{env.SERVER_HOSTNAME}}\\\";\",\r\n \"password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"passwordAdmin =\": \"passwordAdmin = \\\"{{env.ADMIN_PASSWORD}}\\\";\",\r\n \"maxPlayers\": \"maxPlayers = {{env.MAX_PLAYERS}};\",\r\n \"verifySignatures\": \"verifySignatures = {{env.VERIFY_SIGNATURES}};\",\r\n \"forceSameBuild\": \"forceSameBuild = {{env.ENFORCE_BUILD}};\",\r\n \"disableVoN\": \"disableVoN = {{env.DISABLE_VON}};\",\r\n \"vonCodecQuality\": \"vonCodecQuality = {{env.VON_QUALITY}};\",\r\n \"disable3rdPerson\": \"disable3rdPerson = {{env.DISABLE_THIRD}};\",\r\n \"disableCrosshair\": \"disableCrosshair = {{env.DISABLE_CROSSHAIR}};\",\r\n \"disablePersonalLight\": \"disablePersonalLight = {{env.DISABLE_PERSONAL_LIGHT}};\",\r\n \"lightingConfig\": \"lightingConfig = {{env.LIGHTING_CONFIG}};\",\r\n \"serverTimeAcceleration\": \"serverTimeAcceleration = {{env.TIME_MULT}};\",\r\n \"serverNightTimeAcceleration\": \"serverNightTimeAcceleration = {{env.NIGHT_MULT}};\",\r\n \"serverTimePersistent\": \"serverTimePersistent = {{env.PERSISTENT_TIME}};\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Mission read.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl DayZ (Experimental) Egg - egg-dayz-experimental.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/26\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "Used for installation and updates. \"anonymous\" username can be used for server download, but a real account that owns DayZ is required for mod downloads. For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "anonymous",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Used for installation and updates. Steam Guard MUST be completely TURNED OFF for mod downloads to work. *This info is not visible to the server owner, BUT IS stored in PLAIN TEXT. It is NOT advised to use a personal account; best to use a dummy account.*",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Mod Downloads\/Updates",
|
||||
"description": "If the Steam account does not own the base DayZ game, Steam Workshop mod downloads\/updates will not work. If so, this setting allows disabling of this feature to avoid errors. (1 ON | 0 OFF)",
|
||||
"env_variable": "DISABLE_MOD_UPDATES",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Number of SteamCMD Retry Attempts",
|
||||
"description": "How many times SteamCMD should retry downloading a server or mod after a recoverable error. (ie. A particularly large mod download times out)",
|
||||
"env_variable": "STEAMCMD_ATTEMPTS",
|
||||
"default_value": "3",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name of the server that will appear in the server list.",
|
||||
"env_variable": "SERVER_HOSTNAME",
|
||||
"default_value": "DayZ Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|gt:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password required to join the server. Leave blank to have no password.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "Password to log in as an admin on the server.",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server or mod updates on startup, and updates if necessary.",
|
||||
"env_variable": "UPDATE_SERVER",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Modlist File (Exported from DayZ Launcher)",
|
||||
"description": "Filename for an exported modlist. This file will be parsed for mod installation and loading. Upload your HTML file to the root directory (eg. \/home\/container\/modlist.html). Leave blank to disable loading mods from a modlist.",
|
||||
"env_variable": "MOD_FILE",
|
||||
"default_value": "modlist.html",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Mods",
|
||||
"description": "A semicolon-separated list of mod folders to load from the root directory. Useful for loading manually uploaded mods. Any mods in this list that are in \"@workshopID\" form will also be included in Automatic Updates (if enabled). NO capital letters, spaces, or folders starting with a number! (ex. myMod;@123456789;@987654321;etc;)",
|
||||
"env_variable": "MODIFICATIONS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Verify Signatures",
|
||||
"description": "Ensures all clients have exactly the same version of mods or addons that the server is running. Otherwise, they will be kicked upon connection. (2 ON | 0 OFF)",
|
||||
"env_variable": "VERIFY_SIGNATURES",
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:0,2",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enforce Game Version",
|
||||
"description": "When ON, the server will allow the connection only to clients with same the version as the server.",
|
||||
"env_variable": "ENFORCE_BUILD",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable VoN",
|
||||
"description": "When ON, will disable Voice over Network (voice chat) in the server.",
|
||||
"env_variable": "DISABLE_VON",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "VoN Quality",
|
||||
"description": "Voice over Network codec quality; the higher the better. (Values 0-30)",
|
||||
"env_variable": "VON_QUALITY",
|
||||
"default_value": "20",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Third Person",
|
||||
"description": "When ON, will disable third person view while on the server.",
|
||||
"env_variable": "DISABLE_THIRD",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Crosshair",
|
||||
"description": "When ON, will disable the crosshair from being visible while on the server.",
|
||||
"env_variable": "DISABLE_CROSSHAIR",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Personal Light",
|
||||
"description": "When ON, will disable a personal light positioned above all clients during the night time while on the server.",
|
||||
"env_variable": "DISABLE_PERSONAL_LIGHT",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Darker Nights",
|
||||
"description": "When ON, will make nights darker (more accurate nights, but hard to see without a light).",
|
||||
"env_variable": "LIGHTING_CONFIG",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Persistent Time",
|
||||
"description": "The actual server time is saved to storage, so when ON, the next server start will use the saved time value.",
|
||||
"env_variable": "PERSISTENT_TIME",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Time Multiplier",
|
||||
"description": "This is a time multiplier for in-game time (ie. 12 would move a full 24-hour day in-game 12 times faster, making it last 2 hours \"in real life\"). (Values: 0-24)",
|
||||
"env_variable": "TIME_MULT",
|
||||
"default_value": "12",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,24",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Night Multiplier",
|
||||
"description": "This is an additional multiplier to either speed up or slow down nights in-game. It is multiplied with the \"Time Multiplier\" variable to get it's final multiplier for night time speed. (Values: 0.1-64.0)",
|
||||
"env_variable": "NIGHT_MULT",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:0.1,64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Make Mod Files Lowercase",
|
||||
"description": "Every mod that is set to be loaded will have its folder and files changed to lowercase (to prevent errors). It is recommended to enable this for one server boot after copying a mod from a Windows machine to the server, or if mods seem to not be loading.",
|
||||
"env_variable": "MODS_LOWERCASE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
"description": "Validates all server files when Automatic Updates is ON. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.",
|
||||
"env_variable": "VALIDATE_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server-Side Only Mods",
|
||||
"description": "Mod folders to be used with the \"-serverMods\" startup option. They only run server-side and are not required by clients if \"Verify Signatures\" is ON. Any mods in this list that are in \"@workshopID\" form will also be included in Automatic Updates (if enabled). NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Extra Startup Parameters",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/DayZ:Server_Configuration#Launch_Parameters for more info on valid flags for this field.",
|
||||
"env_variable": "STARTUP_PARAMS",
|
||||
"default_value": "-doLogs -limitFPS=120",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server Binary",
|
||||
"description": "Cannot currently be changed. Left in case other branches with different executable names are introduced at a later date.",
|
||||
"env_variable": "SERVER_BINARY",
|
||||
"default_value": "DayZServer",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:DayZServer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] DayZ SA Dedicated Server App ID",
|
||||
"description": "Used for installation and updates. Rarely needs to be changed. Only the Experimental app ID currently works.",
|
||||
"env_variable": "STEAMCMD_APPID",
|
||||
"default_value": "1042420",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# DDNet
|
||||
|
||||
Want to play the hardest cooperative 2D platformer ever? Want to finish no map ever? Want to be in pain for hours and cry, getting nothing in return? Come play DDNet with a large community of other sufferers!
|
||||
|
||||
This game does not have a Anonymous Server Comp for the Server Files. To pull this you need to own the game on Steam and fill both the STEAM_USER and STEAM_PASS variables prior to installation as it packages the Server Executable into the base games files
|
||||
|
||||
For all added edits, these are found under **ddnet/data/autoexec_server.cfg**
|
||||
|
||||
## Server Port
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 8303 |
|
||||
|
||||
## Hardware Requirements
|
||||
| Storage | RAM | CPU |
|
||||
|---------|---------|-----|
|
||||
| 2.0GiB | 250MiB | 🥔 |
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-03-31T18:27:28-04:00",
|
||||
"name": "DDNet",
|
||||
"author": "imkringle@proton.me",
|
||||
"description": "Want to play the hardest cooperative 2D platformer ever? Want to finish no map ever? Want to be in pain for hours and cry, getting nothing in return? Come play DDNet with a large community of other sufferers!",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"Debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/ddnet\/DDNet-Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"\/ddnet\/data\/autoexec_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#sv_port\": \"sv_port {{server.build.default.port}}\",\r\n \"sv_name\": \"sv_name \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"sv_map\": \"sv_map \\\"{{server.build.env.SERVER_MAP}}\\\"\",\r\n \"sv_register\": \"sv_register {{server.build.env.PUBLIC_SERVER}}\",\r\n \"sv_max_clients\": \"sv_max_clients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"server: version \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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# 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## 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## End\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Updates server on startup",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam AppID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "412220",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:412220",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam User",
|
||||
"description": "Required for File Installation",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Required for File Installation",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl DDNet Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Map",
|
||||
"description": "Map used on Startup - https:\/\/ddnet.org\/settingscommands\/#server-settings",
|
||||
"env_variable": "SERVER_MAP",
|
||||
"default_value": "Sunny Side Up",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Public Server",
|
||||
"description": "1 for Public \/\/ 0 for Private",
|
||||
"env_variable": "PUBLIC_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|between:1,64",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
# Dead
|
||||
|
||||
<!--Please remove these comments and irelevent parts for the server egg your adding before summiting a PR request-->
|
||||
|
||||
## From their [Github](https://github.com/QI-Software/deadmatterpublic)
|
||||
|
||||
## [Documentation]https://www.notion.so/qisoftware/Server-Setup-Guide-d17e5a3f73e34164b6a4d2b37e54da78)
|
||||
|
||||
|
||||
## Installation/System Requirements
|
||||
<!--Make changes to reflect the server minimum/recommended hardware specs-->
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | *AMD64 Only 300%* | *-* |
|
||||
| RAM | 18GiB* | *22GiB* |
|
||||
| Storage | *8GiB* | 10GiB* |
|
||||
| Network | *any* | *-* |
|
||||
| Game Ownership | *Not needed* | *-* |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 7001 |
|
||||
| Query | 7002 |
|
||||
|
||||
### Notes
|
||||
|
||||
<!--Notes about the server ports.-->
|
||||
7001 is the default port, but any port can be used.
|
||||
@@ -0,0 +1,82 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-03-13T10:06:00+01:00",
|
||||
"name": "Dead Matter",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "After a rampant viral outbreak causes global society to collapse, you must survive the harsh wilderness of the Canadian Rockies amidst vast hordes of Infected and rival survivors.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "rm \/home\/container\/DeadMatter\/Saved\/Logs\/DeadMatter.log; proton run DeadMatter\/Binaries\/Win64\/DeadMatterServer-Win64-Test.exe -SteamServerName=\"{{SERVER_NAME}}\" -port={{SERVER_PORT}} -queryport={{QUERY_PORT}} & DM_PID=$!; tail -c0 -F \/home\/container\/DeadMatter\/Saved\/Logs\/DeadMatter.log --pid=$DM_PID",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"LogInit: Display: Starting Game\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## install the steam sdk using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server\/DeadMatter\/Binaries\/Win64\/ +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update 1007 ${INSTALL_FLAGS} validate +quit \r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\nmkdir -p \/mnt\/server\/DeadMatter\/Saved\/Config\/WindowsServer\r\n\r\ncd \/mnt\/server\r\necho \"2184150\" > steam_appid.txt\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": "2584780",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2584780",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean|in:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "7002",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The name of the server",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl hosted server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Auto Update the server on start",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
# Don't Starve Together
|
||||
|
||||
## From their [site](https://www.klei.com/games/dont-starve)
|
||||
|
||||
Don’t Starve is an uncompromising wilderness survival game full of science and magic.
|
||||
|
||||
You play as Wilson, an intrepid Gentleman Scientist who has been trapped by a demon and transported to a mysterious wilderness world. Wilson must learn to exploit his environment and its inhabitants if he ever hopes to escape and find his way back home.
|
||||
|
||||
Enter a strange and unexplored world full of strange creatures, dangers, and surprises. Gather resources to craft items and structures that match your survival style. Play your way as you unravel the mysteries of this strange land.
|
||||
|
||||
## Minimum RAM warning
|
||||
|
||||
Minimum required memory to run the server is around 512mb for a single user..
|
||||
|
||||
## Server Ports
|
||||
|
||||
Don't Starve Together only requires a single port to run. All network communications are proxied through the master. The default is 10999
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 10999 |
|
||||
|
||||
### Mods/Plugins may require ports to be added to the server
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-01-07T09:58:40-05:00",
|
||||
"name": "Don't Starve Together",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Don\u2019t Starve Together is an uncompromising wilderness survival game full of science and magic.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "cd bin64 && coproc caves ( .\/dontstarve_dedicated_server_nullrenderer_x64 -bind_ip 0.0.0.0 -port 11000 -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}} -shard Caves ); .\/dontstarve_dedicated_server_nullrenderer_x64 -bind_ip 0.0.0.0 -port {{SERVER_PORT}} -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}} -shard Master && echo 'c_shutdown()' >&\"${caves[1]}\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"DoNotStarveTogether\/config\/server\/cluster.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"GAMEPLAY.game_mode\": \"{{server.build.env.GAME_MODE}}\",\r\n \"GAMEPLAY.max_players\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"NETWORK.cluster_name\": \"{{server.build.env.CLUSTER_NAME}}\",\r\n \"NETWORK.cluster_description\": \"{{server.build.env.CLUSTER_DESC}}\",\r\n \"SHARD.shard_enabled\": \"true\",\r\n \"SHARD.bind_ip\": \"127.0.0.1\",\r\n \"SHARD.master_ip\": \"127.0.0.1\",\r\n \"SHARD.master_port\": \"11001\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Master\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"{{server.build.default.port}}\",\r\n \"SHARD.is_master\": \"true\"\r\n }\r\n },\r\n \"DoNotStarveTogether\/config\/server\/Caves\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"NETWORK.server_port\": \"11000\",\r\n \"SHARD.is_master\": \"false\",\r\n \"SHARD.name\": \"Caves\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "c_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 'debian:buster-slim'\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## DST specific\r\n## cluster token file\r\necho -e \"getting cluster configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster_token.txt ]; then\r\n echo \"${SERVER_TOKEN}\" >> \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster_token.txt\r\nfi\r\n\r\n## cluster configs \r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/server.cluster.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/cluster.ini\r\nfi\r\n\r\n## master configs\r\necho -e \"getting master configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/\r\n## master ini\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/server.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/server.master.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/server.ini\r\nfi\r\n\r\n## master worldgen override\r\nif [ ! -z ${MASTER_WORLDGEN} ] && [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/worldgenoverride.lua ]; then\r\n curl -sSL ${MASTER_WORLDGEN} -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Master\/worldgenoverride.lua\r\nfi\r\n\r\n## caves configs\r\necho -e \"getting cave configs\"\r\nmkdir -p \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/\r\n## caves ini\r\nif [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/server.ini ]; then\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/server.caves.ini -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/server.ini\r\nfi\r\n\r\n## caves worldgen override\r\nif [ ! -z ${CAVES_WORLDGEN} ] && [ ! -f \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/worldgenoverride.lua ]; then\r\n curl -sSL ${CAVES_WORLDGEN} -o \/mnt\/server\/DoNotStarveTogether\/config\/server\/Caves\/worldgenoverride.lua\r\nfi\r\n\r\necho -e \"install complete\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.\r\n\r\ndefault is 16",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:1,31",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Token",
|
||||
"description": "Required to run a public server. This needs to be generated from in game.\r\n\r\nGet your token here:\r\nhttps:\/\/accounts.klei.com\/account\/game\/servers?game=DontStarveTogether",
|
||||
"env_variable": "SERVER_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "Steam Server App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "343050",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "This is to enable auto-updating for servers.\r\n\r\nDefault is 0. Set to 1 to update",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game mode",
|
||||
"description": "Valid values are survival, endless or wilderness",
|
||||
"env_variable": "GAME_MODE",
|
||||
"default_value": "survival",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Cluster Name",
|
||||
"description": "This is the name that will show up in server browser.",
|
||||
"env_variable": "CLUSTER_NAME",
|
||||
"default_value": "A Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Cluster Description",
|
||||
"description": "This will show up in the server details area on the \u201cBrowse Games\u201d screen.",
|
||||
"env_variable": "CLUSTER_DESC",
|
||||
"default_value": "A Pterodactyl Hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Master Worldgen Override",
|
||||
"description": "Link to the lua file used to generate the master server map. Only used during the install phase.",
|
||||
"env_variable": "MASTER_WORLDGEN",
|
||||
"default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/worldgenoverride.master.lua",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Master Worldgen Override",
|
||||
"description": "Link to the lua file used to generate the caves server map. Only used during the install phase.\r\n\r\nDefault generates a cave map",
|
||||
"env_variable": "CAVES_WORLDGEN",
|
||||
"default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/steamcmd_servers\/dont_starve\/worldgenoverride.caves.lua",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
[ACCOUNT]
|
||||
encode_user_path = true
|
||||
|
||||
[NETWORK]
|
||||
server_port = 11000
|
||||
|
||||
[SHARD]
|
||||
is_master = false
|
||||
name = Caves
|
||||
id = 1137196188
|
||||
@@ -0,0 +1,23 @@
|
||||
[GAMEPLAY]
|
||||
game_mode = survival
|
||||
max_players = 10
|
||||
pvp = false
|
||||
pause_when_empty = true
|
||||
|
||||
[NETWORK]
|
||||
cluster_name = Pterodactyl Test Server
|
||||
cluster_description = A Pterodactyl Hosted Server
|
||||
cluster_password =
|
||||
cluster_intention = social
|
||||
autosaver_enabled = true
|
||||
enable_vote_kick = false
|
||||
|
||||
[MISC]
|
||||
console_enabled = true
|
||||
|
||||
[SHARD]
|
||||
shard_enabled = true
|
||||
bind_ip = 127.0.0.1
|
||||
master_ip = 127.0.0.1
|
||||
master_port = 11001
|
||||
cluster_key = dst
|
||||
@@ -0,0 +1,8 @@
|
||||
[ACCOUNT]
|
||||
encode_user_path = true
|
||||
|
||||
[NETWORK]
|
||||
server_port = 10999
|
||||
|
||||
[SHARD]
|
||||
is_master = true
|
||||
@@ -0,0 +1,106 @@
|
||||
return {
|
||||
override_enabled = true,
|
||||
preset = "DST_CAVE", -- "SURVIVAL_TOGETHER", "MOD_MISSING", "SURVIVAL_TOGETHER_CLASSIC", "SURVIVAL_DEFAULT_PLUS", "COMPLETE_DARKNESS", "DST_CAVE", "DST_CAVE_PLUS"
|
||||
overrides = {
|
||||
-- MISC
|
||||
task_set = "cave_default", -- "classic", "default", "cave_default"
|
||||
start_location = "default", -- "caves", "default", "plus", "darkness"
|
||||
world_size = "default", -- "small", "medium", "default", "huge"
|
||||
branching = "default", -- "never", "least", "default", "most"
|
||||
loop = "default", -- "never", "default", "always"
|
||||
specialevent = "default", -- "none", "default", "hallowed_nights", "winters_feast", "year_of_the_gobbler"
|
||||
autumn = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
winter = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
spring = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
summer = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
season_start = "default", -- "default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random"
|
||||
day = "default", -- "default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"
|
||||
weather = "default", -- "never", "rare", "default", "often", "always"
|
||||
earthquakes = "default", -- "never", "rare", "default", "often", "always"
|
||||
lightning = "default", -- "never", "rare", "default", "often", "always"
|
||||
frograin = "default", -- "never", "rare", "default", "often", "always"
|
||||
wildfires = "default", -- "never", "rare", "default", "often", "always"
|
||||
regrowth = "default", -- "veryslow", "slow", "default", "fast", "veryfast"
|
||||
touchstone = "default", -- "never", "rare", "default", "often", "always"
|
||||
boons = "default", -- "never", "rare", "default", "often", "always"
|
||||
cavelight = "default", -- "veryslow", "slow", "default", "fast", "veryfast"
|
||||
disease_delay = "default", -- "none", "random", "long", "default", "short"
|
||||
prefabswaps_start = "default", -- "classic", "default", "highly random"
|
||||
petrification = "default", -- "none", "few", "default", "many", "max"
|
||||
|
||||
-- RESOURCES
|
||||
flowers = "default", -- "never", "rare", "default", "often", "always"
|
||||
grass = "default", -- "never", "rare", "default", "often", "always"
|
||||
sapling = "default", -- "never", "rare", "default", "often", "always"
|
||||
marshbush = "default", -- "never", "rare", "default", "often", "always"
|
||||
tumbleweed = "default", -- "never", "rare", "default", "often", "always"
|
||||
reeds = "default", -- "never", "rare", "default", "often", "always"
|
||||
trees = "default", -- "never", "rare", "default", "often", "always"
|
||||
flint = "default", -- "never", "rare", "default", "often", "always"
|
||||
rock = "default", -- "never", "rare", "default", "often", "always"
|
||||
rock_ice = "default", -- "never", "rare", "default", "often", "always"
|
||||
meteorspawner = "default", -- "never", "rare", "default", "often", "always"
|
||||
meteorshowers = "default", -- "never", "rare", "default", "often", "always"
|
||||
mushtree = "default", -- "never", "rare", "default", "often", "always"
|
||||
fern = "default", -- "never", "rare", "default", "often", "always"
|
||||
flower_cave = "default", -- "never", "rare", "default", "often", "always"
|
||||
wormlights = "default", -- "never", "rare", "default", "often", "always"
|
||||
|
||||
-- UNPREPARED
|
||||
berrybush = "default", -- "never", "rare", "default", "often", "always"
|
||||
carrot = "default", -- "never", "rare", "default", "often", "always"
|
||||
mushroom = "default", -- "never", "rare", "default", "often", "always"
|
||||
cactus = "default", -- "never", "rare", "default", "often", "always"
|
||||
banana = "default", -- "never", "rare", "default", "often", "always"
|
||||
lichen = "default", -- "never", "rare", "default", "often", "always"
|
||||
|
||||
-- ANIMALS
|
||||
rabbits = "default", -- "never", "rare", "default", "often", "always"
|
||||
moles = "default", -- "never", "rare", "default", "often", "always"
|
||||
butterfly = "default", -- "never", "rare", "default", "often", "always"
|
||||
birds = "default", -- "never", "rare", "default", "often", "always"
|
||||
buzzard = "default", -- "never", "rare", "default", "often", "always"
|
||||
catcoon = "default", -- "never", "rare", "default", "often", "always"
|
||||
perd = "default", -- "never", "rare", "default", "often", "always"
|
||||
pigs = "default", -- "never", "rare", "default", "often", "always"
|
||||
lightninggoat = "default", -- "never", "rare", "default", "often", "always"
|
||||
beefalo = "default", -- "never", "rare", "default", "often", "always"
|
||||
beefaloheat = "default", -- "never", "rare", "default", "often", "always"
|
||||
hunt = "default", -- "never", "rare", "default", "often", "always"
|
||||
alternatehunt = "default", -- "never", "rare", "default", "often", "always"
|
||||
penguins = "default", -- "never", "rare", "default", "often", "always"
|
||||
cave_ponds = "default", -- "never", "rare", "default", "often", "always"
|
||||
ponds = "default", -- "never", "rare", "default", "often", "always"
|
||||
bees = "default", -- "never", "rare", "default", "often", "always"
|
||||
angrybees = "default", -- "never", "rare", "default", "often", "always"
|
||||
tallbirds = "default", -- "never", "rare", "default", "often", "always"
|
||||
slurper = "default", -- "never", "rare", "default", "often", "always"
|
||||
bunnymen = "default", -- "never", "rare", "default", "often", "always"
|
||||
slurtles = "default", -- "never", "rare", "default", "often", "always"
|
||||
rocky = "default", -- "never", "rare", "default", "often", "always"
|
||||
monkey = "default", -- "never", "rare", "default", "often", "always"
|
||||
|
||||
-- MONSTERS
|
||||
spiders = "default", -- "never", "rare", "default", "often", "always"
|
||||
cave_spiders = "default", -- "never", "rare", "default", "often", "always"
|
||||
hounds = "default", -- "never", "rare", "default", "often", "always"
|
||||
houndmound = "default", -- "never", "rare", "default", "often", "always"
|
||||
merm = "default", -- "never", "rare", "default", "often", "always"
|
||||
tentacles = "default", -- "never", "rare", "default", "often", "always"
|
||||
chess = "default", -- "never", "rare", "default", "often", "always"
|
||||
lureplants = "default", -- "never", "rare", "default", "often", "always"
|
||||
walrus = "default", -- "never", "rare", "default", "often", "always"
|
||||
liefs = "default", -- "never", "rare", "default", "often", "always"
|
||||
deciduousmonster = "default", -- "never", "rare", "default", "often", "always"
|
||||
krampus = "default", -- "never", "rare", "default", "often", "always"
|
||||
bearger = "default", -- "never", "rare", "default", "often", "always"
|
||||
deerclops = "default", -- "never", "rare", "default", "often", "always"
|
||||
goosemoose = "default", -- "never", "rare", "default", "often", "always"
|
||||
dragonfly = "default", -- "never", "rare", "default", "often", "always"
|
||||
antliontribute = "default", -- "never", "rare", "default", "often", "always"
|
||||
bats = "default", -- "never", "rare", "default", "often", "always"
|
||||
fissure = "default", -- "never", "rare", "default", "often", "always"
|
||||
wormattacks = "default", -- "never", "rare", "default", "often", "always"
|
||||
worms = "default", -- "never", "rare", "default", "often", "always"
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,106 @@
|
||||
return {
|
||||
override_enabled = true,
|
||||
preset = "SURVIVAL_TOGETHER", -- "SURVIVAL_TOGETHER", "MOD_MISSING", "SURVIVAL_TOGETHER_CLASSIC", "SURVIVAL_DEFAULT_PLUS", "COMPLETE_DARKNESS", "DST_CAVE", "DST_CAVE_PLUS"
|
||||
overrides = {
|
||||
-- MISC
|
||||
task_set = "default", -- "classic", "default", "cave_default"
|
||||
start_location = "default", -- "caves", "default", "plus", "darkness"
|
||||
world_size = "default", -- "small", "medium", "default", "huge"
|
||||
branching = "default", -- "never", "least", "default", "most"
|
||||
loop = "default", -- "never", "default", "always"
|
||||
specialevent = "default", -- "none", "default", "hallowed_nights", "winters_feast", "year_of_the_gobbler"
|
||||
autumn = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
winter = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
spring = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
summer = "default", -- "noseason", "veryshortseason", "shortseason", "default", "longseason", "verylongseason", "random"
|
||||
season_start = "default", -- "default", "winter", "spring", "summer", "autumnorspring", "winterorsummer", "random"
|
||||
day = "default", -- "default", "longday", "longdusk", "longnight", "noday", "nodusk", "nonight", "onlyday", "onlydusk", "onlynight"
|
||||
weather = "default", -- "never", "rare", "default", "often", "always"
|
||||
earthquakes = "default", -- "never", "rare", "default", "often", "always"
|
||||
lightning = "default", -- "never", "rare", "default", "often", "always"
|
||||
frograin = "default", -- "never", "rare", "default", "often", "always"
|
||||
wildfires = "default", -- "never", "rare", "default", "often", "always"
|
||||
regrowth = "default", -- "veryslow", "slow", "default", "fast", "veryfast"
|
||||
touchstone = "default", -- "never", "rare", "default", "often", "always"
|
||||
boons = "default", -- "never", "rare", "default", "often", "always"
|
||||
cavelight = "default", -- "veryslow", "slow", "default", "fast", "veryfast"
|
||||
disease_delay = "default", -- "none", "random", "long", "default", "short"
|
||||
prefabswaps_start = "default", -- "classic", "default", "highly random"
|
||||
petrification = "default", -- "none", "few", "default", "many", "max"
|
||||
|
||||
-- RESOURCES
|
||||
flowers = "default", -- "never", "rare", "default", "often", "always"
|
||||
grass = "default", -- "never", "rare", "default", "often", "always"
|
||||
sapling = "default", -- "never", "rare", "default", "often", "always"
|
||||
marshbush = "default", -- "never", "rare", "default", "often", "always"
|
||||
tumbleweed = "default", -- "never", "rare", "default", "often", "always"
|
||||
reeds = "default", -- "never", "rare", "default", "often", "always"
|
||||
trees = "default", -- "never", "rare", "default", "often", "always"
|
||||
flint = "default", -- "never", "rare", "default", "often", "always"
|
||||
rock = "default", -- "never", "rare", "default", "often", "always"
|
||||
rock_ice = "default", -- "never", "rare", "default", "often", "always"
|
||||
meteorspawner = "default", -- "never", "rare", "default", "often", "always"
|
||||
meteorshowers = "default", -- "never", "rare", "default", "often", "always"
|
||||
mushtree = "default", -- "never", "rare", "default", "often", "always"
|
||||
fern = "default", -- "never", "rare", "default", "often", "always"
|
||||
flower_cave = "default", -- "never", "rare", "default", "often", "always"
|
||||
wormlights = "default", -- "never", "rare", "default", "often", "always"
|
||||
|
||||
-- UNPREPARED
|
||||
berrybush = "default", -- "never", "rare", "default", "often", "always"
|
||||
carrot = "default", -- "never", "rare", "default", "often", "always"
|
||||
mushroom = "default", -- "never", "rare", "default", "often", "always"
|
||||
cactus = "default", -- "never", "rare", "default", "often", "always"
|
||||
banana = "default", -- "never", "rare", "default", "often", "always"
|
||||
lichen = "default", -- "never", "rare", "default", "often", "always"
|
||||
|
||||
-- ANIMALS
|
||||
rabbits = "default", -- "never", "rare", "default", "often", "always"
|
||||
moles = "default", -- "never", "rare", "default", "often", "always"
|
||||
butterfly = "default", -- "never", "rare", "default", "often", "always"
|
||||
birds = "default", -- "never", "rare", "default", "often", "always"
|
||||
buzzard = "default", -- "never", "rare", "default", "often", "always"
|
||||
catcoon = "default", -- "never", "rare", "default", "often", "always"
|
||||
perd = "default", -- "never", "rare", "default", "often", "always"
|
||||
pigs = "default", -- "never", "rare", "default", "often", "always"
|
||||
lightninggoat = "default", -- "never", "rare", "default", "often", "always"
|
||||
beefalo = "default", -- "never", "rare", "default", "often", "always"
|
||||
beefaloheat = "default", -- "never", "rare", "default", "often", "always"
|
||||
hunt = "default", -- "never", "rare", "default", "often", "always"
|
||||
alternatehunt = "default", -- "never", "rare", "default", "often", "always"
|
||||
penguins = "default", -- "never", "rare", "default", "often", "always"
|
||||
cave_ponds = "default", -- "never", "rare", "default", "often", "always"
|
||||
ponds = "default", -- "never", "rare", "default", "often", "always"
|
||||
bees = "default", -- "never", "rare", "default", "often", "always"
|
||||
angrybees = "default", -- "never", "rare", "default", "often", "always"
|
||||
tallbirds = "default", -- "never", "rare", "default", "often", "always"
|
||||
slurper = "default", -- "never", "rare", "default", "often", "always"
|
||||
bunnymen = "default", -- "never", "rare", "default", "often", "always"
|
||||
slurtles = "default", -- "never", "rare", "default", "often", "always"
|
||||
rocky = "default", -- "never", "rare", "default", "often", "always"
|
||||
monkey = "default", -- "never", "rare", "default", "often", "always"
|
||||
|
||||
-- MONSTERS
|
||||
spiders = "default", -- "never", "rare", "default", "often", "always"
|
||||
cave_spiders = "default", -- "never", "rare", "default", "often", "always"
|
||||
hounds = "default", -- "never", "rare", "default", "often", "always"
|
||||
houndmound = "default", -- "never", "rare", "default", "often", "always"
|
||||
merm = "default", -- "never", "rare", "default", "often", "always"
|
||||
tentacles = "default", -- "never", "rare", "default", "often", "always"
|
||||
chess = "default", -- "never", "rare", "default", "often", "always"
|
||||
lureplants = "default", -- "never", "rare", "default", "often", "always"
|
||||
walrus = "default", -- "never", "rare", "default", "often", "always"
|
||||
liefs = "default", -- "never", "rare", "default", "often", "always"
|
||||
deciduousmonster = "default", -- "never", "rare", "default", "often", "always"
|
||||
krampus = "default", -- "never", "rare", "default", "often", "always"
|
||||
bearger = "default", -- "never", "rare", "default", "often", "always"
|
||||
deerclops = "default", -- "never", "rare", "default", "often", "always"
|
||||
goosemoose = "default", -- "never", "rare", "default", "often", "always"
|
||||
dragonfly = "default", -- "never", "rare", "default", "often", "always"
|
||||
antliontribute = "default", -- "never", "rare", "default", "often", "always"
|
||||
bats = "default", -- "never", "rare", "default", "often", "always"
|
||||
fissure = "default", -- "never", "rare", "default", "often", "always"
|
||||
wormattacks = "default", -- "never", "rare", "default", "often", "always"
|
||||
worms = "default", -- "never", "rare", "default", "often", "always"
|
||||
},
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
# Eco
|
||||
|
||||
## Steam Description
|
||||
Eco is a community-based game; the players develop laws, government, and an economy to determine the success of their world. We need extensive playtesting to get the balance of our core features just right. Early Access is the perfect fit for finding an audience for this while also funding additional development.
|
||||
|
||||
## Author & Contributers
|
||||
| Name | Github Profile | Buy me a Coffee |
|
||||
| ------------- |-------------|-------------|
|
||||
| gOOvER | https://github.com/gOOvER | [](https://ko-fi.com/B0B351D0Q) |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Eco requires up to 2 ports
|
||||
|
||||
game port (default 3000)
|
||||
web port (default 3001)
|
||||
|
||||
| Port | default |
|
||||
|---------|---------------|
|
||||
| Game | 3000 |
|
||||
| Web | 3001 |
|
||||
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-01-04T11:28:40+01:00",
|
||||
"name": "Eco",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "Eco is an online world from Strange Loop Games where players must build civilization using resources from an ecosystem that can be damaged and destroyed. The world of Eco is an incredibly reactive one, and whatever any player does in the world affects the underlying ecosystem.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:dotnet": "ghcr.io\/parkervcp\/steamcmd:dotnet"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/EcoServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"Configs\/Network.eco\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"GameServerPort\": \"{{server.build.default.port}}\",\r\n \"WebServerPort\": \"{{server.build.env.WEB_PORT}}\",\r\n \"PublicServer\": \"{{server.build.env.PUB_SRV}}\",\r\n \"Password\": \"{{server.build.env.SRV_PWD}}\",\r\n \"UPnPEnabled\": \"{{server.build.env.UPNP}}\",\r\n \"Description\": \"{{server.build.env.SRV_DES}}\",\r\n \"DetailedDescription\": \"{{server.build.env.DEDES}}\",\r\n \"Playtime\": \"{{server.build.env.PLAYTIME}}\",\r\n \"MaxConnections\": \"{{server.build.env.MAX_CON}}\",\r\n \"WebServerUrl\": \"{{server.build.env.WEBSRVURL}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \" = Unix\"\r\n}",
|
||||
"logs": "{}",
|
||||
"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\n\r\ncp -f $HOME\/Configs\/Network.eco.template $HOME\/Configs\/Network.eco\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "739590",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|digits_between:1,6",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Web server port",
|
||||
"description": "port",
|
||||
"env_variable": "WEB_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|digits_between:1,6",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Public Server",
|
||||
"description": "Public Server = true | Private Server = false",
|
||||
"env_variable": "PUB_SRV",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password to join the Server",
|
||||
"env_variable": "SRV_PWD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Description",
|
||||
"description": "Server Description",
|
||||
"env_variable": "SRV_DES",
|
||||
"default_value": "Hosted by Pterodactyl",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "UPNP",
|
||||
"description": "UPNP OFF",
|
||||
"env_variable": "UPNP",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Install Flags",
|
||||
"description": "",
|
||||
"env_variable": "INSTALL_FLAGS",
|
||||
"default_value": "-beta default",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Webserver URL",
|
||||
"description": "",
|
||||
"env_variable": "WEBSRVURL",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|url",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Connections",
|
||||
"description": "",
|
||||
"env_variable": "MAX_CON",
|
||||
"default_value": "-1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Playtime",
|
||||
"description": "",
|
||||
"env_variable": "PLAYTIME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DetailedDescription",
|
||||
"description": "",
|
||||
"env_variable": "DEDES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:50",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
# Empyrion - Galactic Survival
|
||||
|
||||
### Game Description
|
||||
|
||||
Empyrion - Galactic Survival is a 3D open world, space survival adventure in which you can fly across space and land on planets. Build, explore, fight and survive in a hostile galaxy full of hidden dangers. The game uniquely combines elements from space simulations, construction games, survival games and ego-shooters. The game is currently under development by Eleon Game Studios
|
||||
|
||||
### Usefull links
|
||||
|
||||
Homepage: https://empyriongame.com/
|
||||
Steam: https://store.steampowered.com/app/383120/Empyrion__Galactic_Survival/
|
||||
Wiki: https://empyrion.fandom.com/wiki/Empyrion:_Galactic_Survival_Wiki
|
||||
Discord: https://discord.gg/empyrion
|
||||
|
||||
### Author & Contributers
|
||||
| Name | Github Profile | Buy me a Coffee |
|
||||
| ------------- |-------------|-------------|
|
||||
| gOOvER | https://github.com/gOOvER | [](https://ko-fi.com/B0B351D0Q) |
|
||||
|
||||
### Special Note
|
||||
|
||||
This server have NO Autoupdate. Dont change the AUTO_UPDATE Variable to 1, else server is broken.
|
||||
|
||||
### Server Ports
|
||||
|
||||
Empyrion requires up to 2 ports
|
||||
|
||||
| Port | default |
|
||||
|---------|---------------|
|
||||
| Game | 27015 |
|
||||
| Telnet | 27020 |
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Recommended | Extra info |
|
||||
|-----------|--------------|-------------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No 32 bit or ARM support. |You need min 3 Cores for the Server. |
|
||||
| RAM | 8-16 GB |
|
||||
| Storage | 25 GB (or more, depending on save size or frequency) |
|
||||
@@ -0,0 +1,162 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-04-25T19:31:11+02:00",
|
||||
"name": "Empyrion: Galactic Survival",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "Empyrion: Galactic Survival dedicated server",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:wine_staging": "ghcr.io\/parkervcp\/yolks:wine_staging"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "cd empyrion; WINEDLLOVERRIDES=\"mscoree,mshtml=\" wine .\/DedicatedServer\/EmpyrionDedicated.exe -batchmode -log -logFile .\/logs\/current.log & echo -e \"Checking on telnet connection\" && until nc -z 127.0.0.1 ${TELNET_PORT}; do echo -e \"Waiting on telnet connection...\"; sleep 5; done && $( [[ -z ${TELNET_PWD} ]] && printf %s \"telnet -E 127.0.0.1 ${TELNET_PORT}\")",
|
||||
"config": {
|
||||
"files": "{\r\n \"empyrion\/dedicated.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"ServerConfig.Srv_Port\": \"{{server.build.default.port}}\",\r\n \"ServerConfig.Srv_Name\": \"{{env.SRV_NAME}}\",\r\n \"ServerConfig.Srv_Password\": \"{{env.SRV_PWD}}\",\r\n \"ServerConfig.Srv_MaxPlayers\": \"{{env.MAX_PLAYERS}}\",\r\n \"ServerConfig.Tel_Enabled\": \"{{env.TELNET_ENABLED}}\",\r\n \"ServerConfig.Tel_Port\": \"{{env.TELNET_PORT}}\",\r\n \"ServerConfig.Srv_Description\": \"{{env.SRV_DESC}}\",\r\n \"GameConfig.Seed\": \"{{env.SEED}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Connected to 127.0.0.1.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "saveandexit 0"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Empyrion Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt -y install curl unzip\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steam\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steam\r\n\r\nexport HOME=\/mnt\/server\r\n\r\nmkdir -p \/mnt\/server\/empyrion\r\nmkdir -p \/mnt\/server\/Logs\r\nmkdir -p \/mnt\/server\/empyrion\/logs\r\ntouch \/mnt\/server\/empyrion\/logs\/current.log\r\n\r\ncd \/mnt\/server\/steam\r\nchown -R root:root \/mnt\r\n\r\nif [ \"${VERSION}\" == \"experimental\" ]; then\r\n .\/steamcmd.sh +force_install_dir \/mnt\/server\/empyrion +login anonymous +@sSteamCmdForcePlatformType windows +app_update 530870 -beta experimental validate +quit\r\nelse\r\n .\/steamcmd.sh +force_install_dir \/mnt\/server\/empyrion +login anonymous +@sSteamCmdForcePlatformType windows +app_update 530870 validate +quit\r\nfi\r\n\r\n## setup 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v \/mnt\/server\/steam\/linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\n\r\n## setup 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v \/mnt\/server\/steam\/linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name that will be shown in the Server Browser.",
|
||||
"env_variable": "SRV_NAME",
|
||||
"default_value": "My Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password used to connect to the server - Optional, defaults to no password.",
|
||||
"env_variable": "SRV_PWD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of player allowed to join simultaneously in the server. Defaults to 20.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "20",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable Telnet",
|
||||
"description": "Telnet access to control the server.",
|
||||
"env_variable": "TELNET_ENABLED",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|regex:\/^(?:true)?(?:false)?\\b\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Telnet Port",
|
||||
"description": "Telnet Server Port DO NOT EXPOSE THIS TO THE INTERNET.",
|
||||
"env_variable": "TELNET_PORT",
|
||||
"default_value": "30004",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Seed",
|
||||
"description": "World generation seed. Numeric between 1 and 7 characters.",
|
||||
"env_variable": "SEED",
|
||||
"default_value": "1011345",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Description",
|
||||
"description": "Server info between the \" \", can contain [b]bold[\/b] text or a [u][url=empyriongame.com]link[\/url][\/u] up to 127 chars.",
|
||||
"env_variable": "SRV_DESC",
|
||||
"default_value": "Empyrion Galactic Survival Dedicated Server running on Pterodactyl Panel",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:127",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Enable 'experimental'. Optional, defaults to public branch.",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEARCH",
|
||||
"description": "",
|
||||
"env_variable": "WINEARCH",
|
||||
"default_value": "win64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEDEBUG",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINETRICKS_RUN",
|
||||
"description": "",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "vcrun2019 dotnet48",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "530870",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,74 @@
|
||||
# Enshrouded
|
||||
|
||||
### Game Description
|
||||
|
||||
Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny.
|
||||
|
||||
Ignite the Ancient power of the Flame, and piece together the fragments of a story that unfolds below the surface.
|
||||
|
||||
### Usefull links
|
||||
|
||||
Homepage: https://enshrouded.com/
|
||||
Steam: https://store.steampowered.com/app/1203620/Enshrouded/
|
||||
Wiki: https://enshrouded.wiki.gg/wiki/Enshrouded_Wiki
|
||||
Discord: https://discord.gg/enshrouded
|
||||
|
||||
### Author & Contributers
|
||||
| Name | Github Profile | Buy me a Coffee |
|
||||
| ------------- |-------------|-------------|
|
||||
| Vapok | https://github.com/Vapok | https://www.buymeacoffee.com/vapok |
|
||||
| QuintenQVD0 | https://github.com/QuintenQVD0 | |
|
||||
| gOOvER | https://github.com/gOOvER | ](https://ko-fi.com/B0B351D0Q) |
|
||||
|
||||
### Server Ports
|
||||
|
||||
Enshrouded requires up to 2 ports. Queryport must be GAMEPORT +1
|
||||
|
||||
| Port | default |
|
||||
|---------|---------------|
|
||||
| Game | 15636 |
|
||||
| Query | 15637 |
|
||||
|
||||
### Configuration
|
||||
|
||||
When browsing to the installation path of the dedicated server in Windows as described in the article [Multiplayer and Server Hosting](https://enshrouded.zendesk.com/hc/en-us/sections/16050842957085-Multiplayer-and-Server-Hosting) and after starting the enshrouded\_server.exe once, a new file is created called “enshrouded\_server.json”. It contains the following entries:
|
||||
```json
|
||||
{
|
||||
|
||||
"name": "Enshrouded Server",
|
||||
"password": "",
|
||||
"saveDirectory": "./savegame",
|
||||
"logDirectory": "./logs",
|
||||
"ip": "0.0.0.0",
|
||||
"gamePort": 15636,
|
||||
"queryPort": 15637,
|
||||
"slotCount": 16
|
||||
|
||||
}
|
||||
```
|
||||
* Under “name” the name of the dedicated server can be defined as it will appear in the server list for players of Enshrouded.
|
||||
* Note: as all players can see the names of the servers, please use a non-offensive name for the server.
|
||||
* In the entry “password” a password can be defined that players need to enter before being allowed to join the server.
|
||||
* It is highly recommended to set a password. Every player can see the server and can access it, if no password is set. At this point there is no rights management for the server other than the password. We will work on better admin tools and rights management in the near future.
|
||||
* The directory for the world saved on the dedicated server can be set in the “saveDirectory” setting. By default, the server will save in a subfolder “…/savegame”
|
||||
* If needed, a specific folder for storing log-files can be set in the “logDirectory” setting. If nothing is changed, the server will save the latest log into the directory “…/logs” and archive previous log-files automatically in the folder “…/logs/backup”
|
||||
* If needed for internal network configurations, the IP of the server can be set in the “ip” setting.
|
||||
* “gamePort” and “queryPort” can be changed to match your firewall settings.
|
||||
* “slotCount” allows the definition of the maximum of player slots.
|
||||
* The slot count must be a number between 1 and 16.
|
||||
* Note: each slot (player) will increase the impact on the performance of the server. If CPU or the RAM are a bottleneck, lowering the max of available player slots can help mitigating the stress for the server.
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Recommended | Extra info |
|
||||
|-----------|--------------|-------------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. | You need min 4 Cores for the Server. |
|
||||
| RAM | 4-6 GB |
|
||||
| Storage | 30 GB (or more, depending on save size or frequency) |
|
||||
|
||||
### Server not showing in Serverlist?
|
||||
|
||||
The fact that the server is not displayed in the server list is a known problem.
|
||||
|
||||
As a workaround, you can add the server as a favourite via IP:port in the Steam server browser.
|
||||
The server should then be at the top of the ingame server list
|
||||
@@ -0,0 +1,114 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-03-25T17:55:50+01:00",
|
||||
"name": "Enshrouded",
|
||||
"author": "vapokrocks@gmail.com",
|
||||
"description": "Enshrouded is a game of survival, crafting, and Action RPG combat, set within a sprawling voxel-based continent. As you journey across the mountains and deserts of an open world, you are free to choose your path and shape your destiny. Credit to gOOvER for the help with the proton image which seems to be performing better over the wine egg.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:proton": "ghcr.io\/parkervcp\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "rm .\/logs\/enshrouded_server.log; proton run .\/enshrouded_server.exe & ENS_PID=$! ; tail -c0 -F .\/logs\/enshrouded_server.log --pid=$ENS_PID",
|
||||
"config": {
|
||||
"files": "{\r\n \"enshrouded_server.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SRV_NAME}}\",\r\n \"password\": \"{{server.build.env.SRV_PW}}\",\r\n \"slotCount\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"gamePort\": \"{{server.build.default.port}}\",\r\n \"queryPort\": \"{{server.build.env.QUERY_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"[Session] 'HostOnline' (up)!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\nclear\r\nRED='\\033[0;31m'\r\nGREEN='\\033[0;32m'\r\nYELLOW='\\033[1;33m'\r\nBLUE='\\033[0;34m'\r\nNC='\\033[0m'\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}Enshrouded Installscript${NC}\"\r\necho -e \"${YELLOW}Egg by gOOvER | https:\/\/goover.dev${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates jq dos2unix\r\n\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}download and install steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\necho -e \"${GREEN}..done..${NC}\"\r\n\r\n## install game using steamcmd\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${YELLOW}install game using steamcmd. please wait...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\n\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) $( [[ \"${STEAM_SDK}\" == \"1\" ]] && printf %s '+app_update 1007' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\necho -e \"${GREEN}..done..${NC}\"\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# add below your custom commands if needed\r\n\r\nFILE=\/mnt\/server\/enshrouded_server.json\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exist skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n cd \/mnt\/server\r\n touch enshrouded_server.json\r\n echo \"{\" >> enshrouded_server.json\r\n echo '\t\"name\": \"Enshrouded Server\",' >> enshrouded_server.json\r\n echo '\t\"password\": \"\",' >> enshrouded_server.json\r\n echo '\t\"saveDirectory\": \".\/savegame\",' >> enshrouded_server.json\r\n echo '\t\"logDirectory\": \".\/logs\",' >> enshrouded_server.json\r\n echo '\t\"ip\": \"0.0.0.0\",' >> enshrouded_server.json\r\n echo '\t\"gamePort\": 15636,' >> enshrouded_server.json\r\n echo '\t\"queryPort\": 15637,' >> enshrouded_server.json\r\n echo '\t\"slotCount\": 16' >> enshrouded_server.json\r\n echo '}' >> enshrouded_server.json\r\nfi\r\n## install end\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"\r\necho -e \"${GREEN}Installation completed...${NC}\"\r\necho -e \"${BLUE}-------------------------------------------------${NC}\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[SERVER] Steam Query Port",
|
||||
"description": "Steam Query Port",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINDOWS_INSTALL",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[STEAM] Steam App ID",
|
||||
"description": "Steam App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2278520",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2278520",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Auto Update",
|
||||
"description": "Enable automatic updates on boot",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Server Name",
|
||||
"description": "Name of the server",
|
||||
"env_variable": "SRV_NAME",
|
||||
"default_value": "My Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Server Password",
|
||||
"description": "Server password",
|
||||
"env_variable": "SRV_PW",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Max Players",
|
||||
"description": "Maximum number of players allowed",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SYSTEM] Validate",
|
||||
"description": "Validate the serverfiles through Steam",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,10 @@
|
||||
{
|
||||
"gamePort": 27015,
|
||||
"ip": "0.0.0.0",
|
||||
"logDirectory": "./logs",
|
||||
"name": "My Server",
|
||||
"password": "",
|
||||
"queryPort": 27016,
|
||||
"saveDirectory": "./savegame",
|
||||
"slotCount": 10
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# Fistful of Frags
|
||||
|
||||
## From their steamstore [Website](https://store.steampowered.com/app/265630/Fistful_of_Frags/)
|
||||
|
||||
Multiplayer based, first person enabled, action packed and skill demanding shooter set in the Wild West times. A unique combination of non stop action and slow but powerful weaponry.
|
||||
|
||||
## Server Ports
|
||||
|
||||
FOF servers require 1 port to be open, the SourceTV port can also be opened for spectators.
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game/rcon | 27015 |
|
||||
| SourceTV | 27020 |
|
||||
|
||||
## Steam Download [SteamStore](https://store.steampowered.com/app/265630/Fistful_of_Frags/)
|
||||
@@ -0,0 +1,74 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-01T12:23:21+02:00",
|
||||
"name": "Fof",
|
||||
"author": "avalongamecs@gmail.com",
|
||||
"description": "Fistful of Frags",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -game {{SRCDS_GAME}} -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"gameserver Steam ID\"\r\n}",
|
||||
"logs": "{\r\n}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "fof ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "295230",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:295230",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Name",
|
||||
"description": "fof game",
|
||||
"env_variable": "SRCDS_GAME",
|
||||
"default_value": "fof",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|regex:\/^(fof)$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "Default Map",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "fof_revenge",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|regex:\/^(\\w{1,20})$\/",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# Frozen Flame Dedicated Server
|
||||
|
||||
Frozen Flame is a Survival RPG set in the vast world of Arсana, an ancient land once governed by the Dragons.
|
||||
|
||||
## Server Ports
|
||||
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game | 7777 |
|
||||
| Query | 25575 |
|
||||
| RCON | 27015 |
|
||||
|
||||
## Server configuration
|
||||
The documentation can be found here: [Dedicated server documentation](https://github.com/DreamsideInteractive/FrozenFlameServer)
|
||||
|
||||
## Steam Page [Steam](https://store.steampowered.com/app/715400/Frozen_Flame/)
|
||||
@@ -0,0 +1,112 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-05-07T19:05:11+02:00",
|
||||
"name": "Frozen Flame",
|
||||
"author": "theblitzbat@gmail.com",
|
||||
"description": "Frozen Flame Dedicated Server",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/FrozenFlame\/Binaries\/Linux\/FrozenFlameServer-Linux-Shipping -log -MetaGameServerName=\"{{SERVER_NAME}}\" -port={{SERVER_PORT}} -queryPort={{QUERY_PORT}} -RconPort={{RCON_PORT}} -RconPassword=\"{{RCON_PASSWORD}}\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"FrozenFlame\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"ServerPassword\": \"ServerPassword=\\\"{{server.build.env.SERVER_PASSWORD}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"LogWorld: Bringing up level for play took\"\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} $( [[ \"${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\nmkdir -p \/mnt\/server\/FrozenFlame\/Saved\/Config\/LinuxServer\r\n\r\ncd \/mnt\/server\/FrozenFlame\/Saved\/Config\/LinuxServer\r\n\r\nFILE=\/mnt\/server\/FrozenFlame\/Saved\/Config\/LinuxServer\/Game.ini\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config file already exits. updating.\"\r\n mv Game.ini Game.ini.back\r\n curl -sSL o Game.ini https:\/\/raw.githubusercontent.com\/DreamsideInteractive\/FrozenFlameServer\/main\/Game.ini\r\nelse \r\n echo \"Downloading a config file\"\r\n curl -sSL -o Game.ini https:\/\/raw.githubusercontent.com\/DreamsideInteractive\/FrozenFlameServer\/main\/Game.ini\r\nfi\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "Frozen Flame steam app id for auto updates. Leave blank to avoid auto update.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1348640",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum player count",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "The query port.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "25575",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:1024,65536",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The server name",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "My Frozen Flame Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "The server password",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Auto update server software",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Rcon Port",
|
||||
"description": "",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Rcon password",
|
||||
"description": "",
|
||||
"env_variable": "RCON_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,92 @@
|
||||
# Ground Branch
|
||||
|
||||
***NOTE: Game and server are still Early Access. Your mileage may vary as updates are released.***
|
||||
___
|
||||
|
||||
### Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Original Author">⭐</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Maintains">🔨</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
From BlackFoot Studios' [Website](https://www.groundbranch.com/):
|
||||
> From one of the developers behind the original Rainbow Six® and Ghost Recon® games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the job done.
|
||||
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Configuration of the Server Query port.
|
||||
- Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable.
|
||||
- Mods have not been explored at this time (see [Modding](#modding) for more info)
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
- Default server ports are listed below, but both ports can be changed freely.
|
||||
- ***Both ports are required to be open/allocated for normal server behavior!***
|
||||
|
||||
| Port | Default (UDP) |
|
||||
|---------|---------|
|
||||
| **Game (Primary Port in Pterodactyl)** | 7777 |
|
||||
| Server Query | 27015 |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | No ARM support. | Recent x86/64 (AMD/Intel) processor. |
|
||||
| RAM | 550 MiB | 1024-4096 MiB |
|
||||
| Storage | 5632 MiB | 7168 MiB |
|
||||
| Network | 3 MiB/s | 7 MiB/s |
|
||||
| Game Ownership | Not required to start. | Recommended to fully configure server (see [Server Configuration](#server-configuration) below) |
|
||||
|
||||
___
|
||||
|
||||
### Server Configuration
|
||||
|
||||
**NOTE: Server Name and Max Players will be overwritten by your Pterodactyl Startup settings every time the server is started.**
|
||||
|
||||
#### In-Game Setup (Recommended):
|
||||
|
||||
Configuring all aspects of the server (MOTD, game rules, map list, admins, etc.) is, by far, the easiest (and safest) to do in-game via the built in admin menu. Perform the following steps to do so:
|
||||
|
||||
1. Start the server.
|
||||
2. Navigate to `/home/container/GroundBranch/ServerConfig` within Pterodactyl's file browser and open `AdminSetupPassword.txt`.
|
||||
3. Copy the code and start your personal Ground Branch game client.
|
||||
4. Log into your server via the server browser by searching for it by the name you set in the Startup tab of the server.
|
||||
5. Open the console by pressing `` ` `` and run the following command: `admin setup <your_setup_password>`. This will add you as a SuperAdmin.
|
||||
6. Running the command `admin` will open the Admin Menu where you can configure everything about the server.
|
||||
|
||||
#### Manual Setup (Advanced):
|
||||
|
||||
All configuration files for the server can be found here: `/home/container/GroundBranch/ServerConfig`
|
||||
|
||||
Please refer to the [Unofficial Ground Branch Wiki](https://unofficialgroundbranchwiki.com/en/dedicated-servers/getting-started) for configuration info.
|
||||
|
||||
___
|
||||
|
||||
### Modding
|
||||
|
||||
At the time of writing this (2023/08/01), no workshop mods for Ground Branch exist. However, if they were to be introduced or you would like to install a mod, mods can be installed to `/home/container/steamapps/workshop/content/16900/`. The server should then stage them to `/home/container/GroundBranch/Mods` and show up as "Mod ID #" in the in-game modding menu.
|
||||
@@ -0,0 +1,133 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-08-01T20:51:33+00:00",
|
||||
"name": "Ground Branch",
|
||||
"author": "rehlmgaming@gmail.com",
|
||||
"description": "From one of the developers behind the original Rainbow Six\u00ae and Ghost Recon\u00ae games, comes a thinking-man's first-person shooter featuring in-depth character and weapon customization. Take your time. Think ahead. Get the job done.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Wine [Latest]": "ghcr.io\/parkervcp\/yolks:wine_latest",
|
||||
"Wine [Staging]": "ghcr.io\/parkervcp\/yolks:wine_staging"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "wine GroundBranch\/Binaries\/Win64\/GroundBranchServer-Win64-Shipping.exe MultiHome=0.0.0.0 Port={{SERVER_PORT}} QueryPort={{QUERY_PORT}} -log",
|
||||
"config": {
|
||||
"files": "{\r\n \"GroundBranch\/ServerConfig\/Server.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName=\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n },\r\n \"GroundBranch\/Config\/DefaultModding.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ModPath=\": \"ModPath=..\/steamapps\/workshop\/content\/16900\/\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Bringing up level for play took\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Ground Branch Egg - egg-ground-branch.json\r\n## Authors: David Wolfe (Red-Thirten)\r\n## Date: 2023\/08\/01\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/pterodactyl\/installers:debian'\r\n\r\n# Download and install SteamCMD\r\nexport HOME=\/mnt\/server\r\ncd \/tmp\r\nmkdir -p $HOME\/steamcmd $HOME\/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C $HOME\/steamcmd\r\ncd $HOME\/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\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir $HOME +login anonymous $( [[ \"${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}\" ) validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p $HOME\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so $HOME\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so $HOME\/.steam\/sdk64\/steamclient.so\r\n\r\n## Ground Branch setup\r\n# Make ServerConfig directory and default Server.ini file (since they are not initially present before first server start)\r\nmkdir -p $HOME\/GroundBranch\/ServerConfig\/ && cd \"$_\"\r\n\r\nif [[ ! -f Server.ini ]]; then\r\n echo -e '\\nCreating default \"Server.ini\" configuration file...'\r\n cat > Server.ini << EOF\r\n[\/Script\/RBZooKeeper.ZKServer]\r\n; Name of the server 64 characters max)\r\nServerName=Unnamed Ground Branch Server\r\n\r\n; The message of the day (512 characters max)\r\n; e.g. ServerMOTD=This text here is displayed<br>with the 'admin motd' command.\r\nServerMOTD=\"Welcome!\"\r\n\r\n; Set to a jpg image to act as a server banner in-game where possible.\r\n; (recommended resolution: 788 x 386)\r\nServerWebBanner=\"\"\r\n; e.g. ServerWebPage=www.images.com\/myimage.jpeg\r\n\r\n; Password required to join the server.\r\n;ServerPassword=\r\n\r\n; Password required to join the server as a permanent spectator.\r\n;SpectatorOnlyPassword=\r\n\r\n; Maximum number of players allowed on this server.\r\nMaxPlayers=16\r\nMaxSpectators=0\r\n\r\n; Set default match types for game modes and round limits:\r\n; Match types: Continuous, BestOf, FirstTo, Play, PlayUntilWin, TimeLimit.\r\n; Round limits = number of rounds, except Time Limit match type (minutes).\r\n; PVE \/ Co-op:\r\nPVEMatchType=Continuous\r\nPVERoundLimit=2\r\n; PVP:\r\nPVPMatchType=Continuous\r\nPVPRoundLimit=3\r\n; PVP FFA (Free-for-all):\r\nPVPFFAMatchType=Continuous\r\nPVPFFARoundLimit=1\r\nGameRules=((\"AllowCheats\", False),(\"AllowDeadChat\", True),(\"AllowUnrestrictedRadio\", False),(\"AllowUnrestrictedVoice\", False),(\"SpectateEnemies\", True),(\"SpectateForceFirstPerson\", False),(\"SpectateFreeCam\", True),(\"UseTeamRestrictions\", False))\r\nEOF\r\nfi\r\n\r\necho -e \"\\nGround Branch Dedicated Server successfully installed!\\n\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[REQUIRED] Server Query Port",
|
||||
"description": "This is the port that your clients will type in and use to connect to the lobby (not the game world). Ensure this port matches your externally forwarded port, and is distanced from other running Ground Branch servers in Pterodactyl (increments of 100 are recommended). This is also true for the Primary\/Game Port!",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1024,65536",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server updates on startup, and updates if necessary. (1 ON | 0 OFF)",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The name of the server that will appear in the server list.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Unnamed Ground Branch Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed to connect to the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
"description": "Leave empty (no value) for OFF or type \"true\" or \"1\" for ON. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[System] Ground Branch Dedicated Server App ID",
|
||||
"description": "Steam App ID used for installation and updates. Cannot be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "476400",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:476400",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[System] Use Windows Branch",
|
||||
"description": "Tells the installer\/updater to only download the Windows branch of the server (the only branch currently available) so that it can run on Wine. Cannot be changed.",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[System] WINEDEBUG",
|
||||
"description": "Used to suppress WINE FIXME messages. Rarely needs to be changed.",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[System] WINEARCH",
|
||||
"description": "Used for compatibility. Cannot be changed.",
|
||||
"env_variable": "WINEARCH",
|
||||
"default_value": "win64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:win64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[System] WINEPATH",
|
||||
"description": "Used for compatibility. Cannot be changed.",
|
||||
"env_variable": "WINEPATH",
|
||||
"default_value": "\/home\/container",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:\/home\/container",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
# HLDS Servers
|
||||
|
||||
This is for older games like CS 1.6 (default game) and other servers that still run on the older HLDS server under id 90
|
||||
|
||||
# ReHLDS
|
||||
|
||||
ReHLDS is a reverse engineered build of the original HLDS (build 6152/6153), and provides a number of fixes and improvements over the vanilla engine files, while remaining compatible with vanilla clients.
|
||||
|
||||
Github: https://github.com/dreamstalker/rehlds
|
||||
|
||||
## Server Ports
|
||||
|
||||
HLDS servers require up to 6 ports
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game/rcon | 27015 |
|
||||
| HLTV | 27020 |
|
||||
| VAC | 26900 |
|
||||
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:44:48+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.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/hlds_run -console -game {{HLDS_GAME}} -port {{SERVER_PORT}} -sport {{VAC_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connection to Steam servers successful\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"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",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"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_editable": false,
|
||||
"rules": "required|numeric|in:90",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Name",
|
||||
"description": "The name corresponding to the game to download and run using HLDS.\r\n\r\nall the HLDS server names are here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Server_Name_Enumeration",
|
||||
"env_variable": "HLDS_GAME",
|
||||
"default_value": "valve",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map",
|
||||
"description": "The default map for the server.",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "crossfire",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|alpha_dash",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "VAC port",
|
||||
"description": "Specifies the VAC port the server should use. Default is 26900.",
|
||||
"env_variable": "VAC_PORT",
|
||||
"default_value": "26900",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|digits_between:1,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ReHLDS Version",
|
||||
"description": "The version of ReHLDS to install, or 'latest' for the latest release.",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Validate",
|
||||
"description": "Validate game files on update. Recommended to turn off with ReHLDS due to SteamCMD overwriting its changes",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "Username associated wanted to be used. Not needed.",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Steam Password for account.",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth",
|
||||
"description": "Steam authenticator code for the account",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
# HLDS Servers
|
||||
|
||||
This is for older games like CS 1.6 (default game) and other servers that still run on the older HLDS server under id 90
|
||||
|
||||
## Server Ports
|
||||
|
||||
HLDS servers require up to 6 ports
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game/rcon | 27015 |
|
||||
| HLTV | 27020 |
|
||||
| VAC | 26900 |
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:44:10+01: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.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/hlds_run -console -game {{HLDS_GAME}} -port {{SERVER_PORT}} -sport {{VAC_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connection to Steam servers successful\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"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 \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"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_editable": false,
|
||||
"rules": "required|numeric|in:90",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Name",
|
||||
"description": "The name corresponding to the game to download and run using HLDS.\r\n\r\nall the HLDS server names are here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Server_Name_Enumeration",
|
||||
"env_variable": "HLDS_GAME",
|
||||
"default_value": "cstrike",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map",
|
||||
"description": "The default map for the server.",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "de_dust2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|alpha_dash",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "VAC port",
|
||||
"description": "Specifies the VAC port the server should use. Default is 26900.",
|
||||
"env_variable": "VAC_PORT",
|
||||
"default_value": "26900",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|digits_between:1,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "Steam account used to download files (Defaults to anonymous)",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Password for Steam account",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth",
|
||||
"description": "Steam Guard 2FA code for account",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
# What is Holdfast: Nations At War
|
||||
|
||||
Fight on multiple fronts in Holdfast: Nations At War - A competitive multiplayer first and third person shooter set during the great Napoleonic Era. Charge into battle with over 150 players per server!
|
||||
|
||||
>[Holdfast: NaW](https://store.steampowered.com/app/589290/Holdfast_Nations_At_War/)
|
||||
|
||||

|
||||
|
||||
## Server Ports
|
||||
|
||||
These are the servers required ports
|
||||
|
||||
| Port | default |
|
||||
|----------------|---------|
|
||||
| Game | 20100 |
|
||||
| Query | 27000 |
|
||||
| Communications | 8700 |
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T11:36:37+02:00",
|
||||
"name": "Holdfast NaW",
|
||||
"author": "ankit@bmghosting.com",
|
||||
"description": "Holdfast: Nations at War",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"bmghosting\/pterodactyl-holdfast": "bmghosting\/pterodactyl-holdfast"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "\".\/holdfastnaw-dedicated\/Holdfast NaW\" -startserver -batchmode -nographics -screen-width 320 -screen-height 240 -screen-quality Fastest -framerate {{FPSMAX}} --serverheadless -serverConfigFilePath holdfastnaw-dedicated\/configs\/{{SERVER_CONFIG_PATH}} -logFile holdfastnaw-dedicated\/logs_output\/output_{{SERVER_CONFIG_PATH}} -logArchivesDirectory holdfastnaw-dedicated\/{{SERVER_LOG_ARCHIVE_PATH}}\/ -adminCommandsLogFilePath holdfastnaw-dedicated\/logs_adminactions\/admin_{{SERVER_CONFIG_PATH}} -playersLogFilePath holdfastnaw-dedicated\/logs_playerlogin\/players_{{SERVER_CONFIG_PATH}} -scoreboardLogFilePath holdfastnaw-dedicated\/logs_score\/scorelog_{{SERVER_CONFIG_PATH}} -chatLogFilePath holdfastnaw-dedicated\/logs_chat\/chatlog_{{SERVER_CONFIG_PATH}} -workshopDataPath holdfastnaw-dedicated\/workshop -micSpammersPlayersFilePath holdfastnaw-dedicated\/micspammers.txt -mutedVoipPlayersFilePath holdfastnaw-dedicated\/mutedplayersvoip.txt -mutedChatPlayersFilePath holdfastnaw-dedicated\/mutedplayerschat.txt -bannedPlayersFilePath holdfastnaw-dedicated\/bannedplayers.txt -p {{SERVER_PORT}} -l \"94.130.66.231\" -o 7101",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"STEAMAPPS_INTERFACE_VERSION008\"\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 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server\/holdfastnaw-dedicated +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## copy config to the configs folder - avoid rewrite from steamCMD update\r\ncd \/mnt\/server\/holdfastnaw-dedicated\r\nmkdir -p configs \r\ngit clone https:\/\/github.com\/ankit2951\/holdfast-config.git configs\r\ncp serverconfig_default.txt configs\/serverconfig_default.txt\r\n \r\n## Read\/Write access\r\nchmod -R 777 \/mnt\/server\/*\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Config Name",
|
||||
"description": "Tells the server which config to load in the configs folder. Put .txt at the end of the config name or else the server will not launch.",
|
||||
"env_variable": "SERVER_CONFIG_PATH",
|
||||
"default_value": "serverconfig_default.txt",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Server name that shows up on the server browser.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Server Hosted by BMGHosting.com",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Welcome Message",
|
||||
"description": "Welcome Message in text chat.",
|
||||
"env_variable": "MOTD",
|
||||
"default_value": "Welcome!",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:500",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Region",
|
||||
"description": "Region of the world the server is located in. \r\nOptions: europe \/ usa \/ australia \/ brazil \/ china \/ japan \/ russia \/ southkorea",
|
||||
"env_variable": "REGION",
|
||||
"default_value": "europe",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "Password for Admin Login (F1).",
|
||||
"env_variable": "ADMIN_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Server Password to lock the server. Leave blank if you want the server public.",
|
||||
"env_variable": "SERVER_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Max Players",
|
||||
"env_variable": "PLAYERS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Comm Port",
|
||||
"description": "Server Comm Port",
|
||||
"env_variable": "SERVER_COMM_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Query Port",
|
||||
"description": "Server Query Port",
|
||||
"env_variable": "SERVER_QUERY_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server FPS",
|
||||
"description": "Server FPS",
|
||||
"env_variable": "FPSMAX",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Log Archive",
|
||||
"description": "Server Log Archive",
|
||||
"env_variable": "SERVER_LOG_ARCHIVE_PATH",
|
||||
"default_value": "logs_archive",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "Steam CMD App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1424230",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|in:1424230",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Holdfast Build",
|
||||
"description": "To apply a beta branch, do -beta.\r\nIf you are wanting to specify a beta branch, do -beta <betaname>.\r\nIf the beta branch has a password, do -beta <betaname> -betapassword <password>.",
|
||||
"env_variable": "EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:100",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
# HumanitZ
|
||||
|
||||
|
||||
## [Documentation](https://store.steampowered.com/app/2728330/HZ_SERVER)
|
||||
|
||||
|
||||
HumanitZ is a co-op, isometric, open world survival game in a world ended by the zombie outbreak. As one of the few human survivors, try to last as long as “humanly” possible. The past 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.
|
||||
@@ -0,0 +1,552 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-26T18:43:46+01:00",
|
||||
"name": "HumanitZ",
|
||||
"author": "engels74@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\": \"ini\",\r\n \"find\": {\r\n \"[Host Settings].ServerName\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"[Host Settings].Password\": \"{{server.build.env.PASSWORD}}\",\r\n \"[Host Settings].SaveName\": \"{{server.build.env.SAVE_NAME}}\",\r\n \"[Host Settings].AdminPass\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"[Host Settings].MaxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"[Host Settings].OnlyAllowedPlayers\": \"{{server.build.env.ONLY_ALLOWED_PLAYERS}}\",\r\n \"[World Settings].SaveIntervalSec\": \"{{server.build.env.SAVE_INTERVAL_SEC}}\",\r\n \"[World Settings].NoDeathFeedback\": \"{{server.build.env.NO_DEATH_FEEDBACK}}\",\r\n \"[World Settings].PermaDeath\": \"{{server.build.env.PERMA_DEATH}}\",\r\n \"[World Settings].OnDeath\": \"{{server.build.env.ON_DEATH}}\",\r\n \"[World Settings].PVP\": \"{{server.build.env.PVP}}\",\r\n \"[World Settings].ClearInfection\": \"{{server.build.env.CLEAR_INFECTION}}\",\r\n \"[World Settings].EagleEye\": \"{{server.build.env.EAGLE_EYE}}\",\r\n \"[World Settings].AirDrop\": \"{{server.build.env.AIR_DROP}}\",\r\n \"[World Settings].WeaponBreak\": \"{{server.build.env.WEAPON_BREAK}}\",\r\n \"[World Settings].MultiplayerSleep\": \"{{server.build.env.MULTIPLAYER_SLEEP}}\",\r\n \"[World Settings].LootRespawn\": \"{{server.build.env.LOOT_RESPAWN}}\",\r\n \"[World Settings].LootRespawnTimer\": \"{{server.build.env.LOOT_RESPAWN_TIMER}}\",\r\n \"[World Settings].PickupRespawnTimer\": \"{{server.build.env.PICKUP_RESPAWN_TIMER}}\",\r\n \"[World Settings].LootRarity\": \"{{server.build.env.LOOT_RARITY}}\",\r\n \"[World Settings].AirDropInterval\": \"{{server.build.env.AIR_DROP_INTERVAL}}\",\r\n \"[World Settings].ZombieDiffHealth\": \"{{server.build.env.ZOMBIE_DIFF_HEALTH}}\",\r\n \"[World Settings].ZombieDiffSpeed\": \"{{server.build.env.ZOMBIE_DIFF_SPEED}}\",\r\n \"[World Settings].ZombieDiffDamage\": \"{{server.build.env.ZOMBIE_DIFF_DAMAGE}}\",\r\n \"[World Settings].HumanDifficulty\": \"{{server.build.env.HUMAN_DIFFICULTY}}\",\r\n \"[World Settings].ZombieAmountMulti\": \"{{server.build.env.ZOMBIE_AMOUNT_MULTI}}\",\r\n \"[World Settings].HumanAmountMulti\": \"{{server.build.env.HUMAN_AMOUNT_MULTI}}\",\r\n \"[World Settings].ZombieDogMulti\": \"{{server.build.env.ZOMBIE_DOG_MULTI}}\",\r\n \"[World Settings].ZombieRespawnTimer\": \"{{server.build.env.ZOMBIE_RESPAWN_TIMER}}\",\r\n \"[World Settings].HumanRespawnTimer\": \"{{server.build.env.HUMAN_RESPAWN_TIMER}}\",\r\n \"[World Settings].AnimalRespawnTimer\": \"{{server.build.env.ANIMAL_RESPAWN_TIMER}}\",\r\n \"[World Settings].StartingSeason\": \"{{server.build.env.STARTING_SEASON}}\",\r\n \"[World Settings].DaysPerSeason\": \"{{server.build.env.DAYS_PER_SEASON}}\",\r\n \"[World Settings].DayDur\": \"{{server.build.env.DAY_DUR}}\",\r\n \"[World Settings].NightDur\": \"{{server.build.env.NIGHT_DUR}}\",\r\n \"[World Settings].VitalDrain\": \"{{server.build.env.VITAL_DRAIN}}\",\r\n \"[World Settings].DogEnabled\": \"{{server.build.env.DOG_ENABLED}}\",\r\n \"[World Settings].DogNum\": \"{{server.build.env.DOG_NUM}}\",\r\n \"[World Settings].RecruitDog\": \"{{server.build.env.RECRUIT_DOG}}\",\r\n \"[World Settings].BuildingHealth\": \"{{server.build.env.BUILDING_HEALTH}}\",\r\n \"[World Settings].CompanionHealth\": \"{{server.build.env.COMPANION_HEALTH}}\",\r\n \"[World Settings].CompanionDmg\": \"{{server.build.env.COMPANION_DMG}}\",\r\n \"[World Settings].AllowDismantle\": \"{{server.build.env.ALLOW_DISMANTLE}}\",\r\n \"[World Settings].AllowHouseDismantle\": \"{{server.build.env.ALLOW_HOUSE_DISMANTLE}}\",\r\n \"[World Settings].Territory\": \"{{server.build.env.TERRITORY}}\",\r\n \"[World Settings].Decay\": \"{{server.build.env.DECAY}}\",\r\n \"[World Settings].PickupCleanup\": \"{{server.build.env.PICKUP_CLEANUP}}\",\r\n \"[World Settings].FakeBuildingCleanup\": \"{{server.build.env.FAKE_BUILDING_CLEANUP}}\"\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": "[REQUIRED] 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": "HumanitZ [Dedicated]",
|
||||
"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": "16",
|
||||
"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 perma-death, 2=All players experience perma-death",
|
||||
"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": "0\/1 Off\/On. Enable or disable Player vs Player.",
|
||||
"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. Controls whether air drops are enabled.",
|
||||
"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 crowbar, 0=Only improvised weapons 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": "Health multiplier of player placed buildings. By default set to \"1\".",
|
||||
"env_variable": "BUILDING_HEALTH",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Loot Respawn",
|
||||
"description": "1=Loot does respawn, 0=Never respawn",
|
||||
"env_variable": "LOOT_RESPAWN",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Loot Respawn Timer",
|
||||
"description": "If loot respawns how long does it take in minutes",
|
||||
"env_variable": "LOOT_RESPAWN_TIMER",
|
||||
"default_value": "60",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Pickup Respawn Timer",
|
||||
"description": "Time in minutes it takes to respawn pickups, 0 to disable.",
|
||||
"env_variable": "PICKUP_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": "1",
|
||||
"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": "2",
|
||||
"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": "8",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "Allow Dismantle",
|
||||
"description": "1 = Enable players to dismantle their own buildings, 0 = Disable",
|
||||
"env_variable": "ALLOW_DISMANTLE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Allow House Dismantle",
|
||||
"description": "1 = Players are able to dismantle house props, 0 = Disable",
|
||||
"env_variable": "ALLOW_HOUSE_DISMANTLE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Territory",
|
||||
"description": "1 = Enabled. In PVE you are not allowed to build in someone's spawn point area. Only non recruit clan members can. 0 = Disable",
|
||||
"env_variable": "TERRITORY",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Decay",
|
||||
"description": "By default 3600, the crafted \"Spawn Point\" loses 1 durability every 1 hour. This is used to deal with territory build restrictions, so players have to repair their spawn point.",
|
||||
"env_variable": "DECAY",
|
||||
"default_value": "3600",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Pickup Cleanup",
|
||||
"description": "How long in minutes it takes for dropped pickups to be destroyed (Pickups part of the world will not be considered), a value of 0 means no cleanup is done.",
|
||||
"env_variable": "PICKUP_CLEANUP",
|
||||
"default_value": "3000",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Fake Building Cleanup",
|
||||
"description": "How long in minutes it takes for the white blueprint building to be destroyed, a value of 0 means no cleanup is done.",
|
||||
"env_variable": "FAKE_BUILDING_CLEANUP",
|
||||
"default_value": "3000",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
# Hurtworld
|
||||
|
||||
## From their [website](http://hurtworld.com/)
|
||||
|
||||
## Install notes
|
||||
|
||||
Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log.
|
||||
|
||||
## Server Ports
|
||||
|
||||
These are the servers required ports
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 12871 |
|
||||
| Query | 13871 |
|
||||
|
||||
### Mods/Plugins may require ports to be added to the server
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-10-07T22:46:51+08:00",
|
||||
"name": "Hurtworld",
|
||||
"author": "brycea@terrahost.cloud",
|
||||
"description": "Hurtworld is a hardcore multiplayer survival FPS with a focus on deep survival progression that doesn't become trivial once you establish some basic needs. Built for hardcore gamers, Hurtworld aims to punish.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Hurtworld.x86_64 -batchmode -nographics -exec \"host {{SERVER_PORT}};queryport {{QUERY_PORT}};maxplayers {{MAX_PLAYERS}};servername {{HOSTNAME}};creativemode {{CREATIVE_MODE}};addadmin {{ADMINS}}\" -logfile $1",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"orphaned items\"\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## 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## copy 32-bit steamclient.so\r\ncp -v linux32\/steamclient.so ..\/Hurtworld_Data\/Plugins\/x86\/steamclient.so\r\n\r\n## copy 64-bit steamclient.so\r\ncp -v linux64\/steamclient.so ..\/Hurtworld_Data\/Plugins\/x86_64\/steamclient.so\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": "Game ID",
|
||||
"description": "The ID corresponding to the game to download and run using SRCDS.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "405100",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|in:405100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "Server Query Default Port.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "13871",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Max players allowed on the server at one time.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "60",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:60",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The name of your server in the public server list.",
|
||||
"env_variable": "HOSTNAME",
|
||||
"default_value": "A Hurtworld Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Owner Guid",
|
||||
"description": "Steam id of the server owner.",
|
||||
"env_variable": "ADMINS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:17",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Creative Mode",
|
||||
"description": "Turn creative mode on and off (free build). Value as 0 for off, 1 for on.",
|
||||
"env_variable": "CREATIVE_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
# Icarus
|
||||
|
||||
***NOTE: Server version currently marked as Beta by the developers.***
|
||||
___
|
||||
|
||||
### Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/BolverBlitz">
|
||||
<img src="https://avatars.githubusercontent.com/u/35345288" width="50px;" alt=""/><br /><sub><b>BolverBlitz</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/BolverBlitz" title="Codes">💻</a>
|
||||
<a href="https://github.com/BolverBlitz" title="Maintains">🔨</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
Icarus is a session-based survival game for up to 8 co-op players or solo players, where most gameplay occurs during timed missions. Players accept contracts for missions on a space station orbiting the planet, and drop down to its terrain to attempt the objectives. Once a mission timer is complete, the drop-pod returns to the station. If the player fails to return in time, their workshop items are left on the surface and their progress is lost.
|
||||
There is also support for an OpenWorld where without resets.
|
||||
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Currently runs the Windows build of the server via Wine64.
|
||||
- Auto-Updates on restart.
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
- Default server ports are listed below, but all three ports can be changed freely.
|
||||
- Clients connect via the server list in game.
|
||||
|
||||
| Port | Default | Protocol |
|
||||
|---------|---------|----------|
|
||||
| Game | 17777 | UDP |
|
||||
| Query | 27015 | UDP |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Recommended | Extra info |
|
||||
|-----------|--------------|-------------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No 32 bit or ARM support. | Unsubstantiated reports say that RCON uses significantly more CPU when enabled, but I have not been able to replicate myself. |
|
||||
| RAM | 8-16 GB |
|
||||
| Storage | 14 GB (or more, depending on save size or frequency) |
|
||||
|
||||
___
|
||||
|
||||
#### Save File and Custom Settings Location
|
||||
|
||||
You can define a custom dir for settings by adding `-UserDir=` to the startparameter. [More Info](https://github.com/RocketWerkz/IcarusDedicatedServer/wiki/Server-Config-&-Launch-Parameters#-userdir)
|
||||
|
||||
#### Server Game Settings
|
||||
|
||||
[Server-Config & Launch-Parameters](https://github.com/RocketWerkz/IcarusDedicatedServer/wiki/Server-Config-&-Launch-Parameters)
|
||||
@@ -0,0 +1,124 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-09-03T21:07:28+02:00",
|
||||
"name": "Icarus-Dedicated",
|
||||
"author": "bolverblitz@ebg.pw",
|
||||
"description": "Icarus is a survival game that with dedicated servers as a public beta",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"Wine Staging": "ghcr.io\/parkervcp\/yolks:wine_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "wine64 .\/Icarus\/Binaries\/Win64\/IcarusServer-Win64-Shipping.exe -Log -SteamServerName=${SERVER_NAME} -PORT=\"${SERVER_PORT}\" -QueryPort=\"${QUERY_PORT}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"(Engine Initialization) Total time:\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\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} 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\nFILE=\/mnt\/server\/Icarus\/Saved\/Config\/ServerSettings.ini\r\nif [ -f \"$FILE\" ]; then\r\n echo \"Config already exist skipping\"\r\nelse \r\n echo \"Config does not yet exist, making one\"\r\n mkdir -p \/mnt\/server\/Icarus\/Saved\/Config\/\r\n cd \/mnt\/server\/Icarus\/Saved\/Config\/\r\n curl -sSL -o ServerSettings.ini https:\/\/raw.githubusercontent.com\/RocketWerkz\/IcarusDedicatedServer\/main\/ServerSettings.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": "[REQUIRED] Server Query Port",
|
||||
"description": "UDP port for Steam server list features.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:1024,65536",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "IcarusEGG",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"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": "WINETRICKS_RUN",
|
||||
"description": "Run installs on software that is required by the server",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "vcrun2019 corefonts",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:vcrun2019 corefonts",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2089300",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2089300",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "WINEDEBUG",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEPATH",
|
||||
"description": "",
|
||||
"env_variable": "WINEPATH",
|
||||
"default_value": "\/home\/container",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEARCH",
|
||||
"description": "",
|
||||
"env_variable": "WINEARCH",
|
||||
"default_value": "win64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:win64",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
# Insurgency: Sandstorm
|
||||
|
||||
Steam 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.
|
||||
|
||||
## GSLT Authentication
|
||||
|
||||
In order for your server to be able to authenticate with the stats server, you must authenticate your server through using a Steam GSLT (Game Server Login Token).
|
||||
|
||||
To start your server with GSLT authentication add -GSLTToken=xxxxxxxxxxxxxxx to the server's command line where "xxxxxxxxxxxxxxx" is the token displayed on the Steam Game Server Account page.
|
||||
|
||||
See the following for additional configurations - <https://support.newworldinteractive.com/support/solutions/articles/47001115510-server-admin-guide>
|
||||
|
||||
## Recommended server settings
|
||||
|
||||
### Minimum Storage
|
||||
|
||||
This server requires about 5632M to install.
|
||||
|
||||
### Minimum RAM
|
||||
|
||||
This server requires about 1024M to run with no players.
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | default |
|
||||
|-------|---------|
|
||||
| Game | 27102 |
|
||||
| Query | 27131 |
|
||||
@@ -0,0 +1,132 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-13T18:26:59+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"
|
||||
},
|
||||
"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}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"LogGameState: Match State Changed from LoadingAssets to WaitingToStart\"\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\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 \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "The ID corresponding to the game to download and run. Leave blank to avoid auto update.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "581330",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The name to appear in the server in the server list.",
|
||||
"env_variable": "HOSTNAME",
|
||||
"default_value": "My Insurgency Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "Query port for your Insurgency server.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27131",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Sets the maximum number of players.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "28",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "Default map to run when starting the server. Scenario must be available with the provided map.",
|
||||
"env_variable": "MAP_NAME",
|
||||
"default_value": "Canyon",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Scenario Name",
|
||||
"description": "By default, a server will cycle through all Versus (PVP) scenarios available.",
|
||||
"env_variable": "SCENARIO",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,104 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-01-28T11:45:54+01:00",
|
||||
"name": "Iosoccer server",
|
||||
"author": "hyperbeats@raptorhost.fr",
|
||||
"description": "SERVER IOSOCCER",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -console -game iosoccer -condebug -port {{SERVER_PORT}} +maxplayers {{SLOTS}} +fps_max {{MAX_FPS}} -tickrate {{TICKRATE}} +map {{MAP}} +rcon_password {{RCON}} +ip 0.0.0.0",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connection to Steam servers successful.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n\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} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "Game ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "673990",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|in:673990",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MAP",
|
||||
"description": "",
|
||||
"env_variable": "MAP",
|
||||
"default_value": "8v8_vienna",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SLOTS",
|
||||
"description": "",
|
||||
"env_variable": "SLOTS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "TICKRATE",
|
||||
"description": "",
|
||||
"env_variable": "TICKRATE",
|
||||
"default_value": "100",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MAX FPS",
|
||||
"description": "",
|
||||
"env_variable": "MAX_FPS",
|
||||
"default_value": "500",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "RCON password",
|
||||
"description": "",
|
||||
"env_variable": "RCON",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto update",
|
||||
"description": "Auto update the server on start",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
# Iosoccer
|
||||
|
||||
## [Steam](https://store.steampowered.com/app/673560/IOSoccer/)
|
||||
|
||||
|
||||
IOSoccer is a free non-commercial competitive third-person online multiplayer soccer game that offers unparalleled freedom in ball control and gameplay depth
|
||||
|
||||
## Server Ports
|
||||
|
||||
These are the servers required ports
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27015 |
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
# Killing Floor 2
|
||||
|
||||
## From their [Site](https://killingfloor2.com/)
|
||||
|
||||
In KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech’s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|------------|---------|
|
||||
| Game Port | 7777 |
|
||||
| Query Port | 27015 |
|
||||
|Extra Ports |---------|
|
||||
| Web Admin | 8080 |
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-01T12:20:07+02:00",
|
||||
"name": "Killing Floor 2",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "In KILLING FLOOR 2, players descend into continental Europe after it has been overrun by horrific, murderous clones called Zeds that were created by the corporation Horzine. The Zed outbreak caused by Horzine Biotech\u2019s failed experiments has quickly spread with unstoppable momentum, paralyzing the European Union. Only a month ago, the first Zed outbreak from the original KILLING FLOOR ripped through London; now the specimen clones are everywhere.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/steamcmd:debian": "ghcr.io\/parkervcp\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "\/home\/container\/Binaries\/Win64\/KFGameSteamServer.bin.x86_64 {{MAP_NAME}}?Port={{SERVER_PORT}}?QueryPort={{QUERY_PORT}}?AdminPassword={{ADMIN_PASS}}?Difficulty={{DIFFICULTY}}$( [ \"$WEB_ADMIN\" == \"true\" ] || printf %s '??WebAdminPort={{WEB_ADMIN_PORT}}' )",
|
||||
"config": {
|
||||
"files": "{\r\n \"KFGame\/Config\/KFWeb.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"bEnabled\": \"benabled={{server.build.env.WEB_ADMIN}}\",\r\n \"ListenPort\": \"ListenPort={{server.build.env.WEB_ADMIN_PORT}}\"\r\n }\r\n },\r\n \"KFGame\/Config\/LinuxServer-KFGame.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"AdminPassword\": \"AdminPassword={{server.build.env.ADMIN_PASS}}\",\r\n \"ServerName\": \"ServerName={{server.build.env.SERVER_NAME}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"DevOnline: Playfab server registered with lobby ID \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "A steam username to use to install the server.\r\n\r\nOnly needed for games that need a user that owns the server",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Password for the Steam account to install a server.",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth",
|
||||
"description": "Will most likely time out before it gets used.",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string|max:6",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Server App ID",
|
||||
"description": "The App ID for the Server",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "232130",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:232130",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Extra Flags",
|
||||
"description": "Only needed for specific situations.",
|
||||
"env_variable": "EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Name",
|
||||
"description": "The map to load when the server starts\r\n\r\ndefault - 'kf-bioticslab'",
|
||||
"env_variable": "MAP_NAME",
|
||||
"default_value": "kf-bioticslab",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "The port steam will use to query the server.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric|max:65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable WebAdmin (beta)",
|
||||
"description": "",
|
||||
"env_variable": "WEB_ADMIN",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "An admin password for the server.",
|
||||
"env_variable": "ADMIN_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "This is the displayed server name to all players in the server and the server browser",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl Hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Difficulty",
|
||||
"description": "0 = Normal, 1 = Hard, 2 = Suicidal, 3 = Hell on Earth",
|
||||
"env_variable": "DIFFICULTY",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|in:0,1,2,3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Web Admin Port",
|
||||
"description": "The port the webadmin panel should use. This is a beta feature.",
|
||||
"env_variable": "WEB_ADMIN_PORT",
|
||||
"default_value": "8089",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# Left 4 Dead
|
||||
|
||||
## From their [Website](https://www.l4d.com/)
|
||||
|
||||
Set in the immediate aftermath of the zombie apocalypse, L4D's survival co-op mode lets you blast a path through the infected in four unique “movies,” guiding your survivors across the rooftops of an abandoned metropolis, through rural ghost towns and pitch-black forests in your quest to escape a devastated Ground Zero crawling with infected enemies. Each "movie" is comprised of five large maps, and can be played by one to four human players, with an emphasis on team-based strategy and objectives.
|
||||
|
||||
### Server Ports
|
||||
|
||||
L4D servers require 1 port to be open. The port can be safely changed to any other.
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game/rcon | 27015 |
|
||||
|
||||
## Steam Download [SteamStore](https://store.steampowered.com/app/500/Left_4_Dead/)
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T11:38:04+02:00",
|
||||
"name": "Left 4 Dead",
|
||||
"author": "pterodactyl@mazoyer.eu",
|
||||
"description": "An outbreak of a highly contagious pathogen nicknamed the \"Green Flu\" begins in Pennsylvania. Two weeks after the first infection, four immune survivors, Bill, Zoey, Louis, and Francis make their way out of the city of Fairfield, only to discover that the infection is creating dangerous mutations in some of its hosts.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connection to Steam servers successful.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "The ID corresponding to the game to download and run using SRCDS.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "222840",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|in:222840",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "Default map used when starting the server.",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "l4d_hospital01_apartment",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
# Left 4 Dead 2
|
||||
|
||||
## From their [Website](https://www.l4d.com/)
|
||||
|
||||
Set in the zombie apocalypse, Left 4 Dead 2 (L4D2) is the highly anticipated sequel to the award-winning Left 4 Dead, the #1 co-op game of 2008.
|
||||
|
||||
### Server Ports
|
||||
|
||||
L4D 2 servers require 1 port to be open. The port can be safely changed to any other.
|
||||
|
||||
| Port | default |
|
||||
|-----------|---------|
|
||||
| Game/rcon | 27015 |
|
||||
|
||||
## Steam Download [SteamStore](https://store.steampowered.com/app/550/Left_4_Dead_2/)
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T11:39:38+02:00",
|
||||
"name": "Left 4 Dead 2",
|
||||
"author": "pterodactyl@mazoyer.eu",
|
||||
"description": "Left 4 Dead 2 is set in the aftermath of a worldwide pandemic of a disease nicknamed the \"Green Flu\", which rapidly transforms humans into zombie-like creatures and mutated forms that demonstrate extreme aggression towards non-infected beings. A few humans are immune to the disease, while some of those who are infected have no symptoms. The Civil Emergency and Defense Agency (CEDA) and the U.S. military create safe zones to attempt to evacuate as many survivors as possible.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -console -port {{SERVER_PORT}} +map {{SRCDS_MAP}} +ip 0.0.0.0 -strictportbind -norestart",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connection to Steam servers successful.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "The ID corresponding to the game to download and run using SRCDS.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "222860",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|in:222860",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "Default map used when starting the server.",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "c1m1_hotel",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
# Longvinter
|
||||
Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
- Default server ports are listed below, but all three ports can be changed freely.
|
||||
- **Note:** The query ports does not seem to be used at all at the moment (at least on the linux server).
|
||||
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| **Game (Primary Port in Pterodactyl)** | 7777 (UDP) |
|
||||
| Query | 27015 (UDP/TCP) |
|
||||
| Query +1 | 27016 (UDP/TCP) |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Minimum |
|
||||
|---------|---------|
|
||||
| RAM | 2048 MiB |
|
||||
| Storage | 2 GB |
|
||||
|
||||
___
|
||||
|
||||
### Known Errors/Warnings
|
||||
|
||||
The following errors or warnings you see in the console can safely be ignored:
|
||||
|
||||
```log
|
||||
[2022.05.15-00.07.35:353][508]LogEOS: Error: UpdateSession:
|
||||
Successfully updated session 'Test' with ID '18exxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
|
||||
```
|
||||
|
||||
↑ This error is displayed regularly, but does not affect the server functions. An [open issue](https://github.com/Uuvana-Studios/longvinter-linux-server/issues/40) already exists in the developers repository.
|
||||
@@ -0,0 +1,164 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-11-13T18:49:35+01:00",
|
||||
"name": "Longvinter",
|
||||
"author": "tueye@tuworld.de",
|
||||
"description": "Longvinter is a multiplayer, third-person sandbox game that implements Crafting, Farming, Building, Trading, and PVP.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "\/home\/container\/longvinter-linux-server\/Longvinter\/Binaries\/Linux\/LongvinterServer-Linux-Shipping Longvinter -Port={{SERVER_PORT}} -QueryPort={{QUERY_PORT}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ServerName\": \"ServerName={{server.build.env.SERVER_NAME}}\",\r\n \"ServerTag\": \"ServerTag={{server.build.env.SERVER_TAG}}\",\r\n \"MaxPlayers\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"ServerMOTD\": \"ServerMOTD={{server.build.env.SERVER_MOTD}}\",\r\n \"Password\": \"Password={{server.build.env.SERVER_PASSWORD}}\",\r\n \"CommunityWebsite\": \"CommunityWebsite={{server.build.env.COMMUNITY_WEBSITE}}\",\r\n \"AdminSteamID\": \"AdminSteamID={{server.build.env.ADMIN_ID}}\",\r\n \"PVP\": \"PVP={{server.build.env.ENABLE_PVP}}\",\r\n \"TentDecay\": \"TentDecay={{server.build.env.ENABLE_TENTDECAY}}\",\r\n \"MaxTents\": \"MaxTents={{server.build.env.MAX_TENTS}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"CreateSession: Successfully created session\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Longvinter Egg - egg-longvinter.json\r\n# Authors: TuEye\r\n# Date: 2022\/05\/15\r\n# License: MIT License\r\n\r\n\r\n## Install Git LFS\r\ncurl -s https:\/\/packagecloud.io\/install\/repositories\/github\/git-lfs\/script.deb.sh | bash\r\napt -y install git-lfs\r\n\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Longvinter setup\r\n# If not using auto update and gamedir exist, remove it\r\nif [ ! \"${AUTO_UPDATE}\" ] && [ -d \"$HOME\/longvinter-linux-server\" ]; then\r\n echo -e \"\\nDelete game dir\\n\"\r\n rm -r $HOME\/longvinter-linux-server\r\nfi\r\n\r\n# Clone Longvinter Dedicated Server repo or do auto update if activated\r\ncd $HOME\r\nif [ ! -d \"$HOME\/longvinter-linux-server\" ]; then\r\n git clone \"https:\/\/github.com\/Uuvana-Studios\/longvinter-linux-server.git\"\r\nelif [ \"${AUTO_UPDATE}\" ]; then\r\n echo -e \"\\nUpdating gamefiles\\n\"\r\n cd $HOME\/longvinter-linux-server\r\n git config pull.rebase false\r\n git restore .\r\n git stash\r\n git pull \"https:\/\/github.com\/Uuvana-Studios\/longvinter-linux-server.git\" main\r\nfi\r\nchmod -R ugo+rwx $HOME\/longvinter-linux-server\/\r\n\r\n\r\n# Create base config if not exist\r\nif [ ! -f $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini ]; then\r\n echo -e \"\\nCreating game config\\n\"\r\n cp $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini.default $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\r\n if ! grep -q \"ServerTag=\" \"$HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\"; then\r\n sed -i '\/^ServerName=.*\/a ServerTag=Default' $HOME\/longvinter-linux-server\/Longvinter\/Saved\/Config\/LinuxServer\/Game.ini\r\n fi\r\nfi\r\n\r\necho -e \"\\nLongvinter Dedicated Server successfully installed!\\n\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name of the server, appears in Game browser.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl Longvinter Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Tag",
|
||||
"description": "It's the tag that allows for easier search of the server. Please don't use the word OFFICIAL on it. \r\nAnd only place one tag.",
|
||||
"env_variable": "SERVER_TAG",
|
||||
"default_value": "Pterodactyl",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum allowed players that can connect at any given time.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server MOTD",
|
||||
"description": "Server message that is on a signs around the island.",
|
||||
"env_variable": "SERVER_MOTD",
|
||||
"default_value": "Welcome to Pterodactyl Island!",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Add you password here. Use only number and letters. If left empty there is no password on the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_num|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Community Website",
|
||||
"description": "Allows you to promote a website on a same place where the server message is shown. This link can be opened in-game.",
|
||||
"env_variable": "COMMUNITY_WEBSITE",
|
||||
"default_value": "pterodactyl.io",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin EOS Account ID",
|
||||
"description": "Here you can add all the admins that you want to have in the server. If you want to add multiple separate the ID's with single space.\r\nThe ID is found in-game under Options > General.",
|
||||
"env_variable": "ADMIN_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|regex:\/^([a-z0-9]{32} ?)*$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable PVP",
|
||||
"description": "Here you write true or false if you want to enable\/disable Player versus Player fights.",
|
||||
"env_variable": "ENABLE_PVP",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Tent Decay",
|
||||
"description": "Here you write true or false if you want to enable\/disable tent decay to make sure there isn't an abundant number of abandoned tents in the server.",
|
||||
"env_variable": "ENABLE_TENTDECAY",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Tents",
|
||||
"description": "Maximum allowed of tents that players that can place in the server",
|
||||
"env_variable": "MAX_TENTS",
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Updates gamefiles when reinstalling. Otherwise the server is freshly installed and you will loose your savegames.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "Query port used by steam",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1024,65536",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1007",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1007",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
# Modiverse
|
||||
|
||||
Modiverse provides a sandbox environment with the ability to create and play mods such as TTT, Deathrun, FortWars, RP, and more! Use the many sandbox tools to build complex worlds with props, lights, thrusters, wheels, and much much more!
|
||||
|
||||
## Information
|
||||
|
||||
Default ServerConfiguration.json is provided to start the server, you must modify it with your own mods to customize the server. The game is currently in beta and as such the console is filled with debug spam, developers have noted that this will be removed when the game releases.
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 7777 |
|
||||
| Query | 27015 |
|
||||
Loaded 100 of 643 files, more files were not shown because too many files have changed in this diff.
Show more
Reference in new issue
Block a user