mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-29 18:58:15 +08:00
Merge branch 'master' into add/reposilite
This commit is contained in:
commit
7769668397
4
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
4
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
@ -79,7 +79,9 @@ body:
|
|||||||
description: |
|
description: |
|
||||||
Run the command below on the SSH terminal of your Wings machine and provide the link to logs.
|
Run the command below on the SSH terminal of your Wings machine and provide the link to logs.
|
||||||
|
|
||||||
`tail -n 100 $(ls -Alrt /var/log/pterodactyl/install/*.log | tail -1 | sed 's/ */ /g' | cut -s -d' ' -f9) | nc pteropaste.com 99`
|
```
|
||||||
|
tail -n 1000 $(ls -Alrt /var/log/pterodactyl/install/*.log | tail -1 | sed 's/ */ /g' | cut -s -d' ' -f9) | nc pteropaste.com 99
|
||||||
|
```
|
||||||
placeholder: |
|
placeholder: |
|
||||||
https://pteropaste.com/exampleLogs
|
https://pteropaste.com/exampleLogs
|
||||||
validations:
|
validations:
|
||||||
|
27
README.md
27
README.md
@ -33,6 +33,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* [discord.java](bots/discord/discord.java) Java generic
|
* [discord.java](bots/discord/discord.java) Java generic
|
||||||
* [discord.js](bots/discord/discord.js) Node JS generic
|
* [discord.js](bots/discord/discord.js) Node JS generic
|
||||||
* [discord.py](bots/discord/discord.py) Python generic
|
* [discord.py](bots/discord/discord.py) Python generic
|
||||||
|
* [discord.rs](bots/discord/discord.rs) Rust generic
|
||||||
* [Dynamica](/bots/discord/dynamica) Node JS
|
* [Dynamica](/bots/discord/dynamica) Node JS
|
||||||
* [fragbot](/bots/discord/fragbot) Golang
|
* [fragbot](/bots/discord/fragbot) Golang
|
||||||
* [JMusicBot](/bots/discord/jmusicbot) Java
|
* [JMusicBot](/bots/discord/jmusicbot) Java
|
||||||
@ -76,6 +77,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
## [Voice Servers](/voice_servers)
|
## [Voice Servers](/voice_servers)
|
||||||
|
|
||||||
* [Lavalink](/voice_servers/lavalink)
|
* [Lavalink](/voice_servers/lavalink)
|
||||||
|
* [Teamspeak_ARM64](/voice_servers/teamspeak_ARM64)
|
||||||
* [TeaSpeak](/voice_servers/teaspeak)
|
* [TeaSpeak](/voice_servers/teaspeak)
|
||||||
* [TS3-Manager](/voice_servers/ts3_manager)
|
* [TS3-Manager](/voice_servers/ts3_manager)
|
||||||
|
|
||||||
@ -120,12 +122,14 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* GTA
|
* GTA
|
||||||
* [GTAC](game_eggs/gta/gtac)
|
* [GTAC](game_eggs/gta/gtac)
|
||||||
|
|
||||||
|
[League Sandbox](game_eggs/leaguesandbox)
|
||||||
|
|
||||||
|
[Los Angeles Crimes](game_eggs/losangelescrimes)
|
||||||
|
|
||||||
[Mindustry](game_eggs/mindustry)
|
[Mindustry](game_eggs/mindustry)
|
||||||
|
|
||||||
* [Mindustry](game_eggs/mindustry/mindustry)
|
* [Mindustry](game_eggs/mindustry/mindustry)
|
||||||
|
|
||||||
[League Sandbox](game_eggs/leaguesandbox)
|
|
||||||
|
|
||||||
[Minetest](game_eggs/minetest) (including MTG)
|
[Minetest](game_eggs/minetest) (including MTG)
|
||||||
|
|
||||||
* [Minetest](game_eggs/minetest/minetest)
|
* [Minetest](game_eggs/minetest/minetest)
|
||||||
@ -194,6 +198,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
|
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
|
||||||
* [Avorion](game_eggs/steamcmd_servers/avorion)
|
* [Avorion](game_eggs/steamcmd_servers/avorion)
|
||||||
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
|
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
|
||||||
|
* [Black Mesa](game_eggs/steamcmd_servers/black_mesa)
|
||||||
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
|
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
|
||||||
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
|
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
|
||||||
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
|
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
|
||||||
@ -213,6 +218,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
|
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
|
||||||
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
|
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
|
||||||
* [Onset](game_eggs/steamcmd_servers/onset)
|
* [Onset](game_eggs/steamcmd_servers/onset)
|
||||||
|
* [Open Fortress](game_eggs/steamcmd_servers/open_fortress)
|
||||||
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
|
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
|
||||||
* [PixARK](game_eggs/steamcmd_servers/pixark)
|
* [PixARK](game_eggs/steamcmd_servers/pixark)
|
||||||
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
|
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
|
||||||
@ -255,6 +261,7 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* [TShock](game_eggs/terraria/tshock)
|
* [TShock](game_eggs/terraria/tshock)
|
||||||
|
|
||||||
[Tycoon Games](game_eggs/tycoon_games)
|
[Tycoon Games](game_eggs/tycoon_games)
|
||||||
|
|
||||||
* [OpenRCT2](game_eggs/tycoon_games/openrct2)
|
* [OpenRCT2](game_eggs/tycoon_games/openrct2)
|
||||||
* [OpenTTD](game_eggs/tycoon_games/openttd)
|
* [OpenTTD](game_eggs/tycoon_games/openttd)
|
||||||
|
|
||||||
@ -270,6 +277,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
|
|
||||||
## [Monitoring](/monitoring/)
|
## [Monitoring](/monitoring/)
|
||||||
|
|
||||||
|
### Loki
|
||||||
|
|
||||||
|
* [Loki](/monitoring/loki)
|
||||||
|
|
||||||
### Prometheus
|
### Prometheus
|
||||||
|
|
||||||
* [Prometheus](/monitoring/prometheus)
|
* [Prometheus](/monitoring/prometheus)
|
||||||
@ -302,13 +313,19 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
|
|
||||||
* [haste-server](/software/haste-server)
|
* [haste-server](/software/haste-server)
|
||||||
|
|
||||||
|
### Owncast
|
||||||
|
|
||||||
|
* [owncast](/software/owncast)
|
||||||
|
|
||||||
### RabbitMQ
|
### RabbitMQ
|
||||||
|
|
||||||
* [rabbitmq](/software/rabbitmq)
|
* [rabbitmq](/software/rabbitmq)
|
||||||
|
|
||||||
### 5e Tools
|
|
||||||
* [5e Tools](/software/5e-tools)
|
|
||||||
|
|
||||||
### Reposilite
|
### Reposilite
|
||||||
|
|
||||||
* [Reposilite](/software/reposilite)
|
* [Reposilite](/software/reposilite)
|
||||||
|
|
||||||
|
### 5e Tools
|
||||||
|
|
||||||
|
* [5e Tools](/software/5e-tools)
|
||||||
|
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
"description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.",
|
"description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"images": [
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_18",
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_17",
|
"ghcr.io\/parkervcp\/yolks:nodejs_17",
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_16",
|
"ghcr.io\/parkervcp\/yolks:nodejs_16",
|
||||||
"ghcr.io\/parkervcp\/yolks:nodejs_15",
|
"ghcr.io\/parkervcp\/yolks:nodejs_15",
|
||||||
|
3
bots/discord/discord.rs/README.md
Normal file
3
bots/discord/discord.rs/README.md
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# discord.rs generic
|
||||||
|
|
||||||
|
This egg is designed to run any generic Rust application with cargo, allowing users to pull their own Rust discord bot from a GitHub repository.
|
89
bots/discord/discord.rs/egg-discord-rs-generic.json
Normal file
89
bots/discord/discord.rs/egg-discord-rs-generic.json
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-04-17T16:56:51+01:00",
|
||||||
|
"name": "discord.rs generic",
|
||||||
|
"author": "ethan.coward@icloud.com",
|
||||||
|
"description": "Creates a container that runs rust with cargo.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/parkervcp\/yolks:rust_1.31",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:rust_1.56",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:rust_1.60",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:rust_latest"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; cargo run --release",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": [\r\n \"Finished\"\r\n ]\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Rust Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\nexport HOME=\/mnt\/server\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Git Repo Address",
|
||||||
|
"description": "Git repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||||
|
"env_variable": "GIT_ADDRESS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Branch",
|
||||||
|
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||||
|
"env_variable": "BRANCH",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Auto Update",
|
||||||
|
"description": "Pull the latest files on startup when using a GitHub repo.",
|
||||||
|
"env_variable": "AUTO_UPDATE",
|
||||||
|
"default_value": "0",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|boolean"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Username",
|
||||||
|
"description": "Username to auth with git.",
|
||||||
|
"env_variable": "USERNAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Access Token",
|
||||||
|
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||||
|
"env_variable": "ACCESS_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bot Token",
|
||||||
|
"description": "The discord token used to run your bot. Sets to the environment variable `DISCORD_TOKEN`\r\n\r\nAlternatively, you can use a .env file",
|
||||||
|
"env_variable": "DISCORD_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,36 +1,42 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2019-01-11T00:40:33+01:00",
|
"exported_at": "2022-07-03T18:18:04-04:00",
|
||||||
"name": "JTS3ServerMod",
|
"name": "JTS3ServerMod",
|
||||||
"author": "teamwuffy@gmail.com",
|
"author": "teamwuffy@gmail.com",
|
||||||
"description": "Setup:\r\n- Install the latest version\r\n- Go into config\/server1 and edit JTS3ServerMod_server.cfg\r\n- Save and start the server\r\n\r\nAuthor: https:\/\/www.stefan1200.de\/forum\/index.php?topic=2.0",
|
"description": "Setup:\r\n- Install the latest version\r\n- Go into config\/server1 and edit JTS3ServerMod_server.cfg\r\n- Save and start the server\r\n\r\nAuthor: https:\/\/www.stefan1200.de\/forum\/index.php?topic=2.0",
|
||||||
"image": "quay.io\/pterodactyl\/core:java",
|
"features": null,
|
||||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar .\/JTS3ServerMod.jar",
|
"docker_images": {
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_8": "ghcr.io\/pterodactyl\/yolks:java_8"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar JTS3ServerMod.jar",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
"startup": "{\r\n \"done\": \"Successful connected to \",\r\n \"userInteraction\": []\r\n}",
|
"startup": "{\r\n \"done\": \"Successful connected to \"\r\n}",
|
||||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
"logs": "{}",
|
||||||
"stop": "^C"
|
"stop": "^C"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# JTS3ServerMod\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y install wget unzip\r\n\r\ncd \/tmp\r\n\r\nif [ -z \"$SERVER_VERSION\" ] || [ \"$SERVER_VERSION\" == \"latest\" ]; then\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod&type=.zip'\r\nelse\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip'\r\nfi\r\n\r\nunzip JTS3ServerMod.zip\r\n\r\nmkdir -p \/mnt\/server\r\nexport HOME=\/mnt\/server\r\n\r\nmv \/tmp\/JTS3ServerMod\/* \/mnt\/server\/",
|
"script": "#!\/bin\/bash\r\n# JTS3ServerMod\r\n#\r\n# Server Files: \/mnt\/server\r\n# All required packages are installed in the used install image ghcr.io\/parkervcp\/installers:debian\r\n\r\nexport HOME=\/mnt\/server\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ -z \"$SERVER_VERSION\" ] || [ \"$SERVER_VERSION\" == \"latest\" ]; then\r\n echo -e \"Downloading latest version with curl -L \"https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod &\r\n type=.zip\" -o JTS3ServerMod.zip\"\r\n curl -L \"https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod&type=.zip\" -o JTS3ServerMod.zip\r\nelse\r\n echo -e \"running curl -L \"https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip\" -o JTS3ServerMod.zip\"\r\n curl -L \"https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip\" -o JTS3ServerMod.zip\r\nfi\r\n\r\n# no need to continue if we don't have an archive\r\nif [ ! -f JTS3ServerMod.zip ]; then\r\n echo \"JTS3ServerMod.zip not found. Something went wrong. Exiting\"\r\n exit 2\r\nfi\r\n\r\nunzip JTS3ServerMod.zip\r\nrm JTS3ServerMod.zip JTS3ServerMod-Windows.exe JTS3ServerMod-Windows_NoWindow.exe jts3servermod_startscript.sh\r\necho -e \"Installation completed.\\nConfiguration of the server must be done in the config folder to proceed.\"",
|
||||||
"container": "ubuntu:18.04",
|
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "Version",
|
"name": "Version",
|
||||||
"description": "",
|
"description": "Version to download. Use latest to install latest version",
|
||||||
"env_variable": "SERVER_VERSION",
|
"env_variable": "SERVER_VERSION",
|
||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# PhantomBot
|
# PhantomBot
|
||||||
|
|
||||||
[WebSite](https://phantombot.github.io/PhantomBot/)
|
[Website](https://phantombot.github.io/PhantomBot/)
|
||||||
[GitHub](https://github.com/phantombot/PhantomBot)
|
[GitHub](https://github.com/phantombot/PhantomBot)
|
||||||
PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.
|
PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.
|
||||||
|
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-03-04T11:05:29-05:00",
|
"exported_at": "2022-07-11T13:17:43+02:00",
|
||||||
"name": "Redis",
|
"name": "Redis",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
|
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_redis",
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:redis_5": "ghcr.io\/parkervcp\/yolks:redis_5"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "redis-server --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
"startup": "redis-server --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
@ -28,9 +33,10 @@
|
|||||||
"description": "The password redis should use to secure the server.",
|
"description": "The password redis should use to secure the server.",
|
||||||
"env_variable": "SERVER_PASSWORD",
|
"env_variable": "SERVER_PASSWORD",
|
||||||
"default_value": "P@55w0rd",
|
"default_value": "P@55w0rd",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-09-28T21:07:40-04:00",
|
"exported_at": "2022-07-11T13:18:27+02:00",
|
||||||
"name": "Redis-6",
|
"name": "Redis-6",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
|
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_redis-6",
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:redis_6": "ghcr.io\/parkervcp\/yolks:redis_6"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}}; redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
"startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}}; redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
@ -28,9 +33,10 @@
|
|||||||
"description": "The password redis should use to secure the server.",
|
"description": "The password redis should use to secure the server.",
|
||||||
"env_variable": "SERVER_PASSWORD",
|
"env_variable": "SERVER_PASSWORD",
|
||||||
"default_value": "P@55w0rd",
|
"default_value": "P@55w0rd",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -39,6 +39,8 @@
|
|||||||
* GTA
|
* GTA
|
||||||
* [GTAC](gta/gtac)
|
* [GTAC](gta/gtac)
|
||||||
|
|
||||||
|
[Los Angeles Crimes](losangelescrimes)
|
||||||
|
|
||||||
[League Sandbox](leaguesandbox)
|
[League Sandbox](leaguesandbox)
|
||||||
|
|
||||||
[Mindustry](mindustry)
|
[Mindustry](mindustry)
|
||||||
@ -112,6 +114,7 @@
|
|||||||
* [Assetto Corsa](steamcmd_servers/assetto_corsa)
|
* [Assetto Corsa](steamcmd_servers/assetto_corsa)
|
||||||
* [Avorion](steamcmd_servers/avorion)
|
* [Avorion](steamcmd_servers/avorion)
|
||||||
* [Barotrauma](steamcmd_servers/barotrauma)
|
* [Barotrauma](steamcmd_servers/barotrauma)
|
||||||
|
* [Black Mesa](steamcmd_servers/black_mesa)
|
||||||
* [Citadel: Forged with Fire](steamcmd_servers/citadel)
|
* [Citadel: Forged with Fire](steamcmd_servers/citadel)
|
||||||
* [Conan Exiles](steamcmd_servers/conan_exiles)
|
* [Conan Exiles](steamcmd_servers/conan_exiles)
|
||||||
* [CryoFall](steamcmd_servers/cryofall)
|
* [CryoFall](steamcmd_servers/cryofall)
|
||||||
@ -130,6 +133,7 @@
|
|||||||
* [Mordhau](steamcmd_servers/mordhau)
|
* [Mordhau](steamcmd_servers/mordhau)
|
||||||
* [No More Room in Hell](steamcmd_servers/nmrih)
|
* [No More Room in Hell](steamcmd_servers/nmrih)
|
||||||
* [Onset](steamcmd_servers/onset)
|
* [Onset](steamcmd_servers/onset)
|
||||||
|
* [Open Fortress](steamcmd_servers/open_fortress)
|
||||||
* [Pavlov VR](steamcmd_servers/pavlov_vr)
|
* [Pavlov VR](steamcmd_servers/pavlov_vr)
|
||||||
* [PixARK](steamcmd_servers/pixark)
|
* [PixARK](steamcmd_servers/pixark)
|
||||||
* [Post Scriptum](steamcmd_servers/post_scriptum)
|
* [Post Scriptum](steamcmd_servers/post_scriptum)
|
||||||
|
@ -1,5 +1,8 @@
|
|||||||
# Among Us
|
# Among Us
|
||||||
|
|
||||||
|
[BetterCrewLink Server](bettercrewlink_server)
|
||||||
|
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required.
|
||||||
|
|
||||||
[CrewLink Server](crewlink_server)
|
[CrewLink Server](crewlink_server)
|
||||||
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required.
|
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required.
|
||||||
|
|
||||||
|
15
game_eggs/among_us/bettercrewlink_server/README.md
Normal file
15
game_eggs/among_us/bettercrewlink_server/README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Among Us - BetterCrewLink Server
|
||||||
|
|
||||||
|
## From their [Github](https://github.com/OhMyGuus/BetterCrewLink)
|
||||||
|
|
||||||
|
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required. Spatial audio ensures that you can only hear people close to you.
|
||||||
|
|
||||||
|
## Server Port
|
||||||
|
|
||||||
|
Ports required to run the server in a table format.
|
||||||
|
|
||||||
|
| Port | default (HTTPS enabled) | default (HTTPS disabled) |
|
||||||
|
|---------|---------|---------|
|
||||||
|
| Game | 443 | 9736 |
|
||||||
|
|
||||||
|
Default port is 443 if HTTPS is enabled, and 9736 if not. But you can change to any port or domain/ip in the egg
|
@ -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": "2022-07-25T23:48:33+02:00",
|
||||||
|
"name": "BetterCrewlink Server",
|
||||||
|
"author": "tobiornotto@gmail.com",
|
||||||
|
"description": "An egg designed to allow support for Proximity Chat in Among Us using BetterCrewLink Server",
|
||||||
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_12": "ghcr.io\/parkervcp\/yolks:nodejs_12"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "yarn start",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"<info> BetterCrewLink Server started\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^c"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nINSTALL_REPO=\"https:\/\/github.com\/OhMyGuus\/BetterCrewLink-server.git\"\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\ncloning files from repo\"\r\necho -e \"running 'git clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .'\"\r\ngit clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/yarn install\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||||
|
"container": "node:12-buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Github branch",
|
||||||
|
"description": "Select one of the available BetterCrewLink-server branches. Master per default.",
|
||||||
|
"env_variable": "BRANCH",
|
||||||
|
"default_value": "master",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Domain",
|
||||||
|
"description": "Domain of your server or ip of your server",
|
||||||
|
"env_variable": "HOSTNAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:50",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server name",
|
||||||
|
"description": "Specifiy the name of your BetterCrewLink server",
|
||||||
|
"env_variable": "NAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:75",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Use HTTPS",
|
||||||
|
"description": "Enables https. You must place privkey.pem and fullchain.pem in your CWD.",
|
||||||
|
"env_variable": "HTTPS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Path to SSL",
|
||||||
|
"description": "Alternate path to SSL certificates.",
|
||||||
|
"env_variable": "SSLPATH",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:250",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Port",
|
||||||
|
"description": "Choose the port your server should run on",
|
||||||
|
"env_variable": "PORT",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -7,10 +7,10 @@
|
|||||||
"exported_at": "2021-07-23T12:00:05+03:00",
|
"exported_at": "2021-07-23T12:00:05+03:00",
|
||||||
"name": "Among Us - Impostor Server",
|
"name": "Among Us - Impostor Server",
|
||||||
"author": "info@goover.de",
|
"author": "info@goover.de",
|
||||||
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2020.9.22, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
|
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2022.4.19, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"images": [
|
||||||
"quay.io\/parkervcp\/pterodactyl-images:debian_dotnet-5"
|
"ghcr.io/parkervcp/yolks:dotnet_6"
|
||||||
],
|
],
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/Impostor.Server",
|
"startup": ".\/Impostor.Server",
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
"exported_at": "2021-12-22T09:10:34+00:00",
|
"exported_at": "2021-12-22T09:10:34+00:00",
|
||||||
"name": "BeamMP Servers",
|
"name": "BeamMP Servers",
|
||||||
"author": "noah@noahserver.online",
|
"author": "noah@noahserver.online",
|
||||||
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point throug which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
|
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"images": [
|
||||||
"ghcr.io\/parkervcp\/yolks:debian"
|
"ghcr.io\/parkervcp\/yolks:debian"
|
||||||
@ -15,45 +15,81 @@
|
|||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/BeamMP-Server",
|
"startup": ".\/BeamMP-Server",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers\": \"MaxPlayers = {{server.build.env.MAX_PLAYER}}\",\r\n \"Port\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTH}}\\\"\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"ServerConfig.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Name =\": \"Name = \\\"{{env.NAME}}\\\"\",\r\n \"Port =\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTHKEY}}\\\"\",\r\n \"Private =\": \"Private = {{env.PRIVATE}}\",\r\n \"MaxPlayers =\": \"MaxPlayers = {{server.build.env.MAX_PLAYERS}}\",\r\n \"Description =\": \"Description = \\\"{{env.NAME}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\"\r\n }\r\n }\r\n}",
|
||||||
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
|
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
|
||||||
"logs": "{}",
|
"logs": "{}",
|
||||||
"stop": "^C"
|
"stop": "^C"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "mkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nrm -f BeamMP-Server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i Server-linux)\r\nelse\r\n echo -e \"Chosen version :${VERSION}. Verifying version from releases\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i Server-linux)\r\n else\r\n echo -e \"No valid versions found. Defaulting to the latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\"\r\ncurl -L ${DOWNLOAD_URL} -o BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\necho \"# This is the BeamMP Server Configuration File v0.60\r\nDebug = false # true or false to enable debug console output\r\nPrivate = true # Private?\r\nPort = 30814 # Port to run the server on UDP and TCP\r\nCars = 1 # Max cars for every player\r\nMaxPlayers = 10 # Maximum Amount of Clients\r\nMap = \\\"\/levels\/gridmap\/info.json\\\" # Default Map\r\nName = \\\"BeamMP New Server\\\" # Server Name\r\nDesc = \\\"BeamMP Default Description\\\" # Server Description\r\nuse = \\\"Resources\\\" # Resource file name\r\nAuthKey = \\\"\\\" # Auth Key\" > Server.cfg",
|
"script": "#Create the server directory\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Remove any old versions\r\nrm -f BeamMP-Server\r\n\r\n#Check for latest release & download URLs\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest BeamMP server version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i Server-linux)\r\nelse\r\n echo -e \"Chosen version :${VERSION}. Verifying version from releases\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i Server-linux)\r\n else\r\n echo -e \"No valid versions found. Defaulting to the latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n#Download the BeamMP server binary\r\necho -e \"Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\"\r\ncurl -L ${DOWNLOAD_URL} -o BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\n#Create a default configuration file\r\necho \"[HTTP]\r\n# Recommended to keep enabled. With SSL the server will serve https and requires valid key and cert files\r\nUseSSL = true\r\n# Enables the internal HTTP server\r\nHTTPServerEnabled = false\r\nSSLKeyPath = \\\".\/.ssl\/HttpServer\/key.pem\\\"\r\nHTTPServerPort = 8080\r\nSSLCertPath = \\\".\/.ssl\/HttpServer\/cert.pem\\\"\r\n\r\n[General]\r\n# If SendErrors is `true`, the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to `false`\r\nSendErrorsShowMessage = true\r\nName = \\\"BeamMP Server\\\"\r\nPort = 30814\r\nResourceFolder = \\\"Resources\\\"\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = \\\"\\\"\r\nPrivate = true\r\nMaxPlayers = 10\r\nDebug = false\r\nDescription = \\\"BeamMP Default Description\\\"\r\nMaxCars = 1\r\nMap = \\\"\/levels\/gridmap_v2\/info.json\\\"\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrors = true\" > ServerConfig.toml",
|
||||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "Version to install",
|
"name": "Server Name",
|
||||||
"description": "Latest or invalid versions would default to latest. See all versions visit https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases",
|
"description": "The name of your server. This is what appears on the server list.",
|
||||||
|
"env_variable": "NAME",
|
||||||
|
"default_value": "BeamMP Server",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:64"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BeamMP Server Version",
|
||||||
|
"description": "The BeamMP server version to be installed. Latest or invalid versions will default to latest. See all available versions at https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases",
|
||||||
"env_variable": "VERSION",
|
"env_variable": "VERSION",
|
||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:32"
|
"rules": "required|string|max:8"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Authentication Key",
|
"name": "Authentication Key",
|
||||||
"description": "BeamMP Server Key (https:\/\/beamng-mp.com\/k\/keys)",
|
"description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/beamng-mp.com\/k\/dashboard",
|
||||||
"env_variable": "AUTH",
|
"env_variable": "AUTHKEY",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:50"
|
"rules": "required|string|max:64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Players",
|
"name": "Max Players",
|
||||||
"description": "The maximum number of allowed players",
|
"description": "The maximum number of players allowed on the server.",
|
||||||
"env_variable": "MAX_PLAYER",
|
"env_variable": "MAX_PLAYERS",
|
||||||
"default_value": "6",
|
"default_value": "6",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:32"
|
"rules": "required|integer|max:100"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Private",
|
||||||
|
"description": "Should the server be private?",
|
||||||
|
"env_variable": "PRIVATE",
|
||||||
|
"default_value": "false",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Max Cars",
|
||||||
|
"description": "The maximum number of cars allowed to be spawned per player.",
|
||||||
|
"env_variable": "MAX_CARS",
|
||||||
|
"default_value": "1",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|integer|max:4"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Map",
|
||||||
|
"description": "The map for your server. Stock maps are listed below.\r\n\r\n\/levels\/gridmap_v2\/info.json\r\n\/levels\/automation_test_track\/info.json\r\n\/levels\/east_coast_usa\/info.json\r\n\/levels\/hirochi_raceway\/info.json\r\n\/levels\/italy\/info.json\r\n\/levels\/jungle_rock_island\/info.json\r\n\/levels\/industrial\/info.json\r\n\/levels\/small_island\/info.json\r\n\/levels\/smallgrid\/info.json\r\n\/levels\/utah\/info.json\r\n\/levels\/west_coast_usa\/info.json\r\n\/levels\/driver_training\/info.json\r\n\/levels\/derby\/info.json",
|
||||||
|
"env_variable": "MAP",
|
||||||
|
"default_value": "\/levels\/gridmap_v2\/info.json",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:64"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
File diff suppressed because one or more lines are too long
@ -5,7 +5,7 @@
|
|||||||
Pterodactyl will not be providing support for FiveM. You are free to run a FiveM server but no support will be provided in the Pterodactyl Discord, check the discord annoucement below for details.
|
Pterodactyl will not be providing support for FiveM. You are free to run a FiveM server but no support will be provided in the Pterodactyl Discord, check the discord annoucement below for details.
|
||||||
|
|
||||||
Worth a read if you plan on running a FiveM server
|
Worth a read if you plan on running a FiveM server
|
||||||
[Pterodactyl Discord Announcement](https://ptb.discord.com/channels/122900397965705216/124919575534895105/869733533495746560)
|
[Pterodactyl Discord Announcement](https://discord.com/channels/122900397965705216/124919575534895105/869733533495746560)
|
||||||
|
|
||||||
## From the [FiveM](https://fivem.net/) Site
|
## From the [FiveM](https://fivem.net/) Site
|
||||||
|
|
||||||
|
@ -1,29 +1,29 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2022-01-11T10:14:56-05:00",
|
"exported_at": "2022-07-19T11:53:00-04:00",
|
||||||
"name": "FiveM",
|
"name": "FiveM",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
|
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"docker_images": {
|
||||||
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )",
|
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||||
"startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}",
|
"startup": "{\r\n \"done\": \"succeeded. Welcome!\"\r\n}",
|
||||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
"logs": "{}",
|
||||||
"stop": "quit"
|
"stop": "quit"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file jq\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${FIVEM_VERSION}\" == \"latest\" ]] || [[ -z ${FIVEM_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"Skipping downloading default server config file as one already exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\nmkdir -p logs\/\r\n\r\necho \"install complete\"",
|
"script": "#!\/bin\/bash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils file jq\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${FIVEM_VERSION}\" == \"recommended\" ]] || [[ -z ${FIVEM_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\nelif [[ \"${FIVEM_VERSION}\" == \"latest\" ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to recommedned as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"Skipping downloading default server config file as one already exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\nmkdir -p logs\/\r\n\r\necho \"install complete\"",
|
||||||
"container": "debian:buster-slim",
|
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -35,7 +35,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:33"
|
"rules": "required|string|max:33",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Players",
|
"name": "Max Players",
|
||||||
@ -44,7 +45,8 @@
|
|||||||
"default_value": "48",
|
"default_value": "48",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1,48"
|
"rules": "required|integer|between:1,48",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Hostname",
|
"name": "Server Hostname",
|
||||||
@ -53,16 +55,18 @@
|
|||||||
"default_value": "My new FXServer!",
|
"default_value": "My new FXServer!",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fivem version",
|
"name": "fivem version",
|
||||||
"description": "The fivem version that is to be installed. Invalid versions will default to latest.\r\n\r\nAn example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can get the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
|
"description": "The fivem version that is to be installed. Invalid versions will default to recommended.\r\n\r\nAn example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can get the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
|
||||||
"env_variable": "FIVEM_VERSION",
|
"env_variable": "FIVEM_VERSION",
|
||||||
"default_value": "latest",
|
"default_value": "recommended",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:50"
|
"rules": "required|string|max:50",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Download Link",
|
"name": "Download Link",
|
||||||
@ -71,7 +75,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Steam Web Api Key",
|
"name": "Steam Web Api Key",
|
||||||
@ -80,7 +85,8 @@
|
|||||||
"default_value": "none",
|
"default_value": "none",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "txAdmin Port",
|
"name": "txAdmin Port",
|
||||||
@ -89,7 +95,8 @@
|
|||||||
"default_value": "40120",
|
"default_value": "40120",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Enable txadmin",
|
"name": "Enable txadmin",
|
||||||
@ -98,7 +105,8 @@
|
|||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|boolean"
|
"rules": "required|boolean",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
33
game_eggs/losangelescrimes/README.md
Normal file
33
game_eggs/losangelescrimes/README.md
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
# Los Angeles Crimes
|
||||||
|
This egg makes it easy for you to create a public server in the game [Los Angeles Crimes](https://play.google.com/store/apps/details?id=com.MA.LAC&hl=in&gl=US).
|
||||||
|
|
||||||
|
I made it because I was confused about how to create a server manually which requires using a vpn and so on... But here such a method is not needed. This egg uses a Linux Server that has been provided by the Game Developer.
|
||||||
|
|
||||||
|
## Game Description
|
||||||
|
Los Angeles Crimes lets you play, create, and discover a variety of immersive worlds created by a global community!
|
||||||
|
|
||||||
|
Features:
|
||||||
|
- Free roam, team death-match, zombie survival, car race & soccer
|
||||||
|
- Third-person & first-person view
|
||||||
|
- Active-ragdoll and realistic physics
|
||||||
|
- LAN support
|
||||||
|
- PS4 controller support (Bluetooth)
|
||||||
|
|
||||||
|
Website: https://lacrimesonline.com/
|
||||||
|
|
||||||
|
## Minimum Requirement
|
||||||
|
1024MB Ram and 1024MB Disk is enough to run the server. Better to add ram & disk as this is a public server and dozens of people can join.
|
||||||
|
|
||||||
|
## Server Port
|
||||||
|
|
||||||
|
> **The LAC server can only run on port 7777. So the server port in the pterodactyl panel that you will use must be 7777.**
|
||||||
|
|
||||||
|
| Port | Default |
|
||||||
|
|---|---|
|
||||||
|
| Public Server | 7777 |
|
||||||
|
|
||||||
|
## To Do
|
||||||
|
- [ ] Can change version.
|
||||||
|
|
||||||
|
# Contributors
|
||||||
|
- [JastinXyz](https://github.com/JastinXyz)
|
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-04-27T11:33:59+07:00",
|
||||||
|
"name": "LAC-Online Public Server",
|
||||||
|
"author": "jastinlt16@gmail.com",
|
||||||
|
"description": "To make the Los Angeles Crimes public server. Los Angeles Crimes lets you play, create, and discover a variety of immersive worlds created by a global community!",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:ubuntu_source"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/LAC_Linux_v{{VER}}.x86_64",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"Done!\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\ncd \/mnt\/server &&\r\n\r\n# installing dependencies\r\napt-get update -y &&\r\napt-get install -y wget screen unzip libc6-i386 lib32stdc++6 &&\r\n\r\n# delete the previous file (if it is in the file manager)\r\nrm -f LAC_Linux_v${VER}.x86_64 && rm -rf LAC_Linux_v${VER}_Data &&\r\n\r\n# Using another version still under development!\r\n#echo \"checking the given version file and download it... v${VER}.\"\r\n#wget https:\/\/dl.lacrimesonline.com\/builds\/LAC_v${VER}\/LAC_Linux_Server_v${VER}.zip -O LAC_Linux_Server_v${VER}.zip || echo \"VERSION v${VER} IS NOT FOUND! Use v1.6 instead...\" && exit 1\r\n\r\nwget https:\/\/dl.lacrimesonline.com\/builds\/LAC_v${VER}\/LAC_Linux_Server_v${VER}.zip -O LAC_Linux_Server_v${VER}.zip &&\r\necho \"successfully downloaded v${VER} files.!\" &&\r\n\r\n# Extracting & remove the zip file\r\nunzip .\/LAC_Linux_Server_v${VER}.zip &&\r\nrm -f .\/LAC_Linux_Server_v${VER}.zip &&\r\n\r\n# Make the main file executable....\r\nchmod +x LAC_Linux_v${VER}.x86_64 &&\r\n\r\necho \"INSTALATION COMPLETE!\"",
|
||||||
|
"container": "ubuntu:18.04",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Version",
|
||||||
|
"description": "The build version is available at https:\/\/dl.lacrimesonline.com\/builds\/. Just write a numeric version like 1.6, don't use any other characters than numbers and periods. If the entered version is incorrect\/non-existent it will use version 1.6 (for now). After replacing it, then reinstall this server. [ THIS FEATURE IS STILL IN DEVELOPMENT ]",
|
||||||
|
"env_variable": "VER",
|
||||||
|
"default_value": "1.6",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -13,26 +13,26 @@ It’s set in infinitely-generated worlds of wide open terrain - icy mountains,
|
|||||||
|
|
||||||
## [Java](java) Servers for Java Minecraft
|
## [Java](java) Servers for Java Minecraft
|
||||||
|
|
||||||
* [Airplane](minecraft/java/airplane)
|
* [Airplane](java/airplane)
|
||||||
* [Cuberite](minecraft/java/cuberite)
|
* [Cuberite](java/cuberite)
|
||||||
* [Fabric](minecraft/java/fabric)
|
* [Fabric](java/fabric)
|
||||||
* [Feather](minecraft/java/feather)
|
* [Feather](java/feather)
|
||||||
* [Forge](minecraft/java/forge)
|
* [Forge](java/forge)
|
||||||
* [Forge](minecraft/java/forge/forge)
|
* [Forge](java/forge/forge)
|
||||||
* [CusreForge Generic](minecraft/java/forge/curseforge-generic)
|
* [CusreForge Generic](java/forge/curseforge-generic)
|
||||||
* [Feed The Beast](minecraft/java/ftb)
|
* [Feed The Beast](java/ftb)
|
||||||
* [Glowstone](/minecraft/java/glowstone)
|
* [Glowstone](java/glowstone)
|
||||||
* [Krypton](/minecraft/java/krypton)
|
* [Krypton](java/krypton)
|
||||||
* [Magma](minecraft/java/magma)
|
* [Magma](java/magma)
|
||||||
* [Mohist](minecraft/java/mohist)
|
* [Mohist](java/mohist)
|
||||||
* [NanoLimbo](/minecraft/java/nanolimbo)
|
* [NanoLimbo](java/nanolimbo)
|
||||||
* [Paper](minecraft/java/paper)
|
* [Paper](java/paper)
|
||||||
* [Purpur](minecraft/java/purpur)
|
* [Purpur](java/purpur)
|
||||||
* [Spigot](minecraft/java/spigot)
|
* [Spigot](java/spigot)
|
||||||
* [SpongeForge](minecraft/java/spongeforge)
|
* [SpongeForge](java/spongeforge)
|
||||||
* [SpongeVanilla](minecraft/java/spongevanilla)
|
* [SpongeVanilla](java/spongevanilla)
|
||||||
* [Technic](minecraft/java/technic)
|
* [Technic](java/technic)
|
||||||
* [VanillaCord](minecraft/java/vanillacord)
|
* [VanillaCord](java/vanillacord)
|
||||||
|
|
||||||
## [Proxies](proxy) Minecraft Server Proxies
|
## [Proxies](proxy) Minecraft Server Proxies
|
||||||
|
|
||||||
|
@ -19,3 +19,6 @@ Also see the [Mojang Issue tracker](https://bugs.mojang.com/projects/BDS/issues/
|
|||||||
* Constant `NO LOG FILE` in the console before every log line.
|
* Constant `NO LOG FILE` in the console before every log line.
|
||||||
* Server chat is not printed to the console.
|
* Server chat is not printed to the console.
|
||||||
* when you set ops in game they do not get saved.
|
* when you set ops in game they do not get saved.
|
||||||
|
|
||||||
|
### arm64
|
||||||
|
* The arm64 may not perform as expected due to the amd64 to arm emulaton.
|
||||||
|
@ -0,0 +1,94 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-07-06T17:14:36+02:00",
|
||||||
|
"name": "Vanilla Bedrock ARM64",
|
||||||
|
"author": "josdekurk@gmail.com",
|
||||||
|
"description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".",
|
||||||
|
"features": [
|
||||||
|
"pid_limit"
|
||||||
|
],
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:box64": "ghcr.io\/parkervcp\/yolks:box64"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "box64 .\/bedrock_server",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"server-name\": \"{{server.build.env.SERVERNAME}}\",\r\n \"gamemode\": \"{{server.build.env.GAMEMODE}}\",\r\n \"difficulty\": \"{{server.build.env.DIFFICULTY}}\",\r\n \"allow-cheats\": \"{{server.build.env.CHEATS}}\",\r\n \"max-threads\": \"2\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "stop"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Minecraft CDN Akamai blocks script user-agents\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n curl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -H \"Accept-Encoding: gzip, deflate\" -o versions.html.gz https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/minecraft.azureedge.net\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak versions.html.gz\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp whitelist.json whitelist.json.bak\r\n\r\necho -e \"Downloading files from: $DOWNLOAD_URL\"\r\n\r\ncurl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -o $DOWNLOAD_FILE $DOWNLOAD_URL\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $DOWNLOAD_FILE\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $DOWNLOAD_FILE\r\n\r\necho 'emit-server-telemetry=true' >> server.properties\r\n\r\necho -e \"restoring backup config files - on first install there will be file not found errors which you can ignore.\"\r\ncp -rf server.properties.bak server.properties\r\ncp -rf permissions.json.bak permissions.json\r\ncp -rf whitelist.json.bak whitelist.json\r\n\r\nchmod +x bedrock_server\r\n\r\necho -e \"Install Completed\"",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Bedrock Version",
|
||||||
|
"description": "The version of bedrock. (Ex. 1.7.0.13)\r\n\r\nDefault version is latest.",
|
||||||
|
"env_variable": "BEDROCK_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "ld lib path",
|
||||||
|
"description": "Dumb reasons to need this",
|
||||||
|
"env_variable": "LD_LIBRARY_PATH",
|
||||||
|
"default_value": ".",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Name",
|
||||||
|
"description": "The name for the server",
|
||||||
|
"env_variable": "SERVERNAME",
|
||||||
|
"default_value": "Bedrock Dedicated Server",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:50",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gamemode",
|
||||||
|
"description": "Allowed values: \"survival\", \"creative\", or \"adventure\"",
|
||||||
|
"env_variable": "GAMEMODE",
|
||||||
|
"default_value": "survival",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|in:survival,creative,adventure",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Difficulty",
|
||||||
|
"description": "Allowed values: \"peaceful\", \"easy\", \"normal\", or \"hard\"",
|
||||||
|
"env_variable": "DIFFICULTY",
|
||||||
|
"default_value": "easy",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|in:peaceful,easy,normal,hard",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Allow cheats",
|
||||||
|
"description": "If true then cheats like commands can be used.\r\n\r\nAllowed values: \"true\" or \"false\"",
|
||||||
|
"env_variable": "CHEATS",
|
||||||
|
"default_value": "false",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2021-12-11T19:52:34+00:00",
|
"exported_at": "2022-07-28T19:04:48+02:00",
|
||||||
"name": "PocketmineMP",
|
"name": "PocketmineMP",
|
||||||
"author": "info@swisscrafting.ch",
|
"author": "info@swisscrafting.ch",
|
||||||
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
|
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:debian"
|
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi",
|
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi",
|
||||||
"config": {
|
"config": {
|
||||||
@ -22,8 +22,8 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n\r\n# This is already installed in our Script container image. Leaving it here for future reference | apt install -y curl jq\r\n\r\ncd \/mnt\/server\r\n\r\n# Restrict versions to latest pm3 and pm4 for now.\r\nif [[ \"${VERSION}\" == \"pm4\" ]] || [[ \"${VERSION}\" == \"\" ]]; then\r\n DOWNLOAD_LINK=$(curl -ssL https:\/\/update.pmmp.io\/api?channel=stable | grep 'download_url' | cut -d '\"' -f 4)\r\n echo -e \"Downloading latest PocketMine 4 from ${DOWNLOAD_LINK}\"\r\n curl -ssL \"${DOWNLOAD_LINK}\" -o PocketMine-MP.phar\r\nelif [[ \"${VERSION}\" == \"pm3\" ]]; then\r\n DOWNLOAD_LINK=$(curl -ssL https:\/\/update.pmmp.io\/api?channel=pm3 | grep 'download_url' | cut -d '\"' -f 4)\r\n echo -e \"Downloading latest PocketMine 3 from ${DOWNLOAD_LINK}\"\r\n curl -ssL \"${DOWNLOAD_LINK}\" -o PocketMine-MP.phar\r\nelse\r\n echo -e \"Unknown version ${VERSION}\"\r\n exit 1\r\nfi\r\n\r\necho -e \"\\n downloading latest php build from PocketMine https:\/\/jenkins.pmmp.io\/job\/PHP-8.0-Aggregate\/lastStableBuild\/artifact\/PHP-8.0-Linux-x86_64.tar.gz\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-8.0-Aggregate\/lastStableBuild\/artifact\/PHP-8.0-Linux-x86_64.tar.gz\r\n\r\nif [[ ! -f server.properties ]]; then\r\n echo -e \"\\n downloading default server.properties\"\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/pocketmine_mp\/server.properties >server.properties\r\nfi\r\n\r\necho -e \"\\n unpacking php binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing php packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n configuring PHP extensions library directory\"\r\nEXTENSION_DIR=$(find \"bin\" -name *debug-zts*)\r\ngrep -q '^extension_dir' bin\/php7\/bin\/php.ini && sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs\r\n\r\necho -e \"\\n\\nInstall script completed. Enjoy!\"",
|
"script": "#!\/bin\/bash\r\n\r\n\r\napt update\r\napt install -y git curl wget jq file tar unzip zip\r\n\r\ncd \/mnt\/server\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n\r\n# Restrict versions to latest pm3 and pm4 for now.\r\nif [[ \"${VERSION}\" == \"pm4\" ]] || [[ \"${VERSION}\" == \"\" ]]; then\r\n DOWNLOAD_LINK=$(curl -ssL https:\/\/update.pmmp.io\/api?channel=stable | grep 'download_url' | cut -d '\"' -f 4)\r\n echo -e \"Downloading latest PocketMine 4 from ${DOWNLOAD_LINK}\"\r\n curl -ssL \"${DOWNLOAD_LINK}\" -o PocketMine-MP.phar\r\nelif [[ \"${VERSION}\" == \"pm3\" ]]; then\r\n DOWNLOAD_LINK=$(curl -ssL https:\/\/update.pmmp.io\/api?channel=pm3 | grep 'download_url' | cut -d '\"' -f 4)\r\n echo -e \"Downloading latest PocketMine 3 from ${DOWNLOAD_LINK}\"\r\n curl -ssL \"${DOWNLOAD_LINK}\" -o PocketMine-MP.phar\r\nelse\r\n echo -e \"Unknown version ${VERSION}\"\r\n exit 1\r\nfi\r\n\r\n\r\n\r\nif [[ \"${ARCH}\" == \"amd64\" ]]; then\r\necho -e \"\\n downloading latest php build from PocketMine https:\/\/jenkins.pmmp.io\/job\/PHP-8.0-Aggregate\/lastStableBuild\/artifact\/PHP-8.0-Linux-x86_64.tar.gz\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-8.0-Aggregate\/lastStableBuild\/artifact\/PHP-8.0-Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n unpacking php binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing php packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n configuring PHP extensions library directory\"\r\nEXTENSION_DIR=$(find \"bin\" -name *debug-zts*)\r\ngrep -q '^extension_dir' bin\/php7\/bin\/php.ini && sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\r\nelse\r\napt install -y libtool-bin libtool make autoconf automake m4 gzip bzip2 bison g++ git cmake pkg-config re2c\r\n\r\nwget https:\/\/raw.githubusercontent.com\/pmmp\/php-build-scripts\/stable\/compile.sh -O compile.sh \r\nchmod +x compile.sh\r\n\r\necho \"please wait, this will take some time\"\r\n.\/compile.sh\r\nrm compile.sh\r\nrm -rf install_data\/\r\n\r\necho -e \"\\n configuring PHP extensions library directory\"\r\nEXTENSION_DIR=$(find \"bin\" -name *debug-zts*)\r\ngrep -q '^extension_dir' bin\/php7\/bin\/php.ini && sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\r\n\r\nfi\r\n\r\n\r\nif [[ ! -f server.properties ]]; then\r\n echo -e \"\\n downloading default server.properties\"\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/pocketmine_mp\/server.properties >server.properties\r\nfi\r\n\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs\r\n\r\necho -e \"\\n\\nInstall script completed. Enjoy!\"",
|
||||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -35,7 +35,8 @@
|
|||||||
"default_value": "pm4",
|
"default_value": "pm4",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:pm3,pm4"
|
"rules": "required|string|in:pm3,pm4",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -20,7 +20,7 @@ level-seed=
|
|||||||
level-type=DEFAULT
|
level-type=DEFAULT
|
||||||
enable-query=true
|
enable-query=true
|
||||||
enable-rcon=off
|
enable-rcon=off
|
||||||
rcon.password=BhPTpB1bvi
|
rcon.password=
|
||||||
auto-save=on
|
auto-save=on
|
||||||
view-distance=8
|
view-distance=8
|
||||||
xbox-auth=on
|
xbox-auth=on
|
||||||
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
15
game_eggs/mohaa/README.md
Normal file
15
game_eggs/mohaa/README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Medal of Honor: Allied Assault
|
||||||
|
|
||||||
|
Medal of Honor: Allied Assault is a first-person shooter video game developed by 2015, Inc.
|
||||||
|
|
||||||
|
### Server Ports
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
| ---- | ------- |
|
||||||
|
| Game | 12203 |
|
||||||
|
|
||||||
|
This egg uses the Unofficial MoH:AA 1.12 Patch that addes several features and security updates to allow a fair multiplayer experience.
|
||||||
|
|
||||||
|
Ones the server is installed you can check the File Manager for `Medal of Honor Reborn Patch Documentation RC3.5.1.pdf` for more information.
|
||||||
|
|
||||||
|
Check the `main/server.cfg` in the File Manager for more configuration options.
|
104
game_eggs/mohaa/egg-mohaa.json
Normal file
104
game_eggs/mohaa/egg-mohaa.json
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-09-29T23:01:20+02:00",
|
||||||
|
"name": "mohaa",
|
||||||
|
"author": "th3dilli@gmx.at",
|
||||||
|
"description": null,
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/parkervcp\/games:mohaa"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/mohaa_lnxded +set sv_punkbuster 0 +set fs_basepath {{BASE_PATH}} +set fs_outputpath {{LOG_DIR}} +set dedicated 2 +set sv_maxclients {{SERVER_MAXCLIENTS}} +set net_ip 0.0.0.0 +set net_port {{SERVER_PORT}} +exec server.cfg",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"main\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"seta sv_hostname\": \"seta sv_hostname \\\"{{env.SERVER_NAME}}\\\"\",\r\n \"seta sv_maxClients\": \"seta sv_maxClients \\\"{{env.SERVER_MAXCLIENTS}}\\\"\",\r\n \"seta rconPassword\": \"seta rconPassword \\\"{{env.RCON_PASSWORD}}\\\"\",\r\n \"seta g_password\": \"seta g_password \\\"{{env.SERVER_PASSWORD}}\\\"\",\r\n \"Map\": \"Map {{env.SERVER_MAP}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"------ Server Initialization Complete ------\",\r\n \"userInteraction\": []\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "quit"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "apk --no-cache add curl\r\n\r\nif [[ ! -d \/mnt\/server\/ ]]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nDOWNLOAD_URL=https:\/\/linuxgsm.download\/MedalofHonorAlliedAssault\/moh_revival_v1.12_RC3.5.1.tar.xz\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o mohaaserver.tar.xz'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o mohaaserver.tar.xz\r\n\r\necho -e \"Unpacking server files\"\r\ntar xvf mohaaserver.tar.xz\r\n\r\nrm mohaaserver.tar.xz\r\n\r\necho -e \"checking for default server.cfg\"\r\n[[ -f main\/server.cfg ]] || curl -sSL ${CONFIG_URL} -o main\/server.cfg\r\n\r\necho -e \"running 'chmod +x .\/mohaa_lnxded'\"\r\nchmod +x .\/mohaa_lnxded",
|
||||||
|
"container": "alpine:3.4",
|
||||||
|
"entrypoint": "ash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "SERVER_MAXCLIENTS",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "SERVER_MAXCLIENTS",
|
||||||
|
"default_value": "14",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "CONFIG_URL",
|
||||||
|
"description": "URL from where to get the initial server.cfg",
|
||||||
|
"env_variable": "CONFIG_URL",
|
||||||
|
"default_value": "https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/mohaa\/game_eggs\/mohaa\/server.cfg",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SERVER_NAME",
|
||||||
|
"description": "The name of the server",
|
||||||
|
"env_variable": "SERVER_NAME",
|
||||||
|
"default_value": "MOHAA Server running on Pterodactyl",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "RCON_PASSWORD",
|
||||||
|
"description": "Admin password for rcon",
|
||||||
|
"env_variable": "RCON_PASSWORD",
|
||||||
|
"default_value": "ADMINPASSWORD",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SERVER_MAP",
|
||||||
|
"description": "Select the map\r\n\r\nobj\/obj_team2\r\ndm\/mohdm7\r\ndm\/mohdm1\r\ndm\/mohdm3\r\ndm\/mohdm2\r\ndm\/mohdm6",
|
||||||
|
"env_variable": "SERVER_MAP",
|
||||||
|
"default_value": "dm\/mohdm7",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "LOG_DIR",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "LOG_DIR",
|
||||||
|
"default_value": "\/home\/container\/Logs",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "BASE_PATH",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "BASE_PATH",
|
||||||
|
"default_value": "\/home\/container",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "SERVER_PASSWORD",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "SERVER_PASSWORD",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
109
game_eggs/mohaa/server.cfg
Normal file
109
game_eggs/mohaa/server.cfg
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
// General Settings
|
||||||
|
|
||||||
|
seta sv_hostname "SERVERNAME"
|
||||||
|
seta sv_maxRate "10000" // DO NOT SET OVER 15000 OR YOUR ACCOUNT WILL BE LOCKED!
|
||||||
|
seta sv_timeout "200" //amount of time before assuming a disconnected state
|
||||||
|
seta sv_precache "1"
|
||||||
|
seta sv_fps "19" //max frame rate to clients - increasing will raise pings
|
||||||
|
seta sv_maxClients "14"
|
||||||
|
seta sv_allowDownload "0"
|
||||||
|
seta sv_reconnectlimit "3"
|
||||||
|
seta sv_zombietime "1"
|
||||||
|
seta g_inactivity "180"
|
||||||
|
seta g_forcerespawn "30"
|
||||||
|
seta g_syncronousclients "0"
|
||||||
|
seta sv_chatter "1"
|
||||||
|
|
||||||
|
|
||||||
|
// Server Passwords
|
||||||
|
|
||||||
|
seta rconPassword "ADMINPASSWORD"
|
||||||
|
seta g_password ""
|
||||||
|
seta sv_privateClients "" //LOCKED SERVER PASSWORD
|
||||||
|
seta sv_privatePassword "" //PRIVATE SLOTS PASSWORD
|
||||||
|
|
||||||
|
|
||||||
|
// Server Network Settings
|
||||||
|
|
||||||
|
set sv_flood_waitdelay "10" //not too sure on this, possibly time before flooder is allowed to type again (default)
|
||||||
|
set sv_flood_persecond "4" //messages per second to be considered a flood ?? (default)
|
||||||
|
set sv_flood_msgs "4" // ?? (default)
|
||||||
|
net_noipx "1" //Disallows IPX connections, TCP only (network protocol)
|
||||||
|
|
||||||
|
// Logs
|
||||||
|
|
||||||
|
//Logging
|
||||||
|
seta logfile "3"
|
||||||
|
seta g_log "mohserver.log"
|
||||||
|
seta g_logSync "0"
|
||||||
|
|
||||||
|
|
||||||
|
// Extras
|
||||||
|
|
||||||
|
seta sv_maxPing "1000"
|
||||||
|
seta sv_minPing "0"
|
||||||
|
seta sv_floodProtect "1"
|
||||||
|
|
||||||
|
|
||||||
|
// Game Type Settings - ATTN-May be overwritten by MOH config file below
|
||||||
|
// Set the type of game: 1=Deathmatch 2= Team match 3 = OBJ 4 = Roundbased
|
||||||
|
|
||||||
|
seta g_gametype "3"
|
||||||
|
seta timelimit "10"
|
||||||
|
seta fraglimit "0"
|
||||||
|
|
||||||
|
set g_ft_settings "cvar: meltgun scanvis"
|
||||||
|
|
||||||
|
set g_extgametype_mohdm1 ctf // Free-For-All for Southern France
|
||||||
|
set g_extgametype_mohdm2 ft // Team-Match on Destroyed Village
|
||||||
|
set g_extgametype_mohdm3 ftctf // Freeze-Tag on Remagen
|
||||||
|
set g_extgametype_mohdm4 ftctf // Freeze-Tag on Crossroads
|
||||||
|
set g_extgametype_mohdm5 ftdem // Round-Based-Match on Snowy Park
|
||||||
|
set g_extgametype_mohdm6 ftdem // Demolition on Stalingrad
|
||||||
|
set g_extgametype_mohdm7 ft// Capture-The-Flag on Algiers
|
||||||
|
set g_extgametype_obj_team1 ftobj // Freeze-Tag-Objective on The Hunt
|
||||||
|
set g_extgametype_obj_team2 ftobj // Objective-Match on V2 Rocket Facility
|
||||||
|
set g_extgametype_obj_team3 ftctf // Capture-The-Flag on Omaha Beach
|
||||||
|
set g_extgametype_obj_team4 ftobj // Freeze-Tag-Objective on The Bridge
|
||||||
|
|
||||||
|
// seta capturelimit "6"
|
||||||
|
seta sv_gamespy "1" // Show our server in gamespy
|
||||||
|
|
||||||
|
// Game Play Default Settings
|
||||||
|
//seta g_gravity "800"
|
||||||
|
//seta g_knockback "1000"
|
||||||
|
//seta g_quadfactor "3"
|
||||||
|
//seta g_speed "320"
|
||||||
|
//seta g_weaponRespawn "5"
|
||||||
|
//seta g_weaponTeamRespawn "30" //respawn time in seconds for team games
|
||||||
|
//seta dmflags "0" // 8 (no falling damage) 16 (fixed FOV) 32 (no footsteps)
|
||||||
|
|
||||||
|
// Match Settings
|
||||||
|
|
||||||
|
seta g_doWarmup "0"
|
||||||
|
seta g_warmup "20"
|
||||||
|
|
||||||
|
// Team Preferences
|
||||||
|
seta g_teamAutoJoin "0"
|
||||||
|
seta g_teamForceBalance "1"
|
||||||
|
|
||||||
|
// seta g_friendlyFire "0"
|
||||||
|
seta g_teamdamage "0" // FF on or Off 1 = on
|
||||||
|
|
||||||
|
// Voting
|
||||||
|
seta g_allowVote "1"
|
||||||
|
|
||||||
|
// Master Servers
|
||||||
|
seta sv_master1 "mohmaster.2015.com"
|
||||||
|
seta sv_master2 "master0.gamespy.com"
|
||||||
|
seta sv_master3 "master1.gamespy.com"
|
||||||
|
|
||||||
|
set g_mef_settings "meltgun: on"
|
||||||
|
|
||||||
|
|
||||||
|
// Banned Players
|
||||||
|
seta g_filterBan "1"
|
||||||
|
|
||||||
|
|
||||||
|
seta sv_maplist "obj/obj_team2 dm/mohdm7 dm/mohdm1 dm/mohdm3 dm/mohdm2 dm/mohdm6"
|
||||||
|
Map dm/mohdm7
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2022-01-22T05:43:25-05:00",
|
"exported_at": "2022-07-19T11:52:55-04:00",
|
||||||
"name": "RedM",
|
"name": "RedM",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "A new RedM egg for the latest builds due to recent changes in RedM",
|
"description": "A new RedM egg for the latest builds due to recent changes in RedM",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:debian"
|
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3",
|
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{CFX_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +exec server.cfg +set gamename rdr3",
|
||||||
"config": {
|
"config": {
|
||||||
@ -22,9 +22,9 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/ash\r\n# CFx Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add openssl tar xz curl wget git file --no-cache jq\r\n\r\nmkdir -p \/mnt\/server\/resources \/mnt\/server\/logs\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${CFX_VERSION}\" == \"latest\" ]] || [[ -z ${CFX_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\necho \"install complete\"",
|
"script": "#!\/bin\/ash\r\n# CFx Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils file jq\r\n\r\nmkdir -p \/mnt\/server\/resources \/mnt\/server\/logs\/\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${CFX_VERSION}\" == \"recommended\" ]] || [[ -z ${CFX_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\nelif [[ \"${CFX_VERSION}\" == \"latest\" ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to recommedned as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\necho \"install complete\"",
|
||||||
"container": "alpine:3.10",
|
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||||
"entrypoint": "ash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [
|
||||||
@ -35,16 +35,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
},
|
"field_type": "text"
|
||||||
{
|
|
||||||
"name": "Steam Web Api Key",
|
|
||||||
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
|
||||||
"env_variable": "STEAM_WEBAPIKEY",
|
|
||||||
"default_value": "none",
|
|
||||||
"user_viewable": true,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "required|string"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Players",
|
"name": "Max Players",
|
||||||
@ -53,7 +45,8 @@
|
|||||||
"default_value": "32",
|
"default_value": "32",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1,32"
|
"rules": "required|integer|between:1,32",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Hostname",
|
"name": "Server Hostname",
|
||||||
@ -62,7 +55,8 @@
|
|||||||
"default_value": "My new FXServer!",
|
"default_value": "My new FXServer!",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "CFX version",
|
"name": "CFX version",
|
||||||
@ -71,7 +65,8 @@
|
|||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:50"
|
"rules": "required|string|max:50",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Download Link",
|
"name": "Download Link",
|
||||||
@ -80,7 +75,18 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Steam Web Api Key",
|
||||||
|
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
||||||
|
"env_variable": "STEAM_WEBAPIKEY",
|
||||||
|
"default_value": "none",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -28,6 +28,10 @@ This is a collection of servers that use SteamCMD to install.
|
|||||||
|
|
||||||
[Barotrauma](barotrauma)
|
[Barotrauma](barotrauma)
|
||||||
|
|
||||||
|
## Black Mesa
|
||||||
|
|
||||||
|
[Black Mesa](black_mesa)
|
||||||
|
|
||||||
## Citadel: Forged with Fire
|
## Citadel: Forged with Fire
|
||||||
|
|
||||||
[citadel](citadel)
|
[citadel](citadel)
|
||||||
@ -96,6 +100,10 @@ This is a collection of servers that use SteamCMD to install.
|
|||||||
|
|
||||||
[Onset](onset)
|
[Onset](onset)
|
||||||
|
|
||||||
|
## Open Fortress
|
||||||
|
|
||||||
|
[Open Fortress](open_fortress)
|
||||||
|
|
||||||
## Pavlov VR
|
## Pavlov VR
|
||||||
|
|
||||||
[Pavlov VR](pavlov_vr)
|
[Pavlov VR](pavlov_vr)
|
||||||
|
@ -50,7 +50,7 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Map",
|
"name": "Server Map",
|
||||||
"description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2",
|
"description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2, Fjordur",
|
||||||
"env_variable": "SERVER_MAP",
|
"env_variable": "SERVER_MAP",
|
||||||
"default_value": "TheIsland",
|
"default_value": "TheIsland",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
|
17
game_eggs/steamcmd_servers/black_mesa/README.md
Normal file
17
game_eggs/steamcmd_servers/black_mesa/README.md
Normal file
@ -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/)
|
92
game_eggs/steamcmd_servers/black_mesa/egg-black-mesa.json
Normal file
92
game_eggs/steamcmd_servers/black_mesa/egg-black-mesa.json
Normal file
@ -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": "2022-08-07T17:56:38+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": null,
|
||||||
|
"docker_images": {
|
||||||
|
"quay.io\/pterodactyl\/core:source": "quay.io\/pterodactyl\/core: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 \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||||
|
"stop": "quit"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'debian:buster-slim'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id ffound here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# EXTRA_FLAGS - when a server has extra glas for things like beta installs or updates.\r\n#\r\n##\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [ \"${STEAM_USER}\" == \"\" ]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +force_install_dir \/mnt\/server +app_update ${SRCDS_APPID} ${EXTRA_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so",
|
||||||
|
"container": "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|max:20",
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,30 +1,30 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2022-01-11T16:08:26+01:00",
|
"exported_at": "2022-07-19T15:47:00+02:00",
|
||||||
"name": "Craftopia",
|
"name": "Craftopia",
|
||||||
"author": "info@goover.de",
|
"author": "info@goover.de",
|
||||||
"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.",
|
"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": [
|
"features": [
|
||||||
"steam_disk_space"
|
"steam_disk_space"
|
||||||
],
|
],
|
||||||
"images": [
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/games:source"
|
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/Craftopia.x86_64",
|
"startup": ".\/Craftopia.x86_64",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"ServerSetting.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"name=\": \"name={{server.build.env.WORLD_NAME}}\",\r\n \"port=\": \"port={{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
"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}",
|
"startup": "{\r\n \"done\": \"World is loaded!\"\r\n}",
|
||||||
"logs": "{}",
|
"logs": "{}",
|
||||||
"stop": "^^C"
|
"stop": "^^C"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n#SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\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# 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",
|
"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",
|
||||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -37,7 +37,8 @@
|
|||||||
"default_value": "1670340",
|
"default_value": "1670340",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Auto Update",
|
"name": "Auto Update",
|
||||||
@ -46,7 +47,8 @@
|
|||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "World Name",
|
"name": "World Name",
|
||||||
@ -55,7 +57,8 @@
|
|||||||
"default_value": "Pterodactyl Server",
|
"default_value": "Pterodactyl Server",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:50"
|
"rules": "required|string|max:50",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
14
game_eggs/steamcmd_servers/open_fortress/README.md
Normal file
14
game_eggs/steamcmd_servers/open_fortress/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Open Fortress
|
||||||
|
|
||||||
|
## From their [Website](https://openfortress.fun/)
|
||||||
|
|
||||||
|
Open Fortress is a free Team Fortress 2 mod that introduces new gamemodes, weapons, characters, maps, and more to the world of TF2.
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
|
||||||
|
Open Fortress servers require 1 port to be open, the SourceTV port can also be opened for spectators.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|-----------|---------|
|
||||||
|
| Game/rcon | 27015 |
|
||||||
|
| SourceTV | 27020 |
|
File diff suppressed because one or more lines are too long
134
game_eggs/steamcmd_servers/open_fortress/gameinfo.txt
Normal file
134
game_eggs/steamcmd_servers/open_fortress/gameinfo.txt
Normal file
@ -0,0 +1,134 @@
|
|||||||
|
"GameInfo"
|
||||||
|
{
|
||||||
|
game "Open Fortress"
|
||||||
|
title ""
|
||||||
|
title2 ""
|
||||||
|
gamelogo "1"
|
||||||
|
developer "https://github.com/AgitationSkeleton/open_fortress/blob/master/credits.txt"
|
||||||
|
developer_url "https://github.com/KaidemonLP/Open-Fortress-Source"
|
||||||
|
manual ""
|
||||||
|
|
||||||
|
type "multiplayer_only"
|
||||||
|
hasportals "0" // gameui.dll
|
||||||
|
hashdcontent "0" // gameui.dll
|
||||||
|
nomodels "0" // gameui.dll
|
||||||
|
nohimodel "0" // gameui.dll
|
||||||
|
nocrosshair "0" // gameui.dll
|
||||||
|
advcrosshair "1" // gameui.dll
|
||||||
|
nodifficulty "1" // gameui.dll
|
||||||
|
supportsvr "0" // engine.dll + gameui.dll
|
||||||
|
bots "0" // gameui.dll
|
||||||
|
nodegraph "1" // engine.dll
|
||||||
|
perfwizard "0" // unused
|
||||||
|
SupportsDX8 "0" // unused
|
||||||
|
SupportsDX9 "1" // unused
|
||||||
|
SupportsDX10 "0" // unused
|
||||||
|
SupportsDX11 "0" // unused
|
||||||
|
SupportsXbox "0" // unused
|
||||||
|
SupportsXbox360 "0" // unused
|
||||||
|
SupportsXboxOne "0" // unused
|
||||||
|
SupportsPS3 "0" // unused
|
||||||
|
SupportsPS4 "0" // unused
|
||||||
|
icon "resource/game"
|
||||||
|
GameData "ofd_fic2.fgd"
|
||||||
|
InstancePath "maps/instances/"
|
||||||
|
|
||||||
|
hidden_maps
|
||||||
|
{
|
||||||
|
"test_speakers" 1
|
||||||
|
"test_hardware" 1
|
||||||
|
"background01" 1
|
||||||
|
"background02" 1
|
||||||
|
"background03" 1
|
||||||
|
"background04" 1
|
||||||
|
"background05" 1
|
||||||
|
"background06" 1
|
||||||
|
"background07" 1
|
||||||
|
"background08" 1
|
||||||
|
"background09" 1
|
||||||
|
"background12" 1
|
||||||
|
"background15" 1
|
||||||
|
"ep1_c17_00" 1
|
||||||
|
"ep1_c17_00a" 1
|
||||||
|
"ep1_c17_01" 1
|
||||||
|
"ep1_c17_01a" 1
|
||||||
|
"ep1_c17_02" 1
|
||||||
|
"ep1_c17_02a" 1
|
||||||
|
"ep1_c17_02b" 1
|
||||||
|
"ep1_c17_05" 1
|
||||||
|
"ep1_c17_06" 1
|
||||||
|
"ep1_citadel_00" 1
|
||||||
|
"ep1_citadel_00_demo" 1
|
||||||
|
"ep1_citadel_01" 1
|
||||||
|
"ep1_citadel_02" 1
|
||||||
|
"ep1_citadel_02b" 1
|
||||||
|
"ep1_citadel_03" 1
|
||||||
|
"ep1_citadel_04" 1
|
||||||
|
"ep1_background01" 1
|
||||||
|
"ep1_background01a" 1
|
||||||
|
"ep1_background02" 1
|
||||||
|
"ep2_outland_01" 1
|
||||||
|
"ep2_outland_01a" 1
|
||||||
|
"ep2_outland_02" 1
|
||||||
|
"ep2_outland_03" 1
|
||||||
|
"ep2_outland_04" 1
|
||||||
|
"ep2_outland_05" 1
|
||||||
|
"ep2_outland_06" 1
|
||||||
|
"ep2_outland_06a" 1
|
||||||
|
"ep2_outland_07" 1
|
||||||
|
"ep2_outland_08" 1
|
||||||
|
"ep2_outland_09" 1
|
||||||
|
"ep2_outland_10" 1
|
||||||
|
"ep2_outland_10a" 1
|
||||||
|
"ep2_outland_11" 1
|
||||||
|
"ep2_outland_11a" 1
|
||||||
|
"ep2_outland_11b" 1
|
||||||
|
"ep2_outland_12" 1
|
||||||
|
"ep2_outland_12a" 1
|
||||||
|
"ep2_background01" 1
|
||||||
|
"ep2_background02" 1
|
||||||
|
"ep2_background02a" 1
|
||||||
|
"ep2_background03" 1
|
||||||
|
"credits" 1
|
||||||
|
"vst_lostcoast" 1
|
||||||
|
"test" 1
|
||||||
|
"sdk_vehicles" 1
|
||||||
|
}
|
||||||
|
|
||||||
|
FileSystem
|
||||||
|
{
|
||||||
|
SteamAppId 243750
|
||||||
|
|
||||||
|
SearchPaths
|
||||||
|
{
|
||||||
|
game+mod |gameinfo_path|custom/*
|
||||||
|
game+game_write+mod+mod_write+default_write_path |gameinfo_path|.
|
||||||
|
gamebin |gameinfo_path|bin
|
||||||
|
|
||||||
|
// The lines below until the BREAK comment are responsible for the game resources to work properly
|
||||||
|
// in Hammer and other Source tools. The default setup assumes that you have everything (Steam, TF2,
|
||||||
|
// Source SDK and OF) in the same drive letter/partition. If you have a different storage configuration,
|
||||||
|
// feel free to modify the paths below between quotes (example: D:\Steam\steamapps\common\Team Fortress 2\tf).
|
||||||
|
game "/home/container/tf2/tf/tf2_misc.vpk"
|
||||||
|
game "/home/container/tf2/tf/tf2_sound_misc.vpk"
|
||||||
|
game "/home/container/tf2/tf/tf2_sound_vo_english.vpk"
|
||||||
|
game "/home/container/tf2/tf/tf2_textures.vpk"
|
||||||
|
game "/home/container/tf2/tf"
|
||||||
|
|
||||||
|
game "/home/container/tf2/hl2/hl2_textures.vpk"
|
||||||
|
game "/home/container/tf2/hl2/hl2_sound_vo_english.vpk"
|
||||||
|
game "/home/container/tf2/hl2/hl2_sound_misc.vpk"
|
||||||
|
|
||||||
|
// The hl2 folder here is from Source SDK Base 2013 Multiplayer.
|
||||||
|
game "|all_source_engine_paths|hl2\hl2_misc.vpk"
|
||||||
|
game "|all_source_engine_paths|hl2"
|
||||||
|
// ========== BREAK ==========
|
||||||
|
|
||||||
|
platform |all_source_engine_paths|platform/platform_misc.vpk
|
||||||
|
platform |all_source_engine_paths|platform
|
||||||
|
|
||||||
|
game+download |gameinfo_path|download
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -152,7 +152,7 @@ ___
|
|||||||
|
|
||||||
### Console Commands
|
### Console Commands
|
||||||
|
|
||||||
As of v0.5.1.10, the console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing.
|
The console tab in the client server manager is the only way to execute commands. Entering commands via Pterodactyl do nothing.
|
||||||
|
|
||||||
[List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands)
|
[List of known commands can be found via the Wiki.](https://satisfactory.fandom.com/wiki/Dedicated_servers#Console_commands)
|
||||||
|
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
{
|
{
|
||||||
"_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-02-07",
|
"_comment": "Pterodactyl Satisfactory Egg ~ Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord ~ 2022-06-27",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"name": "Satisfactory",
|
"name": "Satisfactory",
|
||||||
@ -10,9 +10,9 @@
|
|||||||
"features": [
|
"features": [
|
||||||
"steam_disk_space"
|
"steam_disk_space"
|
||||||
],
|
],
|
||||||
"images": [
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/games:source"
|
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0 $(if {{DISABLE_SEASONAL}}; then echo \"-DisableSeasonalEvents\"; fi)",
|
"startup": ".\/Engine\/Binaries\/Linux\/UE4Server-Linux-Shipping FactoryGame ?listen -Port={{SERVER_PORT}} -ServerQueryPort={{QUERY_PORT}} -BeaconPort={{BEACON_PORT}} -multihome=0.0.0.0 $(if {{DISABLE_SEASONAL}}; then echo \"-DisableSeasonalEvents\"; fi)",
|
||||||
"config": {
|
"config": {
|
||||||
@ -23,7 +23,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n# Authors: Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord\r\n# Date: 2021\/11\/29\r\n# License: MIT License\r\n\r\n## Download and install SteamCMD\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\nmkdir -p \/mnt\/server\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\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 anonymous +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +exit\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## Satisfactory setup\r\n# Check for successful installation and make the core binary executable.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\nif [[ ! -f UE4Server-Linux-Shipping ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Satisfactory Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nelse\r\n chmod +x UE4Server-Linux-Shipping\r\nfi\r\n\r\n# Make Config directory and default .ini files (since they are not initially present before first server start)\r\nmkdir -p \/mnt\/server\/FactoryGame\/Saved\/Config\/LinuxServer\/ && cd \"$_\"\r\n# Currently, this will delete & re-create certain .ini files during a re-install if they are already present.\r\n# While undesirable, this is required due to a current Pterodactyl ini config parser limitation.\r\n# When the patch to this limitation hits the production branch, this will be updated.\r\nrm -f Engine.ini Game.ini GameUserSettings.ini\r\n\r\necho -e '\\nCreating default \"Engine.ini\" configuration file...'\r\ncat > Engine.ini << EOF\r\n[\/Script\/FactoryGame.FGSaveSession]\r\nmNumRotatingAutosaves=${NUM_AUTOSAVES}\r\n\r\n[CrashReportClient]\r\nbImplicitSend=${UPLOAD_CRASH_REPORT}\r\n\r\n[\/Script\/OnlineSubsystemUtils.IpNetDriver]\r\nInitialConnectTimeout=${INIT_CONNECT_TIMEOUT}\r\nConnectionTimeout=${CONNECT_TIMEOUT}\r\nEOF\r\n\r\necho -e 'Creating default \"Game.ini\" configuration file...'\r\ncat > Game.ini << EOF\r\n[\/Script\/Engine.GameSession]\r\nMaxPlayers=${MAX_PLAYERS}\r\nEOF\r\n\r\necho -e 'Creating default \"GameUserSettings.ini\" configuration file...'\r\ncat > GameUserSettings.ini << EOF\r\n[\/Script\/FactoryGame.FGGameUserSettings]\r\nmIntValues=((\"FG.NetworkQuality\", ${NETWORK_QUALITY}))\r\nmFloatValues=((\"FG.AutosaveInterval\", ${AUTOSAVE_INTERVAL}))\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
|
"script": "#!\/bin\/bash\r\n\r\n# File: Pterodactyl Satisfactory Egg - egg-satisfactory.json\r\n# Authors: Red-Thirten, Kubi, matthewp, Software-Noob, and Zarklord\r\n# Date: 2022\/06\/27\r\n# License: MIT License\r\n\r\n## Download and install SteamCMD\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\/steamcmd\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\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 anonymous +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +exit\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## Satisfactory setup\r\n# Check for successful installation and make the core binary executable.\r\ncd \/mnt\/server\/Engine\/Binaries\/Linux\r\nif [[ ! -f UE4Server-Linux-Shipping ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Satisfactory Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nelse\r\n chmod +x UE4Server-Linux-Shipping\r\nfi\r\n\r\n# Make Config directory and default .ini files (since they are not initially present before first server start)\r\nmkdir -p \/mnt\/server\/FactoryGame\/Saved\/Config\/LinuxServer\/ && cd \"$_\"\r\n# Currently, this will delete & re-create certain .ini files during a re-install if they are already present.\r\n# While undesirable, this is required due to a current Pterodactyl ini config parser limitation.\r\n# When the patch to this limitation hits the production branch, this will be updated.\r\nrm -f Engine.ini Game.ini GameUserSettings.ini\r\n\r\necho -e '\\nCreating default \"Engine.ini\" configuration file...'\r\ncat > Engine.ini << EOF\r\n[\/Script\/FactoryGame.FGSaveSession]\r\nmNumRotatingAutosaves=${NUM_AUTOSAVES}\r\n\r\n[CrashReportClient]\r\nbImplicitSend=${UPLOAD_CRASH_REPORT}\r\n\r\n[\/Script\/OnlineSubsystemUtils.IpNetDriver]\r\nInitialConnectTimeout=${INIT_CONNECT_TIMEOUT}\r\nConnectionTimeout=${CONNECT_TIMEOUT}\r\nEOF\r\n\r\necho -e 'Creating default \"Game.ini\" configuration file...'\r\ncat > Game.ini << EOF\r\n[\/Script\/Engine.GameSession]\r\nMaxPlayers=${MAX_PLAYERS}\r\nEOF\r\n\r\necho -e 'Creating default \"GameUserSettings.ini\" configuration file...'\r\ncat > GameUserSettings.ini << EOF\r\n[\/Script\/FactoryGame.FGGameUserSettings]\r\nmIntValues=((\"FG.NetworkQuality\", ${NETWORK_QUALITY}))\r\nmFloatValues=((\"FG.AutosaveInterval\", ${AUTOSAVE_INTERVAL}))\r\nEOF\r\n\r\necho -e \"\\nSatisfactory Dedicated Server successfully installed!\\n\"",
|
||||||
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
||||||
"entrypoint": "\/bin\/bash"
|
"entrypoint": "\/bin\/bash"
|
||||||
}
|
}
|
||||||
@ -36,7 +36,8 @@
|
|||||||
"default_value": "15777",
|
"default_value": "15777",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1024,65536"
|
"rules": "required|integer|between:1024,65536",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[REQUIRED] Beacon Port",
|
"name": "[REQUIRED] Beacon Port",
|
||||||
@ -45,7 +46,8 @@
|
|||||||
"default_value": "15000",
|
"default_value": "15000",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1024,65536"
|
"rules": "required|integer|between:1024,65536",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Automatic Updates",
|
"name": "Automatic Updates",
|
||||||
@ -54,7 +56,8 @@
|
|||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "boolean"
|
"rules": "boolean",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Repair] Validate Server Files",
|
"name": "[Repair] Validate Server Files",
|
||||||
@ -63,7 +66,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Autosave Interval",
|
"name": "Autosave Interval",
|
||||||
@ -72,7 +76,8 @@
|
|||||||
"default_value": "300",
|
"default_value": "300",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|numeric|min:1"
|
"rules": "required|numeric|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Number of Rotating Autosaves",
|
"name": "Number of Rotating Autosaves",
|
||||||
@ -81,7 +86,8 @@
|
|||||||
"default_value": "3",
|
"default_value": "3",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:0"
|
"rules": "required|integer|min:0",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Upload Crash Reports",
|
"name": "Upload Crash Reports",
|
||||||
@ -90,7 +96,8 @@
|
|||||||
"default_value": "true",
|
"default_value": "true",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Disable Seasonal Events",
|
"name": "Disable Seasonal Events",
|
||||||
@ -99,7 +106,8 @@
|
|||||||
"default_value": "false",
|
"default_value": "false",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Experimental] Max Players",
|
"name": "[Experimental] Max Players",
|
||||||
@ -108,7 +116,8 @@
|
|||||||
"default_value": "4",
|
"default_value": "4",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:1"
|
"rules": "required|integer|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Client Initial Connection Timeout",
|
"name": "[Advanced] Client Initial Connection Timeout",
|
||||||
@ -117,7 +126,8 @@
|
|||||||
"default_value": "30",
|
"default_value": "30",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|numeric|min:1"
|
"rules": "required|numeric|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Client Established Connection Timeout",
|
"name": "[Advanced] Client Established Connection Timeout",
|
||||||
@ -126,7 +136,8 @@
|
|||||||
"default_value": "20",
|
"default_value": "20",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|numeric|min:1"
|
"rules": "required|numeric|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Network Quality",
|
"name": "[Advanced] Network Quality",
|
||||||
@ -135,7 +146,8 @@
|
|||||||
"default_value": "3",
|
"default_value": "3",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|between:0,3"
|
"rules": "required|integer|between:0,3",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Branch Name",
|
"name": "[Advanced] Branch Name",
|
||||||
@ -144,7 +156,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "string|nullable|in:public,experimental"
|
"rules": "string|nullable|in:public,experimental",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Satisfactory Dedicated Server App ID",
|
"name": "[Advanced] Satisfactory Dedicated Server App ID",
|
||||||
@ -153,7 +166,8 @@
|
|||||||
"default_value": "1690800",
|
"default_value": "1690800",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer|min:1"
|
"rules": "required|integer|min:1",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -1,18 +1,19 @@
|
|||||||
{
|
{
|
||||||
"_comment": "Pterodactyl V Rising Egg ~ David Wolfe (Red-Thirten) and Kapatheus ~ 2022-05-28",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
|
"exported_at": "2022-06-12T23:01:53+03:00",
|
||||||
"name": "V Rising",
|
"name": "V Rising",
|
||||||
"author": "rehlmgaming@gmail.com",
|
"author": "rehlmgaming@gmail.com",
|
||||||
"description": "Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online and conquer the land of the living.",
|
"description": "Awaken as a vampire. Hunt for blood in nearby settlements to regain your strength and evade the scorching sun to survive. Raise your castle and thrive in an ever-changing open world full of mystery. Gain allies online and conquer the land of the living.",
|
||||||
"features": [
|
"features": [
|
||||||
"steam_disk_space"
|
"steam_disk_space"
|
||||||
],
|
],
|
||||||
"images": [
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:wine_latest"
|
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": "wine64 .\/VRisingServer.exe -persistentDataPath save-data -address 0.0.0.0",
|
"startup": "wine64 .\/VRisingServer.exe -persistentDataPath save-data -address 0.0.0.0",
|
||||||
"config": {
|
"config": {
|
||||||
@ -23,7 +24,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl V Rising Egg - egg-v-rising.json\r\n## Authors: David Wolfe (Red-Thirten), Kapatheus\r\n## Date: 2022\/05\/28\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Download and install SteamCMD\r\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} 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## V Rising Setup\r\nmkdir -p $HOME\/save-data\/Settings && cd \"$_\"\r\ncat > ServerHostSettings.json << EOF\r\n{\r\n \"Name\": \"${SERVER_NAME}\",\r\n \"Description\": \"${DESCRIPTION}\",\r\n \"Port\": ${SERVER_PORT},\r\n \"QueryPort\": ${QUERY_PORT},\r\n \"MaxConnectedUsers\": ${MAX_PLAYERS},\r\n \"MaxConnectedAdmins\": ${MAX_ADMINS},\r\n \"ServerFps\": ${FPS},\r\n \"SaveName\": \"${SAVE_NAME}\",\r\n \"Password\": \"${SERVER_PASSWORD}\",\r\n \"Secure\": ${SERVER_SECURE},\r\n \"ListOnMasterServer\": ${SERVER_LIST},\r\n \"AutoSaveCount\": ${SAVE_COUNT},\r\n \"AutoSaveInterval\": ${SAVE_INTERVAL},\r\n \"GameSettingsPreset\": \"${GAME_SETTINGS_PRESET}\",\r\n \"AdminOnlyDebugEvents\": ${ADMIN_ONLY_DEBUG_EVENTS},\r\n \"DisableDebugEvents\": ${DEBUG_EVENTS},\r\n \"Rcon\": {\r\n \"Enabled\": ${RCON},\r\n \"Password\": \"${RCON_PASS}\",\r\n \"Port\": ${RCON_PORT}\r\n }\r\n}\r\nEOF",
|
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl V Rising Egg - egg-v-rising.json\r\n## Authors: David Wolfe (Red-Thirten), Kapatheus\r\n## Date: 2022\/05\/28\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Download and install SteamCMD\r\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} +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## V Rising Setup\r\nmkdir -p $HOME\/save-data\/Settings && cd \"$_\"\r\ncat > ServerHostSettings.json << EOF\r\n{\r\n \"Name\": \"${SERVER_NAME}\",\r\n \"Description\": \"${DESCRIPTION}\",\r\n \"Port\": ${SERVER_PORT},\r\n \"QueryPort\": ${QUERY_PORT},\r\n \"MaxConnectedUsers\": ${MAX_PLAYERS},\r\n \"MaxConnectedAdmins\": ${MAX_ADMINS},\r\n \"ServerFps\": ${FPS},\r\n \"SaveName\": \"${SAVE_NAME}\",\r\n \"Password\": \"${SERVER_PASSWORD}\",\r\n \"Secure\": ${SERVER_SECURE},\r\n \"ListOnMasterServer\": ${SERVER_LIST},\r\n \"AutoSaveCount\": ${SAVE_COUNT},\r\n \"AutoSaveInterval\": ${SAVE_INTERVAL},\r\n \"GameSettingsPreset\": \"${GAME_SETTINGS_PRESET}\",\r\n \"AdminOnlyDebugEvents\": ${ADMIN_ONLY_DEBUG_EVENTS},\r\n \"DisableDebugEvents\": ${DEBUG_EVENTS},\r\n \"Rcon\": {\r\n \"Enabled\": ${RCON},\r\n \"Password\": \"${RCON_PASS}\",\r\n \"Port\": ${RCON_PORT}\r\n }\r\n}\r\nEOF",
|
||||||
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
||||||
"entrypoint": "\/bin\/bash"
|
"entrypoint": "\/bin\/bash"
|
||||||
}
|
}
|
||||||
@ -34,9 +35,10 @@
|
|||||||
"description": "UDP port for Steam server list features.",
|
"description": "UDP port for Steam server list features.",
|
||||||
"env_variable": "QUERY_PORT",
|
"env_variable": "QUERY_PORT",
|
||||||
"default_value": "9877",
|
"default_value": "9877",
|
||||||
"user_viewable": false,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1024,65536"
|
"rules": "required|integer|between:1024,65536",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Automatic Updates",
|
"name": "Automatic Updates",
|
||||||
@ -45,7 +47,8 @@
|
|||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "boolean"
|
"rules": "boolean",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Game Settings Preset",
|
"name": "Game Settings Preset",
|
||||||
@ -54,7 +57,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|in:,DuoPvP,HardcorePvP,Level30PvE,Level30PvP,Level50PvE,Level50PvP,Level70PvE,Level70PvP,SoloPvP,StandardPvE_Easy,StandardPvE_Hard,StandardPvE,StandardPvP_Easy,StandardPvP_Hard,StandardPVP"
|
"rules": "nullable|string|in:,DuoPvP,HardcorePvP,Level30PvE,Level30PvP,Level50PvE,Level50PvP,Level70PvE,Level70PvP,SoloPvP,StandardPvE_Easy,StandardPvE_Hard,StandardPvE,StandardPvP_Easy,StandardPvP_Hard,StandardPVP",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Name",
|
"name": "Server Name",
|
||||||
@ -63,7 +67,8 @@
|
|||||||
"default_value": "V Rising Dedicated Server",
|
"default_value": "V Rising Dedicated Server",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Description",
|
"name": "Server Description",
|
||||||
@ -72,7 +77,8 @@
|
|||||||
"default_value": "Welcome to the server!",
|
"default_value": "Welcome to the server!",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "nullable|string"
|
"rules": "nullable|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Connected Users",
|
"name": "Max Connected Users",
|
||||||
@ -81,7 +87,8 @@
|
|||||||
"default_value": "40",
|
"default_value": "40",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:1"
|
"rules": "required|integer|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Connected Admins",
|
"name": "Max Connected Admins",
|
||||||
@ -90,7 +97,8 @@
|
|||||||
"default_value": "4",
|
"default_value": "4",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:0"
|
"rules": "required|integer|min:0",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Password",
|
"name": "Server Password",
|
||||||
@ -99,7 +107,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "nullable|string"
|
"rules": "nullable|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Save Name",
|
"name": "Save Name",
|
||||||
@ -108,7 +117,8 @@
|
|||||||
"default_value": "world1",
|
"default_value": "world1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Auto Save Count",
|
"name": "Auto Save Count",
|
||||||
@ -117,7 +127,8 @@
|
|||||||
"default_value": "50",
|
"default_value": "50",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:0"
|
"rules": "required|integer|min:0",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Auto Save Interval",
|
"name": "Auto Save Interval",
|
||||||
@ -126,7 +137,8 @@
|
|||||||
"default_value": "600",
|
"default_value": "600",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:1"
|
"rules": "required|integer|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "List On Master Server",
|
"name": "List On Master Server",
|
||||||
@ -135,7 +147,8 @@
|
|||||||
"default_value": "true",
|
"default_value": "true",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Repair] Validate Server Files",
|
"name": "[Repair] Validate Server Files",
|
||||||
@ -144,7 +157,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Server FPS",
|
"name": "[Advanced] Server FPS",
|
||||||
@ -153,7 +167,8 @@
|
|||||||
"default_value": "30",
|
"default_value": "30",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|integer|min:1"
|
"rules": "required|integer|min:1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Enable RCON",
|
"name": "[Advanced] Enable RCON",
|
||||||
@ -162,7 +177,8 @@
|
|||||||
"default_value": "false",
|
"default_value": "false",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] RCON Password",
|
"name": "[Advanced] RCON Password",
|
||||||
@ -171,7 +187,8 @@
|
|||||||
"default_value": "somepassword",
|
"default_value": "somepassword",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] RCON Port",
|
"name": "[Advanced] RCON Port",
|
||||||
@ -179,8 +196,9 @@
|
|||||||
"env_variable": "RCON_PORT",
|
"env_variable": "RCON_PORT",
|
||||||
"default_value": "25575",
|
"default_value": "25575",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1024,65536"
|
"rules": "required|integer|between:1024,65536",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Secure Server",
|
"name": "[Advanced] Secure Server",
|
||||||
@ -189,7 +207,8 @@
|
|||||||
"default_value": "true",
|
"default_value": "true",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Admin Only Debug Events",
|
"name": "[Advanced] Admin Only Debug Events",
|
||||||
@ -198,7 +217,8 @@
|
|||||||
"default_value": "true",
|
"default_value": "true",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Disable Debug Events",
|
"name": "[Advanced] Disable Debug Events",
|
||||||
@ -207,7 +227,8 @@
|
|||||||
"default_value": "false",
|
"default_value": "false",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:true,false"
|
"rules": "required|string|in:true,false",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] V Rising Dedicated Server App ID",
|
"name": "[Advanced] V Rising Dedicated Server App ID",
|
||||||
@ -216,7 +237,8 @@
|
|||||||
"default_value": "1829350",
|
"default_value": "1829350",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|integer"
|
"rules": "required|integer",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "[Advanced] Use Windows Branch",
|
"name": "[Advanced] Use Windows Branch",
|
||||||
@ -225,7 +247,8 @@
|
|||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|string|in:1"
|
"rules": "required|string|in:1",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -1,42 +1,33 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2022-05-14T02:54:50-05:00",
|
"exported_at": "2022-06-25T23:43:59+03:00",
|
||||||
"name": "tModloader",
|
"name": "tModloader",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.",
|
"description": "tModLoader is essentially a mod that provides a way to load your own mods without having to work directly with Terraria's source code itself. This means you can easily make mods that are compatible with other people's mods, save yourself the trouble of having to decompile and recompile Terraria.exe, and escape from having to understand all of the obscure \"intricacies\" of Terraria's source code. It is made to work for Terraria 1.3+.",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"docker_images": {
|
||||||
"quay.io\/parkervcp\/pterodactyl-images:debian_mono-5"
|
"Dotnet 6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/tModLoaderServer -ip 0.0.0.0 -port ${SERVER_PORT} -maxplayers ${MAX_PLAYERS} -difficulty ${DIFFICULTY} -password \"${SERVER_PASSWORD}\" -motd \"${MOTD}\" -lang ${LANGUAGE} -world ~\/saves\/Worlds\/${WORLD_NAME}.wld -worldname ${WORLD_NAME} -autocreate ${WORLD_SIZE} -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods",
|
"startup": ".\/tModLoaderServer -ip 0.0.0.0 -port {{SERVER_PORT}} -maxplayers {{MAX_PLAYERS}} -difficulty {{DIFFICULTY}} -password \"{{SERVER_PASSWORD}}\" -motd \"{{MOTD}}\" -lang {{LANGUAGE}} -world ~\/saves\/Worlds\/{{WORLD_NAME}}.wld -worldname {{WORLD_NAME}} -autocreate {{WORLD_SIZE}} -savedirectory ~\/ -tmlsavedirectory ~\/saves -modpath ~\/mods",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
"startup": "{\r\n \"done\": \"Type 'help' for a list of commands\",\r\n \"userInteraction\": []\r\n}",
|
"startup": "{\r\n \"done\": \"Type 'help' for a list of commands\"\r\n}",
|
||||||
"logs": "{}",
|
"logs": "{}",
|
||||||
"stop": "exit"
|
"stop": "exit"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nGITHUB_PACKAGE=tModLoader\/tModLoader\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/tmodloader\/tmodloader\/releases\" | jq -c '.[] | select(.name | contains(\"v0\"))' | head -1)\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\" | jq '.[] | select(.name | contains(\"v0\"))')\r\n\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i linux | grep -i zip)\r\n fi\r\nfi\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nchmod +x tModLoaderServer.bin.x86_64\r\nchmod +x tModLoaderServer\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf terraria-server-${CLEAN_VERSION}.zip rm ${DOWNLOAD_LINK##*\/}",
|
"script": "#!\/bin\/bash\r\n# Vanilla tModloader Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## install packages to get version and download links\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nGITHUB_PACKAGE=tmodloader\/tmodloader\r\n\r\nif [ -z \"$GITHUB_USER\" ] && [ -z \"$GITHUB_OAUTH_TOKEN\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u $GITHUB_USER:$GITHUB_OAUTH_TOKEN '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\" | jq -c '.[]' | head -1)\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/$GITHUB_PACKAGE\/releases\" | jq '.[]')\r\n\r\n\r\nif [ -z \"$VERSION\" ] || [ \"$VERSION\" == \"latest\" ]; then\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\r\nelse\r\n VERSION_CHECK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"$VERSION\" == \"$VERSION_CHECK\" ]; then\r\n if [[ \"$VERSION\" == v0* ]]; then\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i linux | grep -i zip)\r\n else\r\n DOWNLOAD_LINK=$(echo $RELEASES | jq -r --arg VERSION \"$VERSION\" '. | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i tmodloader.zip)\r\n fi\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo $LATEST_JSON | jq .assets | jq -r .[].browser_download_url | grep -i tmodloader.zip)\r\n fi\r\nfi\r\n\r\n## mkdir and cd to \/mnt\/server\/\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/mnt\/server || exit 5\r\n\r\n## download release\r\necho -e \"running: curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nif [[ \"$VERSION\" == v0* ]]; then\r\n chmod +x tModLoaderServer.bin.x86_64\r\n chmod +x tModLoaderServer\r\nelse\r\n #tiny startup script for backward compatibility\r\n echo 'dotnet tModLoader.dll -server \"$@\"' > tModLoaderServer\r\n chmod +x tModLoaderServer\r\nfi\r\n\r\necho -e \"Cleaning up extra files.\"\r\nrm -rf terraria-server-*.zip rm ${DOWNLOAD_LINK##*\/}\r\nif [[ \"$VERSION\" != v0* ]]; then\r\n rm -rf DedicatedServerUtils LaunchUtils PlatformVariantLibs tModPorter RecentGitHubCommits.txt *.bat *.sh\r\nfi",
|
||||||
"container": "debian:buster-slim",
|
"container": "debian:buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
|
||||||
"name": "tModloader Version",
|
|
||||||
"description": "The version of tModloader that is to be used.",
|
|
||||||
"env_variable": "VERSION",
|
|
||||||
"default_value": "latest",
|
|
||||||
"user_viewable": true,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "required|string|max:20"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "World Name",
|
"name": "World Name",
|
||||||
"description": "The name for the world file.",
|
"description": "The name for the world file.",
|
||||||
@ -44,7 +35,8 @@
|
|||||||
"default_value": "world",
|
"default_value": "world",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Players",
|
"name": "Max Players",
|
||||||
@ -53,7 +45,8 @@
|
|||||||
"default_value": "8",
|
"default_value": "8",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "required|numeric|digits_between:1,3"
|
"rules": "required|numeric|digits_between:1,3",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "World Size",
|
"name": "World Size",
|
||||||
@ -62,7 +55,18 @@
|
|||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|numeric|digits_between:1,3"
|
"rules": "required|string|in:1,2,3",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "tModloader Version",
|
||||||
|
"description": "The version of tModloader that is to be used.",
|
||||||
|
"env_variable": "VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "GitHub User",
|
"name": "GitHub User",
|
||||||
@ -71,7 +75,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "GitHub OAuth Token",
|
"name": "GitHub OAuth Token",
|
||||||
@ -80,16 +85,18 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": false,
|
"user_viewable": false,
|
||||||
"user_editable": false,
|
"user_editable": false,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Difficulty",
|
"name": "Difficulty",
|
||||||
"description": "Sets the difficulty of the world when using autocreate 0(normal), 1(expert)",
|
"description": "Sets the difficulty of the world when using auto-create 0(normal), 1(expert). Toggle to choose expert (1).",
|
||||||
"env_variable": "DIFFICULTY",
|
"env_variable": "DIFFICULTY",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|numeric|digits_between:0,1"
|
"rules": "required|string|in:0,1",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Password",
|
"name": "Server Password",
|
||||||
@ -98,7 +105,8 @@
|
|||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "MOTD",
|
"name": "MOTD",
|
||||||
@ -107,7 +115,8 @@
|
|||||||
"default_value": "Please don\u2019t cut the purple trees!",
|
"default_value": "Please don\u2019t cut the purple trees!",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:40"
|
"rules": "required|string|max:40",
|
||||||
|
"field_type": "text"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Language",
|
"name": "Language",
|
||||||
@ -116,7 +125,8 @@
|
|||||||
"default_value": "1",
|
"default_value": "1",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|numeric|digits_between:1,5"
|
"rules": "required|string|in:1,2,3,4,5",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -50,9 +50,9 @@ ___
|
|||||||
|
|
||||||
| | Minimum |
|
| | Minimum |
|
||||||
|---------|---------|
|
|---------|---------|
|
||||||
| Processor | Multiarch is supported for most modern processors |
|
| Processor | x86/64 (\*multiarch may be supported for develop builds, but has not been tested) |
|
||||||
| RAM | 256-512 MiB (depends on # of clients & park size) |
|
| RAM | 256-512 MiB (depends on # of clients & park size) |
|
||||||
| Storage | 80 MB (*may require more if building from source*) |
|
| Storage | 110 MB (*may require more if building from source*) |
|
||||||
| RCT2 Files | **Not required** |
|
| RCT2 Files | **Not required** |
|
||||||
|
|
||||||
___
|
___
|
||||||
@ -71,15 +71,13 @@ Unfortunately, because console commands currently do not register, becoming the
|
|||||||
1. Ensure the "Log Server Actions" startup variable is set to "true".
|
1. Ensure the "Log Server Actions" startup variable is set to "true".
|
||||||
2. Start the server and join it with the client you want to make an admin.
|
2. Start the server and join it with the client you want to make an admin.
|
||||||
3. Open `ServerData/serverlogs/<Server Name>/<Latest Date>.txt` and copy the SHA1 hash next to your client's username (note the username as well).
|
3. Open `ServerData/serverlogs/<Server Name>/<Latest Date>.txt` and copy the SHA1 hash next to your client's username (note the username as well).
|
||||||
4. Then, open `ServerData/users.json`. Paste the hash into the "hash" value, and change the "name" value to your client's username.
|
4. Then, open `ServerData/users.json`. Paste the hash into the "hash" value, change the "name" value to your client's username, and save the file.
|
||||||
5. Reboot the server, re-join it, and you should be an admin!
|
5. Reboot the server, re-join it, and you should be an admin!
|
||||||
|
|
||||||
After becoming an admin, you can use the in-game users management window to add additional admins (or groups) more easily if you wish.
|
After becoming an admin, you can use the in-game users management window to add additional admins (or groups) more easily if you wish.
|
||||||
___
|
___
|
||||||
### Known Issues
|
### Known Issues
|
||||||
The following are known issues that are unique to running OpenRCT2 on Pterodactyl, but likely can only be fixed by further development/updates from OpenRCT2.
|
The following are known issues that are unique to running OpenRCT2 on Pterodactyl, but likely can only be fixed by further development/updates from OpenRCT2.
|
||||||
- Only building from source from the `develop` branch currently yields a package that is bootable. This will no longer be true for any OpenRCT2 releases after v.0.3.5.1.
|
|
||||||
- This also means that clients joining the server must be on the latest `develop` branch as well.
|
|
||||||
- Configuring a password on the server disallows non-admin clients from entering in a password in their client to connect; it just disconnects them. Admin clients can still join normally. (reference issue [OpenRCT2/OpenRCT2#16396](https://github.com/OpenRCT2/OpenRCT2/issues/16396))
|
- Configuring a password on the server disallows non-admin clients from entering in a password in their client to connect; it just disconnects them. Admin clients can still join normally. (reference issue [OpenRCT2/OpenRCT2#16396](https://github.com/OpenRCT2/OpenRCT2/issues/16396))
|
||||||
- You may rarely run into the server crashing on start due to a "Floating point exception(core dumped)" error. If this occurs to you, please help with OpenRCT2 development by doing the following:
|
- You may rarely run into the server crashing on start due to a "Floating point exception(core dumped)" error. If this occurs to you, please help with OpenRCT2 development by doing the following:
|
||||||
1. Add the following to the beginning of your server's startup command: `SEGFAULT_SIGNALS=fpe LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so `
|
1. Add the following to the beginning of your server's startup command: `SEGFAULT_SIGNALS=fpe LD_PRELOAD=/lib/x86_64-linux-gnu/libSegFault.so `
|
||||||
|
File diff suppressed because one or more lines are too long
25
monitoring/loki/README.md
Normal file
25
monitoring/loki/README.md
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
# Loki
|
||||||
|
|
||||||
|
## From the [Loki](https://github.com/grafana/loki) GitHub repository
|
||||||
|
|
||||||
|
Loki is a horizontally-scalable, highly-available, multi-tenant log aggregation system inspired by Prometheus. It is designed to be very cost effective and easy to operate.
|
||||||
|
|
||||||
|
## Working with Loki
|
||||||
|
|
||||||
|
To get logs "into" Loki you need a scrape agent, such as official [Promtail](https://grafana.com/docs/loki/latest/clients/promtail/installation/) or a library for your app that can push logs through HTTP endpoint (gRPC endpoint is disabled in Docker enviroment by default)
|
||||||
|
|
||||||
|
## Resource consumption
|
||||||
|
|
||||||
|
As this egg sets up Loki in single node mode, it can consume a lot of disk space really fast. It is possible to setup different kind of storages for different parts of Loki files. For further information refer to official [Loki documentation](https://grafana.com/docs/loki/latest/operations/storage/).
|
||||||
|
|
||||||
|
To get started, you can go with a minimum of 3GB RAM and >=2.5GB disk space.
|
||||||
|
|
||||||
|
Keep in mind that those numbers can grow pretty quick!
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
|
||||||
|
Ports required to run the server in a table format.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|-------------|---------|
|
||||||
|
| Loki server | 3100 |
|
42
monitoring/loki/egg-loki.json
Normal file
42
monitoring/loki/egg-loki.json
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-07-08T15:50:16+02:00",
|
||||||
|
"name": "Loki",
|
||||||
|
"author": "unknown@unknown.com",
|
||||||
|
"description": "Prometheus but for logs. This egg is for Loki instance only! You usually need pushing agents like Promtail to put logs in this",
|
||||||
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/loki-linux -config.file=loki-docker-config.yaml",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"loki-docker-config.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"server.http_listen_port\": \"{{server.build.default.port}}\",\r\n \"common.ring.instance_addr\": \"0.0.0.0\",\r\n \"common.path_prefix\": \"\/home\/container\/loki\",\r\n \"common.storage.filesystem.chunks_directory\": \"\/home\/container\/loki\/chunks\",\r\n \"common.storage.filesystem.rules_directory\": \"\/home\/container\/loki\/rules\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Loki started\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Switch to mounted working install directory\r\ncd \/mnt\/server\r\n\r\napt update\r\napt install -y zip unzip wget curl git file\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n# Download and extract Loki\r\n\r\nif [ \"$LOKI_VERSION\" = \"latest\" ]; then LOKI_VERSION=$(curl --silent \"https:\/\/api.github.com\/repos\/grafana\/loki\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | cut -c2-); fi\r\necho -e \"running curl -L https:\/\/github.com\/grafana\/loki\/releases\/download\/v${LOKI_VERSION}\/loki-linux-${ARCH}.zip --output loki-linux-amd64.zip\"\r\ncurl -L https:\/\/github.com\/grafana\/loki\/releases\/download\/v${LOKI_VERSION}\/loki-linux-${ARCH}.zip --output loki-linux-${ARCH}.zip\r\nunzip loki-linux-${ARCH}.zip\r\nrm -rf loki-linux-${ARCH}.zip\r\ncurl -L https:\/\/raw.githubusercontent.com\/grafana\/loki\/v${LOKI_VERSION}\/cmd\/loki\/loki-docker-config.yaml --output loki-docker-config.yaml\r\nmv loki-linux-* loki-linux\r\necho -e \"installation completed\"",
|
||||||
|
"container": "ghcr.io\/pterodactyl\/installers:debian",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Loki Version",
|
||||||
|
"description": "The version of Loki to use.\r\n\r\nFind all versions from https:\/\/github.com\/grafana\/loki",
|
||||||
|
"env_variable": "LOKI_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,17 +1,17 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2022-01-22T05:45:16-05:00",
|
"exported_at": "2022-07-08T15:58:56+02:00",
|
||||||
"name": "Prometheus",
|
"name": "Prometheus",
|
||||||
"author": "p.zarrad@outlook.de",
|
"author": "p.zarrad@outlook.de",
|
||||||
"description": "The Prometheus monitoring system and time series database.",
|
"description": "The Prometheus monitoring system and time series database.",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"docker_images": {
|
||||||
"ghcr.io\/parkervcp\/yolks:debian"
|
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||||
],
|
},
|
||||||
"file_denylist": [],
|
"file_denylist": [],
|
||||||
"startup": ".\/prometheus --web.listen-address=0.0.0.0:{{SERVER_PORT}} --config.file=\/home\/container\/prometheus.yml --storage.tsdb.path=\/home\/container\/data --web.console.templates=\/home\/container\/consoles --web.console.libraries=\/home\/container\/console_libraries --web.config.file=\/home\/container\/prometheus.web.yml",
|
"startup": ".\/prometheus --web.listen-address=0.0.0.0:{{SERVER_PORT}} --config.file=\/home\/container\/prometheus.yml --storage.tsdb.path=\/home\/container\/data --web.console.templates=\/home\/container\/consoles --web.console.libraries=\/home\/container\/console_libraries --web.config.file=\/home\/container\/prometheus.web.yml",
|
||||||
"config": {
|
"config": {
|
||||||
@ -22,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/sh\r\nshopt -s extglob\r\n# Switch to mounted directory\r\ncd \/mnt\/server\r\n# Update installation system and install curl\r\napt-get update\r\napt-get install -y curl\r\n# Cleanup previous install if available\r\nif [ -f \"prometheus.yml\" ]; then mv prometheus.yml prometheus.yml.bak; fi\r\nif [ -f \"prometheus.web.yml\" ]; then mv prometheus.web.yml prometheus.web.yml.bak; fi\r\nrm -rfv !(data|prometheus.yml.bak|prometheus.web.yml.bak)\r\n# Download and extract Prometheus\r\nversion=${PROMETHEUS_VERSION}\r\nif [ \"$version\" = \"latest\" ]; then version=$(curl --silent \"https:\/\/api.github.com\/repos\/prometheus\/prometheus\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | cut -c2-); fi\r\ncurl -L https:\/\/github.com\/prometheus\/prometheus\/releases\/download\/v${version}\/prometheus-${version}.linux-amd64.tar.gz --output prometheus.tar.gz\r\ntar -zxvf prometheus.tar.gz\r\nmv -n prometheus-*\/* .\/\r\nrm -rf prometheus.tar.gz prometheus-*\/\r\n# Restore configuration if necessary\r\nif [ -f \"prometheus.yml.bak\" ]; then rm -rf prometheus.yml && mv prometheus.yml.bak prometheus.yml && rm -rf prometheus.yml.bak; fi\r\nif [ -f \"prometheus.web.yml.bak\" ]; then rm -rf prometheus.web.yml && mv prometheus.web.yml.bak prometheus.web.yml && rm -rf prometheus.web.yml.bak; fi\r\n# Create dummy prometheus.web.yml as a placeholder\r\nif [ ! -f \"prometheus.web.yml\" ]; then touch prometheus.web.yml; fi",
|
"script": "#!\/bin\/sh\r\nshopt -s extglob\r\n# Switch to mounted directory\r\ncd \/mnt\/server\r\n# Update installation system and install curl\r\napt-get update\r\napt-get install -y curl\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n# Cleanup previous install if available\r\nif [ -f \"prometheus.yml\" ]; then mv prometheus.yml prometheus.yml.bak; fi\r\nif [ -f \"prometheus.web.yml\" ]; then mv prometheus.web.yml prometheus.web.yml.bak; fi\r\nrm -rfv !(data|prometheus.yml.bak|prometheus.web.yml.bak)\r\n# Download and extract Prometheus\r\nversion=${PROMETHEUS_VERSION}\r\nif [ \"$version\" = \"latest\" ]; then version=$(curl --silent \"https:\/\/api.github.com\/repos\/prometheus\/prometheus\/releases\/latest\" | grep '\"tag_name\":' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | cut -c2-); fi\r\ncurl -L https:\/\/github.com\/prometheus\/prometheus\/releases\/download\/v${version}\/prometheus-${version}.linux-${ARCH}.tar.gz --output prometheus.tar.gz\r\ntar -zxvf prometheus.tar.gz\r\nmv -n prometheus-*\/* .\/\r\nrm -rf prometheus.tar.gz prometheus-*\/\r\n# Restore configuration if necessary\r\nif [ -f \"prometheus.yml.bak\" ]; then rm -rf prometheus.yml && mv prometheus.yml.bak prometheus.yml && rm -rf prometheus.yml.bak; fi\r\nif [ -f \"prometheus.web.yml.bak\" ]; then rm -rf prometheus.web.yml && mv prometheus.web.yml.bak prometheus.web.yml && rm -rf prometheus.web.yml.bak; fi\r\n# Create dummy prometheus.web.yml as a placeholder\r\nif [ ! -f \"prometheus.web.yml\" ]; then touch prometheus.web.yml; fi",
|
||||||
"container": "debian:buster-slim",
|
"container": "debian:buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -35,7 +35,8 @@
|
|||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
51
software/owncast/README.md
Normal file
51
software/owncast/README.md
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
# Owncast
|
||||||
|
|
||||||
|
## From the [Owncast](https://owncast.online) website
|
||||||
|
|
||||||
|
Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
Follow the common egg installation guide to install the egg on your Pterodactyl instance.
|
||||||
|
When setting up a server, the version set in the varaible will be used, default is 0.0.11.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
Configuring Owncast in Pterodactyl can be done by using the command line switches:
|
||||||
|
* -backupdir string
|
||||||
|
* Directory where backups will be written to
|
||||||
|
* -database string
|
||||||
|
* Path to the database file.
|
||||||
|
* -enableDebugFeatures
|
||||||
|
* Enable additional debugging options.
|
||||||
|
* -enableVerboseLogging
|
||||||
|
* Enable additional logging.
|
||||||
|
* -logdir string
|
||||||
|
* Directory where logs will be written to
|
||||||
|
* -restoreDatabase string
|
||||||
|
* Restore an Owncast database backup
|
||||||
|
* -rtmpport int
|
||||||
|
* Set listen port for the RTMP server
|
||||||
|
* -streamkey string
|
||||||
|
* Set your stream key/admin password
|
||||||
|
* -webserverip string
|
||||||
|
* Force web server to listen on this IP address
|
||||||
|
* -webserverport string
|
||||||
|
* Force the web server to listen on a specific port
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
## Update support
|
||||||
|
|
||||||
|
The egg _should_ keep the `data` folder when reinstalling, to prevent destroying the configuration by accident.
|
||||||
|
|
||||||
|
If you want to reset the server completly, remove the `data` directory manually before reinstalling.
|
||||||
|
|
||||||
|
### Server Ports
|
||||||
|
|
||||||
|
Ports required to run the server in a table format.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
| --------------- | ------- |
|
||||||
|
| Webserver | 8090 |
|
||||||
|
| RTMP | 8091 |
|
95
software/owncast/egg-owncast-online.json
Normal file
95
software/owncast/egg-owncast-online.json
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-03-31T11:32:42+01:00",
|
||||||
|
"name": "owncast.online",
|
||||||
|
"author": "psychoalex@thevcbc.com",
|
||||||
|
"description": "Owncast is a self-hosted live video and web chat server for use with existing popular broadcasting software.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/owncast -webserverport {{SERVER_PORT}} -rtmpport {{RTMP_PORT}} -streamkey {{STREAM_KEY}}",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"The web admin interface is available at \/admin.\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n\r\n#Make Server Dir\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\ncd \/mnt\/server\/\r\n\r\n#Get Dependencies\r\napt-get -y update\r\napt-get -y install curl unzip tar jq\r\n\r\n#Get Owncast Install Files\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho Download URL is: ${DOWNLOAD_URL}\r\n\r\ncurl -L ${DOWNLOAD_URL} --output .\/owncast_installer.zip\r\n\r\n#curl -L https:\/\/github.com\/owncast\/owncast\/releases\/download\/v${OWNCAST_VERSION}\/owncast-${OWNCAST_VERSION}-linux-64bit.zip --output .\/owncast_installer.zip\r\n\r\n#Unzip Install Files\r\nunzip -o -q .\/owncast_installer.zip\r\nrm .\/owncast_installer.zip",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "RTMP Port",
|
||||||
|
"description": "The port that is used to receive the stream data.",
|
||||||
|
"env_variable": "RTMP_PORT",
|
||||||
|
"default_value": "8091",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|integer"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Stream\/Admin Key",
|
||||||
|
"description": "This is used to authenticate to the web admin interface, as well as to authenticate your stream.",
|
||||||
|
"env_variable": "STREAM_KEY",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|min:32|max:128"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Owncast Version",
|
||||||
|
"description": "The version of Owncast that you would like to install, from https:\/\/github.com\/owncast\/owncast\/releases\r\nAs an Example - \"v0.0.11\" for a specific version or \"latest\" for the most up to date version.",
|
||||||
|
"env_variable": "VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Github Repository",
|
||||||
|
"description": "Used to identify the github repository to pull the release from.",
|
||||||
|
"env_variable": "GITHUB_PACKAGE",
|
||||||
|
"default_value": "owncast\/owncast",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:120"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Github File Match",
|
||||||
|
"description": "Used to identify the specific asset under a release for download.",
|
||||||
|
"env_variable": "MATCH",
|
||||||
|
"default_value": "linux-64bit",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Github User",
|
||||||
|
"description": "Required if you are doing more calls than the github anonymous API user allows.",
|
||||||
|
"env_variable": "GITHUB_USER",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "nullable|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Github Oauth Token",
|
||||||
|
"description": "Required if you are doing more calls than the github anonymous API user allows.",
|
||||||
|
"env_variable": "GITHUB_OAUTH_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "nullable|string|max:128"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,27 +1,28 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1",
|
"version": "PTDL_v2",
|
||||||
"update_url": null
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2021-01-11T15:35:14-05:00",
|
"exported_at": "2022-07-08T16:16:10+02:00",
|
||||||
"name": "Minio S3",
|
"name": "Minio S3",
|
||||||
"author": "accounts@bofanodes.io",
|
"author": "accounts@bofanodes.io",
|
||||||
"description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maximum size of an object is 5TB.",
|
"description": "MinIO is a cloud storage server compatible with Amazon S3, released under Apache License v2. As an object store, MinIO can store unstructured data such as photos, videos, log files, backups and container images. The maximum size of an object is 5TB.",
|
||||||
"features": null,
|
"features": null,
|
||||||
"images": [
|
"docker_images": {
|
||||||
"quay.io\/parkervcp\/pterodactyl-images:ubuntu"
|
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
|
||||||
],
|
},
|
||||||
|
"file_denylist": [],
|
||||||
"startup": ".\/minio.sh",
|
"startup": ".\/minio.sh",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
"startup": "{\r\n \"done\": \"guide\"\r\n}",
|
"startup": "{\r\n \"done\": \"guide\"\r\n}",
|
||||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
"logs": "{}",
|
||||||
"stop": "^C"
|
"stop": "^C"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#\r\n#\r\napt update\r\napt install -y wget\r\ncd \/mnt\/server\r\nwget https:\/\/dl.min.io\/server\/minio\/release\/linux-amd64\/minio\r\nchmod +x minio\r\nmkdir data\r\nmkdir keys\r\n\r\nwget https:\/\/github.com\/\/parkervcp\/eggs\/raw\/master\/storage\/minio\/minio.sh\r\nchmod +x minio.sh\r\nexport MINIO_ACCESS_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_ACCESS_KEY > keys\/key.txt\r\nexport MINIO_SECRET_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_SECRET_KEY > keys\/secret.txt\r\necho done",
|
"script": "#!\/bin\/bash\r\n#\r\napt update\r\napt install -y wget\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\ncd \/mnt\/server\r\nwget https:\/\/dl.min.io\/server\/minio\/release\/linux-${ARCH}\/minio\r\nchmod +x minio\r\nmkdir data\r\nmkdir keys\r\n\r\nwget https:\/\/github.com\/\/parkervcp\/eggs\/raw\/master\/storage\/minio\/minio.sh\r\nchmod +x minio.sh\r\nexport MINIO_ACCESS_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_ACCESS_KEY > keys\/key.txt\r\nexport MINIO_SECRET_KEY=$(cat \/dev\/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)\r\necho $MINIO_SECRET_KEY > keys\/secret.txt\r\necho done",
|
||||||
"container": "debian:buster-slim",
|
"container": "debian:buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -34,7 +35,8 @@
|
|||||||
"default_value": "normal",
|
"default_value": "normal",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|in:normal,rotate,update"
|
"rules": "required|string|in:normal,rotate,update",
|
||||||
|
"field_type": "text"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
@ -42,7 +42,8 @@ echo "$(tput setaf 3)Performing update...."
|
|||||||
echo "$(tput setaf 1)Removing old minio version"
|
echo "$(tput setaf 1)Removing old minio version"
|
||||||
rm minio
|
rm minio
|
||||||
echo "$(tput setaf 3)Downloading new minio version"
|
echo "$(tput setaf 3)Downloading new minio version"
|
||||||
wget https://dl.min.io/server/minio/release/linux-amd64/minio
|
export ARCH=$([[ "$(uname -m)" == "x86_64" ]] && echo "amd64" || echo "arm64")
|
||||||
|
wget https://dl.min.io/server/minio/release/linux-$ARCH/minio
|
||||||
chmod +x minio
|
chmod +x minio
|
||||||
echo "$(tput setaf 2)Update Complete"
|
echo "$(tput setaf 2)Update Complete"
|
||||||
fi
|
fi
|
||||||
|
17
voice_servers/teamspeak_ARM64/Readme.md
Normal file
17
voice_servers/teamspeak_ARM64/Readme.md
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
# TeamSpeak ARM64
|
||||||
|
|
||||||
|
## From their [Website](https://www.teamspeak.com/)
|
||||||
|
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
|
||||||
|
Ports required to run the server in a table format.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|---------|---------|
|
||||||
|
| Voice | 9987 |
|
||||||
|
| Query | 10011 |
|
||||||
|
| File | 30033 |
|
||||||
|
|
||||||
|
### arm64
|
||||||
|
* The arm64 may not perform as expected due to the amd64 to arm emulaton.
|
@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v2",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2022-07-06T17:10:16+02:00",
|
||||||
|
"name": "Teamspeak3 Server ARM64",
|
||||||
|
"author": "josdekurk@gmail.com",
|
||||||
|
"description": "VoIP software designed with security in mind, featuring crystal clear voice quality, endless customization options, and scalabilty up to thousands of simultaneous users.",
|
||||||
|
"features": null,
|
||||||
|
"docker_images": {
|
||||||
|
"ghcr.io\/parkervcp\/yolks:box64": "ghcr.io\/parkervcp\/yolks:box64"
|
||||||
|
},
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "box64 .\/ts3server default_voice_port={{SERVER_PORT}} query_port={{QUERY_PORT}} filetransfer_ip=0.0.0.0 filetransfer_port={{FILE_TRANSFER}} license_accepted=1",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"listening on 0.0.0.0:\"\r\n}",
|
||||||
|
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/ts3.log\"\r\n}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/ash\r\n# TS3 Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nif [ -z ${TS_VERSION} ] || [ ${TS_VERSION} == latest ]; then\r\n TS_VERSION=$(curl -sSL https:\/\/teamspeak.com\/versions\/server.json | jq -r '.linux.x86_64.version')\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"getting files from http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_x86-${TS_VERSION}.tar.bz2\" \r\ncurl -L http:\/\/files.teamspeak-services.com\/releases\/server\/${TS_VERSION}\/teamspeak3-server_linux_amd64-${TS_VERSION}.tar.bz2 | tar -xvj --strip-components=1",
|
||||||
|
"container": "ghcr.io\/pterodactyl\/installers:alpine",
|
||||||
|
"entrypoint": "ash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Server Version",
|
||||||
|
"description": "The version of Teamspeak 3 to use when running the server.",
|
||||||
|
"env_variable": "TS_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:6",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "File Transfer Port",
|
||||||
|
"description": "The Teamspeak file transfer port",
|
||||||
|
"env_variable": "FILE_TRANSFER",
|
||||||
|
"default_value": "30033",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|integer|between:1,65535",
|
||||||
|
"field_type": "text"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Query Port",
|
||||||
|
"description": "The Teamspeak Query Port",
|
||||||
|
"env_variable": "QUERY_PORT",
|
||||||
|
"default_value": "10011",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|integer|between:1,65535",
|
||||||
|
"field_type": "text"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user