feat: comprehensive egg collection — 690 unique eggs from all sources
This commit is contained in:
commit
31772b96b5
1504 changed files with 108516 additions and 0 deletions
29
7_days_to_die/7_days_to_die/README.md
Normal file
29
7_days_to_die/7_days_to_die/README.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# 7 Days to Die
|
||||
|
||||
Steam Description
|
||||
Set in a brutally unforgiving post-apocalyptic world overrun by the undead, 7 Days to Die is an open-world game that is a unique combination of first person shooter, survival horror, tower defense, and role-playing games. It presents combat, crafting, looting, mining, exploration, and character growth, in a way that has seen a rapturous response from fans worldwide. Play the definitive zombie survival sandbox RPG that came first. Navezgane awaits!
|
||||
|
||||
## Server Ports
|
||||
|
||||
7 Days to Die requires up to 6 ports
|
||||
|
||||
| Port | default |
|
||||
|---------|---------------|
|
||||
| Game | 26900 - 26902 |
|
||||
| RCON | 8080 - 8081 |
|
||||
| webmap | 8082 |
|
||||
|
||||
## Sample ignore file for backups
|
||||
|
||||
By default the backup includes a lot of files that can be reacquired by pulling the image. Using the following file limits backups to the files that are unique to your server: your config files, logs, saves and generated worlds.
|
||||
|
||||
```
|
||||
# Ignore all
|
||||
*
|
||||
# Except server config file
|
||||
!serverconfig.xml
|
||||
# Except server data dir
|
||||
!.local/
|
||||
# Except logs
|
||||
!logs/
|
||||
```
|
||||
124
7_days_to_die/7_days_to_die/egg-7-days-to-die.json
Normal file
124
7_days_to_die/7_days_to_die/egg-7-days-to-die.json
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-02-20T02:33:05+01:00",
|
||||
"name": "7 Days To Die",
|
||||
"author": "kristoffer.norman@bahnhof.se",
|
||||
"description": "7 days to die server",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/7DaysToDieServer.x86_64 -configfile=serverconfig.xml -quit -batchmode -nographics -dedicated -ServerPort=${SERVER_PORT} -ServerDisabledNetworkProtocols=${SERVER_DISABLED_NETWORK_PROTOCOLS} -ServerMaxPlayerCount=${MAX_PLAYERS} -GameDifficulty=${GAME_DIFFICULTY} -ControlPanelEnabled=false -TelnetEnabled=true -TelnetPort=${TELNET_PORT} -TelnetPassword=${PASSWORD} -logfile logs\/latest.log & echo -e \"Checking on telnet connection\" && until nc -z -v -w5 127.0.0.1 ${TELNET_PORT}; do echo \"Waiting for telnet connection...\"; sleep 5; done && $( [[ -z ${PASSWORD} ]] && printf %s \"telnet -E 127.0.0.1 ${TELNET_PORT}\" || printf %s \"rcon -t telnet -a 127.0.0.1:${TELNET_PORT} -p {{PASSWORD}}\" )",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connected with 7DTD server\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "shutdown"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum Concurrent Players",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Difficulty",
|
||||
"description": "0 - 5, 0=easiest, 5=hardest",
|
||||
"env_variable": "GAME_DIFFICULTY",
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Source AppID",
|
||||
"description": "This is the app id for 7dtd please no step on snek.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "294420",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "This is to auto update the server on start.\r\n\r\nOptions are 0 or 1\r\nDefault is 1",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "ld lib path",
|
||||
"description": "This is really annoying that more games are doing this.",
|
||||
"env_variable": "LD_LIBRARY_PATH",
|
||||
"default_value": ".",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta Branch",
|
||||
"description": "Installs beta branch if specified. For example, latest_experimental would install the latest experimental branch release. Requires a reinstall to switch branches properly.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Telnet Password",
|
||||
"description": "Telnet listens on a local interface by default without a password. However, you can specify a password if you wish to expose telnet.",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Telnet Port",
|
||||
"description": "",
|
||||
"env_variable": "TELNET_PORT",
|
||||
"default_value": "8081",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Network Protocols",
|
||||
"description": "Networking protocols that should NOT be used. Separated by comma. Possible values: LiteNetLib, SteamNetworking. Dedicated servers should disable SteamNetworking if there is no NAT router in between your users and the server or when port-forwarding is set up correctly. lets it empty if you are connecting your self hosted server behind a NAT",
|
||||
"env_variable": "SERVER_DISABLED_NETWORK_PROTOCOLS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
76
CONTRIBUTING.md
Normal file
76
CONTRIBUTING.md
Normal file
|
|
@ -0,0 +1,76 @@
|
|||
# How to contribute
|
||||
|
||||
You can contribute by either creating a new pull request or testing [existing pull requests](https://github.com/parkervcp/eggs/pulls) and commenting on whether the egg works for you or not. Testing is very important and helpful!
|
||||
|
||||
## General rules for eggs
|
||||
|
||||
1. Don't be afraid to submit PR's to the egg repo.
|
||||
I don't bite. I will work with you on the egg and the required things to run it. Feel free to open a draft PR if you don't quite have the egg finished yet by yourself.
|
||||
|
||||
2. Keep it secure.
|
||||
No start scripts that a user can edit.
|
||||
If a start script is needed it should be part of a yolk.
|
||||
|
||||
3. Keep it simple.
|
||||
We don't need 8 miles of the install script.
|
||||
|
||||
4. Keep it small.
|
||||
Only use what is absolutely needed. The [yolks install images](https://github.com/parkervcp/yolks#installation-images) already contain the most basic packages that speeds up the installation process.
|
||||
|
||||
5. Use the stock images.
|
||||
If you need something in an image, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where it can be reviewed and built. Self-hosted or third-party images won't be accepted for security reasons.
|
||||
|
||||
6. Export eggs from the panel
|
||||
We ask that you use the panel to manage and export eggs.
|
||||
This keeps the egg format correctly
|
||||
|
||||
### Sources for working on a new egg
|
||||
|
||||
Look at existing eggs to see how they work. In most cases, you can take the existing egg as your new template. There's a brief documentation on how to [create eggs](https://pterodactyl.io/community/config/eggs/creating_a_custom_egg.html) and [Docker images](https://pterodactyl.io/community/config/eggs/creating_a_custom_image.html).
|
||||
|
||||
Use existing Docker images for your egg. You can find them in [Parkers Yolks fork](https://github.com/parkervcp/yolks) and [Pterodactyl Yolks](https://github.com/pterodactyl/yolks).
|
||||
|
||||
We have a collection of [existing install script snippets](https://github.com/parkervcp/eggs/tree/master/scripts) that you can use.
|
||||
|
||||
## Step 1
|
||||
|
||||
### Be aware of the pterodactyl install process
|
||||
|
||||
The Pterodactyl install process is fairly simple once you know it.
|
||||
|
||||
```md
|
||||
1. Spin up install container
|
||||
Creates a new container using an install image that's run as root.
|
||||
Uses a volume mount on `/mnt/server` for the server files, which is the working directory during installation.
|
||||
The volume will be later mounted as `/home/container` for the server container. Any files outside of `/mnt/server` will be gone after installation.
|
||||
Install script can pull files or set up all that is needed to run the server, such as writing files, directories or compiling apps.
|
||||
It is regularly used to just download the files required. Such as server files and configs.
|
||||
|
||||
|
||||
2. Stop and destroy install container
|
||||
|
||||
3. Start a new container with the server files in /home/container
|
||||
This is where the server is actually run. No root privileges.
|
||||
Any dependencies installed during the install process are gone.
|
||||
The container that is started should have everything you need.
|
||||
No packages can be installed. Any required dependencies must exist in the used Docker image.
|
||||
```
|
||||
|
||||
## Step 2
|
||||
|
||||
### Testing
|
||||
|
||||
Make sure your install process is rock solid as eggs will be tested before they are merged.
|
||||
|
||||
Suggestions and changes will be made at will.
|
||||
This is to maintain a clean repo that others can pull and be fully aware of what is being done.
|
||||
|
||||
## Step 3
|
||||
|
||||
### Make a branch and do your work in there
|
||||
|
||||
I have been getting messy PR's due to people always PRing from their master branch. Please make a separate branch and PR from there.
|
||||
|
||||
## Step 4
|
||||
|
||||
Open a new pull request and fill in the template. Make sure that the readme files have been updated to include the new egg.
|
||||
21
LICENSE
Normal file
21
LICENSE
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
MIT
|
||||
|
||||
Copyright (c) 2018 Michael Parker <parker@parkervcp.com> and Contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
19
abiotic_factor/abiotic_factor/README.md
Normal file
19
abiotic_factor/abiotic_factor/README.md
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
# Abiotic Factor
|
||||
|
||||
Abiotic Factor is a survival crafting experience for 1-6 players set in the depths of an underground research facility. Caught between paranormal containment failure, a military crusade, and chaos from a dozen realms, the world’s greatest minds must survive against the universe’s biggest threats.
|
||||
|
||||
Official server documentation: https://github.com/DFJacob/AbioticFactorDedicatedServer/wiki
|
||||
|
||||
### Configuration files
|
||||
|
||||
| File | Purpose | Path |
|
||||
|-----------|---------|---------|
|
||||
| SandboxSettings.ini | General game configuration | /home/container/AbioticFactor/Saved/SaveGames/Server/Worlds/Cascade/SandboxSettings.ini |
|
||||
| Admin.ini | Server moderator settings | /home/container/AbioticFactor/Saved/SaveGames/Server/Admin.ini |
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Name | Default |
|
||||
|---------|---------------|
|
||||
| Game | 7777 |
|
||||
| Query | 27015 |
|
||||
104
abiotic_factor/abiotic_factor/egg-abiotic-factor.json
Normal file
104
abiotic_factor/abiotic_factor/egg-abiotic-factor.json
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-04-13T10:10:32+00:00",
|
||||
"name": "Abiotic Factor",
|
||||
"author": "git@robsti.dev",
|
||||
"description": "Abiotic Factor is a survival crafting experience for 1-6 players set in the depths of an underground research facility. Caught between paranormal containment failure, a military crusade, and chaos from a dozen realms, the world\u2019s greatest minds must survive against the universe\u2019s biggest threats.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:proton": "ghcr.io\/ptero-eggs\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "cd \/home\/container\/AbioticFactor\/Binaries\/Win64; proton run .\/AbioticFactorServer-Win64-Shipping.exe -log -useperfthreads -NoAsyncLoadingThread -MaxServerPlayers=${NUM_PLAYERS} -PORT=${SERVER_PORT} -QueryPort=${QUERY_PORT} -ServerPassword=\"${SERVER_PASSWORD}\" -SteamServerName=\"${SERVER_NAME}\" & AF_PID=$!; tail -c0 -F \/home\/container\/AbioticFactor\/Saved\/Logs\/AbioticFactor.log --pid=$AF_PID",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"LogInit: Display: Engine is initialized.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[STEAM] SRCDS_APPID",
|
||||
"description": "Steam App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2857200",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[STEAM] Auto Update",
|
||||
"description": "Should Auto Update",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Server Name",
|
||||
"description": "Name of the server",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl Hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[STEAM] WINDOWS_INSTALL",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean|in:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Server Password",
|
||||
"description": "Server access password",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Query Port",
|
||||
"description": "Steam query port",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[SERVER] Number of Players",
|
||||
"description": "Number of allowed player connections",
|
||||
"env_variable": "NUM_PLAYERS",
|
||||
"default_value": "6",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:1,32",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
17
aloft/aloft/README.md
Normal file
17
aloft/aloft/README.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Aloft
|
||||
Soar the skies in Aloft, the co-op sandbox survival game set in a world of floating islands. Build any island into a skyship, your home in the clouds. Find lost knowledge, cure the fungal corruption, and brave the hurricane to restore the ecosystem.
|
||||
|
||||
The egg will automatically generate a world using the settings you provide on the first startup, or if the world file specified doesn't exist. Once the world is generated it will automatically load the server with this world.
|
||||
|
||||
|
||||
### Save file location
|
||||
The save files are located in `.wine/drive_c/users/container/AppData/LocalLow/Astrolabe Interactive/Aloft/Data01/Saves`.
|
||||
Please be careful and backup your saves if you need to remove the `.wine` folder!
|
||||
|
||||
### Steam Account Required
|
||||
A steam account that owns the game is required to install this server.
|
||||
The official word from the developers is they have discussed this and have no intention to change this.
|
||||
|
||||
|
||||
### Server Ports
|
||||
Aloft requires one port. They do not specify a default port.
|
||||
194
aloft/aloft/egg-aloft.json
Normal file
194
aloft/aloft/egg-aloft.json
Normal file
|
|
@ -0,0 +1,194 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-01-19T10:12:33+00:00",
|
||||
"name": "Aloft",
|
||||
"author": "eggs@purpleflaghosting.com",
|
||||
"description": "Soar the skies in Aloft, the co-op sandbox survival game set in a world of floating islands. Build any island into a skyship, your home in the clouds. Find lost knowledge, cure the fungal corruption, and brave the hurricane to restore the ecosystem.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/yolks:wine_latest": "ghcr.io\/ptero-eggs\/yolks:wine_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "[ ! -d \"${SAVE_PATH}\/w_{{SAVE_NAME}}\" ] && wine Aloft.exe -batchmode -nographics -server -logFile create.log create#{{SAVE_NAME}}#{{NUM_ISLANDS}}#{{CREATIVE_MODE}}# log#ERROR# ; wine Aloft.exe -batchmode -nographics -server -logFile server.log load#{{SAVE_NAME}}# servername#{{SERVER_NAME}}# log#ERROR# isvisible#{{IS_VISIBLE}}# privateislands#{{PRIVATE_ISLANDS}}# playercount#{{MAX_PLAYERS}}# serverport#{{SERVER_PORT}}# $(printf \"admin#%s# \" ${ADMIN_IDS}) & tail -F server.log -c0 --pid=$?",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server Ready\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "Steam App ID to install",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1660080",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Winetricks",
|
||||
"description": "",
|
||||
"env_variable": "WINETRICKS_RUN",
|
||||
"default_value": "mono vcrun2022 wmp11 mf sound=disabled",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Name",
|
||||
"description": "Map name is the name of the map and save file you want to create. No spaces allowed.",
|
||||
"env_variable": "SAVE_NAME",
|
||||
"default_value": "Aloft",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|alpha_num|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name of the server to appear in the server list. Currently doesn't support spaces.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A_Pterodactyl_Hosted_Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|alpha_dash|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Number of players allowed on the server at any one time. Max 8.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:1,8",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Creative Mode",
|
||||
"description": "Whether the game is set in creative mode or not. Only applies when the world is first generated.",
|
||||
"env_variable": "CREATIVE_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean|in:0,1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Number of Islands",
|
||||
"description": "The number of islands in the map. Only applies when the world is first generated.",
|
||||
"env_variable": "NUM_ISLANDS",
|
||||
"default_value": "500",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin IDs",
|
||||
"description": "One or more Steam64ID numbers. Multiple admin IDs can be provided by separating with spaces.",
|
||||
"env_variable": "ADMIN_IDS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:255|regex:\/^[0-9\\s]+$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Is Visible",
|
||||
"description": "If your server is going to be visible through the lobby browser or just accessible through a code.",
|
||||
"env_variable": "IS_VISIBLE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Private Islands",
|
||||
"description": "If home island spawning is protected or not in game.",
|
||||
"env_variable": "PRIVATE_ISLANDS",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam User",
|
||||
"description": "Steam username used to install the server",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Steam account password used to install the server",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install",
|
||||
"description": "Flag to install windows depot from steam",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Save Path",
|
||||
"description": "Stores the save path for use in the startup command",
|
||||
"env_variable": "SAVE_PATH",
|
||||
"default_value": ".wine\/drive_c\/users\/container\/AppData\/LocalLow\/Astrolabe Interactive\/Aloft\/Data01\/Saves",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Wine Debug",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINEDLLOVERRIDES",
|
||||
"description": "",
|
||||
"env_variable": "WINEDLLOVERRIDES",
|
||||
"default_value": "mscoree,mshtml=",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:50",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
13
americas_army/proving_grounds/README.md
Normal file
13
americas_army/proving_grounds/README.md
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# America's Army: Proving Grounds
|
||||
|
||||
[America’s Army: Proving Grounds](https://store.steampowered.com/app/203290/Americas_Army_Proving_Grounds/) is the official game of the U.S. Army and part of the highly acclaimed America’s Army game series. This free military game focuses on small unit tactical maneuvers and puts you to the test in a wide variety of new America’s Army maps and AA fan favorites.
|
||||
|
||||
|
||||
### Server Ports
|
||||
|
||||
|
||||
| Port | default |
|
||||
| ----------- | ------- |
|
||||
| Game | 7778 |
|
||||
| Steam Query | 27015 |
|
||||
| Steam Auth | 7780 |
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-01-09T17:43:24+00:00",
|
||||
"name": "America's Army: Proving Grounds",
|
||||
"author": "eggs@purpleflaghosting.com",
|
||||
"description": "America\u2019s Army: Proving Grounds is the official game of the U.S. Army and part of the highly acclaimed America\u2019s Army game series. This free military game focuses on small unit tactical maneuvers and puts you to the test in a wide variety of new America\u2019s Army maps and AA fan favorites.",
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/yolks:debian": "ghcr.io\/ptero-eggs\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Binaries\/Linux\/AAPG -port={{SERVER_PORT}} -SAP={{AUTH_PORT}} -SQP={{QUERY_PORT}} -servername=\\\"{{SERVER_NAME}}\\\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Finished loading level\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Query",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1024,65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auth Port",
|
||||
"description": "Steam authentication port",
|
||||
"env_variable": "AUTH_PORT",
|
||||
"default_value": "7780",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1024,65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "The steam App ID to install",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "203300",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|in:203300",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
15
among_us/bettercrewlink_server/README.md
Normal file
15
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": "2024-04-02T13:58:58+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\/ptero-eggs\/yolks:nodejs_16": "ghcr.io\/ptero-eggs\/yolks:nodejs_16"
|
||||
},
|
||||
"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 python3 python3-pip build-essential\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:16-bookworm",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
18
among_us/impostor_server/README.md
Normal file
18
among_us/impostor_server/README.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Among Us - Impostor Server
|
||||
|
||||
## From their [Github](https://github.com/AeonLucid/Impostor)
|
||||
|
||||
Impostor is one of the first Among Us private servers, written in C#.
|
||||
There 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.
|
||||
|
||||
## Install notes
|
||||
|
||||
You MUST use Port 22023 for the Master Server. To host multiple servers, please read [Impostor Multiple Servers Documentation](https://github.com/Impostor/Impostor/blob/master/docs/Running-the-server.md#multiple-servers).
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 22023 |
|
||||
44
among_us/impostor_server/egg-among-us--impostor-server.json
Normal file
44
among_us/impostor_server/egg-among-us--impostor-server.json
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-09-17T15:53:51+02:00",
|
||||
"name": "Among Us - Impostor Server",
|
||||
"author": "eggs@goover.dev",
|
||||
"description": "Impostor is one of the first Among Us private servers, written in C#.\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,
|
||||
"docker_images": {
|
||||
"Dotnet_8": "ghcr.io\/ptero-eggs\/yolks:dotnet_8",
|
||||
"Dotnet_7": "ghcr.io\/ptero-eggs\/yolks:dotnet_7",
|
||||
"Dotnet_6": "ghcr.io\/ptero-eggs\/yolks:dotnet_6"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Impostor.Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Server.PublicPort\": \"{{server.build.default.port}}\",\r\n \"Server.ListenPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Matchmaker is listening on\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl jq tar\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/Impostor\/Impostor\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/Impostor\/Impostor\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\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 -e \"\\nDownloading from $DOWNLOAD_URL\"\r\ncurl -sSL -o imposter-server.tar.gz $DOWNLOAD_URL\r\n\r\n\r\necho -e \"\\nUnpacking .tar.gz\"\r\ntar xvf imposter-server.tar.gz\r\n\r\nrm imposter-server.tar.gz\r\nchmod +x Impostor.Server\r\n\r\necho -e \"\\nInstall completed\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Download Version",
|
||||
"description": "Version to Download. Leave latest for the latest release.\r\n\r\nFind all releases at https:\/\/github.com\/Impostor\/Impostor\/releases\r\nNote: versions start with a v, example: v1.8.0",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
22
archean/Archean/README.md
Normal file
22
archean/Archean/README.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# [Archean](https://archean.space/)
|
||||
|
||||
Archean invites you to unleash your creativity alone or with friends in a creative sandbox mode.
|
||||
Design and build vehicles, bases, rockets, space stations and much more using customizable modular blocks.Create unique configurations using components, program their behavior and explore an environment free of constraints.
|
||||
Test your builds, refine your designs and defy the laws of physics.
|
||||
Archean is a game in development focused on engineering and build.
|
||||
|
||||
## Installation/System Requirements
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Any mid/high-end should work | -|
|
||||
| RAM | 2GB | 8 GB |
|
||||
| Storage | 700 MB | 2 GB |
|
||||
| Network | Depends on your patience :P |- |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 8881 |
|
||||
152
archean/Archean/egg-archean.json
Normal file
152
archean/Archean/egg-archean.json
Normal file
|
|
@ -0,0 +1,152 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-05-27T09:12:18+00:00",
|
||||
"name": "Archean",
|
||||
"author": "willinghamnottell@gmail.com",
|
||||
"description": "Archean invites you to unleash your creativity alone or with friends in a creative sandbox mode. Design and build vehicles, bases, rockets, space stations and much more using customizable modular blocks. Create unique configurations using components, program their behavior and explore an environment free of constraints.Test your builds, refine your designs and defy the laws of physics. Archean is a game in development focused on engineering and build.",
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/yolks:ubuntu": "ghcr.io\/ptero-eggs\/yolks:ubuntu"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "cd \/home\/container\/Archean-game; .\/Archean_server",
|
||||
"config": {
|
||||
"files": "{\r\n \"Archean-data\/server\/server.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"server.server_public_name\": \"{{env.SERVER_NAME}}\",\r\n \"server.game_mode\": \"{{env.GAME_MODE}}\",\r\n \"server.server_online\": \"{{env.ONLINE_MODE}}\",\r\n \"server.max_simultaneous_players\": \"{{env.MAX_PLAYERS}}\",\r\n \"server.password\": \"{{env.PASSWORD}}\",\r\n \"server.accept_remote_connections\": \"yes\",\r\n \"networking.listen_port\": \"{{server.build.default.port}}\",\r\n \"game.spawn\": \"{{env.SPAWN_PLANET}}\",\r\n \"game.world\": \"{{env.WORLD_NAME}}\",\r\n \"game.auto_save_interval_seconds\": \"{{env.AUTOSAVE_INTERVAL}}\",\r\n \"game.updates_per_second\": \"{{env.UPDATES_PER_SECOND}}\",\r\n \"game.physics_steps_per_update\": \"{{env.PHYSICS_UPDATES_PER_UPDATE}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "The maximum amount of players that can join the server at one time.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "4",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Password",
|
||||
"description": "The Password players need to enter to join the server",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The servers name that is, among others, displayed on the public server page.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl Hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|required",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Mode",
|
||||
"description": "Changes the servers game mode between adventure and creative.\r\nOFF = creative\r\nON = adventure",
|
||||
"env_variable": "GAME_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Online Mode",
|
||||
"description": "Whether the server is publicly discoverable or not.",
|
||||
"env_variable": "ONLINE_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Spawn Planet",
|
||||
"description": "The Planet players will initially spawn on.",
|
||||
"env_variable": "SPAWN_PLANET",
|
||||
"default_value": "earth",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|in:earth,moon",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosave Interval",
|
||||
"description": "Time between automatic server saves",
|
||||
"env_variable": "AUTOSAVE_INTERVAL",
|
||||
"default_value": "30",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[ADVANCED] Updates per Second",
|
||||
"description": "This setting should only be changed by advanced users.\nChanges the amount of times the server updates per second.",
|
||||
"env_variable": "UPDATES_PER_SECOND",
|
||||
"default_value": "25",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[ADVANCED] Physics steps per update",
|
||||
"description": "This setting should only be changed by advanced users.\nChanges the amount of times the physics get calculated per game update.",
|
||||
"env_variable": "PHYSICS_UPDATES_PER_UPDATE",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World name",
|
||||
"description": "The name of the world directory to use.",
|
||||
"env_variable": "WORLD_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "AppID",
|
||||
"description": "SteamCMD App ID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "3557220",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "This is to auto update the server on start.\r\n\r\nOptions are 0 or 1\r\nDefault is 1",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
22
archean/archean/README.md
Normal file
22
archean/archean/README.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# [Archean](https://archean.space/)
|
||||
|
||||
Archean invites you to unleash your creativity alone or with friends in a creative sandbox mode.
|
||||
Design and build vehicles, bases, rockets, space stations and much more using customizable modular blocks.Create unique configurations using components, program their behavior and explore an environment free of constraints.
|
||||
Test your builds, refine your designs and defy the laws of physics.
|
||||
Archean is a game in development focused on engineering and build.
|
||||
|
||||
## Installation/System Requirements
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Any mid/high-end should work | -|
|
||||
| RAM | 2GB | 8 GB |
|
||||
| Storage | 700 MB | 2 GB |
|
||||
| Network | Depends on your patience :P |- |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 8881 |
|
||||
201
archean/archean/egg-archean.json
Normal file
201
archean/archean/egg-archean.json
Normal file
|
|
@ -0,0 +1,201 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"version": "PLCN_v1",
|
||||
"update_url": "https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-standalone\/blob\/main\/archean\/egg-archean.json"
|
||||
},
|
||||
"exported_at": "2024-11-02T08:25:16+00:00",
|
||||
"name": "Archean",
|
||||
"author": "tueem@tomatentum.net",
|
||||
"uuid": "01555bd3-155f-4ab6-b63d-c8bed0a3585f",
|
||||
"description": "Archean invites you to unleash your creativity alone or with friends in a creative sandbox mode.Design and build vehicles, bases, rockets, space stations and much more using customizable modular blocks.Create unique configurations using components, program their behavior and explore an environment free of constraints.\\nTest your builds, refine your designs and defy the laws of physics.Archean is a game in development focused on engineering and build.",
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"Ubuntu": "ghcr.io\/pelican-eggs\/yolks:ubuntu"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "echo \"$ADMINS\" > \"archean-data\/server\/admins.txt\"; cd \/home\/container\/archean-server\/; .\/Archean server",
|
||||
"config": {
|
||||
"files": "{\n\t\"archean-data\/server\/server.ini\": {\n\t\t\"parser\": \"ini\",\n\t\t\"find\": {\n\t\t\t\"server.server_public_name\": \"{{server.environment.SERVER_NAME}}\",\n\t\t\t\"server.game_mode\": \"{{server.environment.GAME_MODE}}\",\n\t\t\t\"server.server_online\": \"{{server.environment.ONLINE_MODE}}\",\n\t\t\t\"server.max_simultaneous_players\": \"{{server.environment.MAX_PLAYERS}}\",\n\t\t\t\"server.password\": \"{{server.environment.PASSWORD}}\",\n\t\t\t\"networking.listen_port\": \"{{server.allocations.default.port}}\",\n\t\t\t\"game.spawn\": \"{{server.environment.SPAWN_PLANET}}\",\n\t\t\t\"game.world\": \"{{server.environment.WORLD_NAME}}\",\n\t\t\t\"game.auto_save_interval_seconds\": \"{{server.environment.AUTOSAVE_INTERVAL}}\",\n\t\t\t\"game.updates_per_second\": \"{{server.environment.UPDATES_PER_SECOND}}\",\n\t\t\t\"game.physics_steps_per_update\": \"{{server.environment.PHYSICS_UPDATES_PER_UPDATE}}\"\n\t\t}\n\t}\n}",
|
||||
"startup": "{\n\"done\": \"Server started\"\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\n\ncd \/mnt\/server\n\n## add git ending if it's not on the address\nif [[ ${GIT_ADDRESS} != *.git ]]; then\n GIT_ADDRESS=${GIT_ADDRESS}.git\nfi\n\n## pull git bot repo with update functionality\nif [ \"$(ls -A \/mnt\/server\/archean-server)\" ]; then\n echo -e \"\/mnt\/server\/archean-server directory is not empty.\"\n cd archean-server\/\n if [ -d .git ]; then\n echo -e \".git directory exists\"\n if [ -f .git\/config ]; then\n echo -e \"loading info from git config\"\n ORIGIN=$(git config --get remote.origin.url)\n else\n echo -e \"files found with no git config\"\n echo -e \"closing out without touching things to not break anything\"\n exit 10\n fi\n fi\n\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\n echo \"pulling latest from github\"\n git pull\n fi\nelse\n echo -e \"\/mnt\/server\/archean-server is empty.\\ncloning files into repo\"\n if [ -z ${BRANCH} ]; then\n echo -e \"cloning default branch\"\n git clone --single-branch ${GIT_ADDRESS} archean-server\/\n else\n echo -e \"cloning ${BRANCH}'\"\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} archean-server\/\n fi\nfi\n\ncurl -o \"archean-data\/server\/server.ini\" --create-dirs https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-standalone\/refs\/heads\/main\/archean\/server.ini\n\necho ******************************************\necho Installation Completed\necho ******************************************",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"sort": 1,
|
||||
"name": "Server Name",
|
||||
"description": "The servers name that is, among others, displayed on the public server page.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 2,
|
||||
"name": "Game Mode",
|
||||
"description": "Changes the servers game mode between adventure and creative.\n0 = creative\n1 = adventure",
|
||||
"env_variable": "GAME_MODE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"in:0,1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 3,
|
||||
"name": "Online Mode",
|
||||
"description": "Whether the server is publicly discoverable or not.",
|
||||
"env_variable": "ONLINE_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"boolean"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 4,
|
||||
"name": "Max Players",
|
||||
"description": "The maximum amount of players that can join the server at one time.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "4",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 5,
|
||||
"name": "Password",
|
||||
"description": "The Password players need to enter to join the server",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"string",
|
||||
"nullable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 6,
|
||||
"name": "Spawn Planet",
|
||||
"description": "The Planet players will initially spawn on.",
|
||||
"env_variable": "SPAWN_PLANET",
|
||||
"default_value": "earth",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"in:earth,moon"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 7,
|
||||
"name": "Autosave Interval",
|
||||
"description": "Time between automatic server saves",
|
||||
"env_variable": "AUTOSAVE_INTERVAL",
|
||||
"default_value": "30",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 10,
|
||||
"name": "[ADVANCED] Updates per Second",
|
||||
"description": "This setting should only be changed by advanced users.\nChanges the amount of times the server updates per second.",
|
||||
"env_variable": "UPDATES_PER_SECOND",
|
||||
"default_value": "25",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 11,
|
||||
"name": "[ADVANCED] Physics steps per update",
|
||||
"description": "This setting should only be changed by advanced users.\nChanges the amount of times the physics get calculated per game update.",
|
||||
"env_variable": "PHYSICS_UPDATES_PER_UPDATE",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"integer"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 9,
|
||||
"name": "Admins",
|
||||
"description": "A line-seperated list of steamids from users that should get admin privileges.\nVisit https:\/\/steamid.io to get a steamid.",
|
||||
"env_variable": "ADMINS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"string",
|
||||
"nullable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 8,
|
||||
"name": "World name",
|
||||
"description": "The name of the world directory to use.",
|
||||
"env_variable": "WORLD_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"string",
|
||||
"nullable"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 12,
|
||||
"name": "Git Address",
|
||||
"description": "",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "https:\/\/github.com\/batcholi\/Archean_game_linux.git",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": [
|
||||
"required",
|
||||
"string"
|
||||
]
|
||||
},
|
||||
{
|
||||
"sort": 13,
|
||||
"name": "Branch",
|
||||
"description": "",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "alpha",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": [
|
||||
"string",
|
||||
"required"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
162
archean/archean/egg-pterodactyl-archean.json
Normal file
162
archean/archean/egg-pterodactyl-archean.json
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-02-19T20:25:53+00:00",
|
||||
"name": "Archean",
|
||||
"author": "tueem@tomatentum.net",
|
||||
"description": "Archean invites you to unleash your creativity alone or with friends in a creative sandbox mode.Design and build vehicles, bases, rockets, space stations and much more using customizable modular blocks.Create unique configurations using components, program their behavior and explore an environment free of constraints.\\nTest your builds, refine your designs and defy the laws of physics.Archean is a game in development focused on engineering and build.",
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"Ubuntu": "ghcr.io\/pelican-eggs\/yolks:ubuntu"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "echo \"$ADMINS\" > \"archean-data\/server\/admins.txt\"; cd \/home\/container\/archean-server\/; .\/Archean server",
|
||||
"config": {
|
||||
"files": "{\n\t\"archean-data\/server\/server.ini\": {\n\t\t\"parser\": \"ini\",\n\t\t\"find\": {\n\t\t\t\"server.server_public_name\": \"{{env.SERVER_NAME}}\",\n\t\t\t\"server.game_mode\": \"{{env.GAME_MODE}}\",\n\t\t\t\"server.server_online\": \"{{env.ONLINE_MODE}}\",\n\t\t\t\"server.max_simultaneous_players\": \"{{env.MAX_PLAYERS}}\",\n\t\t\t\"server.password\": \"{{env.PASSWORD}}\",\n\t\t\t\"networking.listen_port\": \"{{server.build.default.port}}\",\n\t\t\t\"game.spawn\": \"{{env.SPAWN_PLANET}}\",\n\t\t\t\"game.world\": \"{{env.WORLD_NAME}}\",\n\t\t\t\"game.auto_save_interval_seconds\": \"{{env.AUTOSAVE_INTERVAL}}\",\n\t\t\t\"game.updates_per_second\": \"{{env.UPDATES_PER_SECOND}}\",\n\t\t\t\"game.physics_steps_per_update\": \"{{env.PHYSICS_UPDATES_PER_UPDATE}}\"\n\t\t}\n\t}\n}",
|
||||
"startup": "{\n\"done\": \"Server started\"\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\n\ncd \/mnt\/server\n\n## add git ending if it's not on the address\nif [[ ${GIT_ADDRESS} != *.git ]]; then\n GIT_ADDRESS=${GIT_ADDRESS}.git\nfi\n\n## pull git bot repo with update functionality\nif [ \"$(ls -A \/mnt\/server\/archean-server)\" ]; then\n echo -e \"\/mnt\/server\/archean-server directory is not empty.\"\n cd archean-server\/\n if [ -d .git ]; then\n echo -e \".git directory exists\"\n if [ -f .git\/config ]; then\n echo -e \"loading info from git config\"\n ORIGIN=$(git config --get remote.origin.url)\n else\n echo -e \"files found with no git config\"\n echo -e \"closing out without touching things to not break anything\"\n exit 10\n fi\n fi\n\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\n echo \"pulling latest from github\"\n git pull\n fi\nelse\n echo -e \"\/mnt\/server\/archean-server is empty.\\ncloning files into repo\"\n if [ -z ${BRANCH} ]; then\n echo -e \"cloning default branch\"\n git clone --single-branch ${GIT_ADDRESS} archean-server\/\n else\n echo -e \"cloning ${BRANCH}'\"\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} archean-server\/\n fi\nfi\n\ncurl -o \"archean-data\/server\/server.ini\" --create-dirs https:\/\/raw.githubusercontent.com\/pelican-eggs\/games-standalone\/refs\/heads\/main\/archean\/server.ini\n\necho ******************************************\necho Installation Completed\necho ******************************************",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The servers name that is, among others, displayed on the public server page.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|required",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Mode",
|
||||
"description": "Changes the servers game mode between adventure and creative.\n0 = creative\n1 = adventure",
|
||||
"env_variable": "GAME_MODE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|in:0,1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Online Mode",
|
||||
"description": "Whether the server is publicly discoverable or not.",
|
||||
"env_variable": "ONLINE_MODE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "The maximum amount of players that can join the server at one time.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "4",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Password",
|
||||
"description": "The Password players need to enter to join the server",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Spawn Planet",
|
||||
"description": "The Planet players will initially spawn on.",
|
||||
"env_variable": "SPAWN_PLANET",
|
||||
"default_value": "earth",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|in:earth,moon",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosave Interval",
|
||||
"description": "Time between automatic server saves",
|
||||
"env_variable": "AUTOSAVE_INTERVAL",
|
||||
"default_value": "30",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[ADVANCED] Updates per Second",
|
||||
"description": "This setting should only be changed by advanced users.\nChanges the amount of times the server updates per second.",
|
||||
"env_variable": "UPDATES_PER_SECOND",
|
||||
"default_value": "25",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[ADVANCED] Physics steps per update",
|
||||
"description": "This setting should only be changed by advanced users.\nChanges the amount of times the physics get calculated per game update.",
|
||||
"env_variable": "PHYSICS_UPDATES_PER_UPDATE",
|
||||
"default_value": "8",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admins",
|
||||
"description": "A line-seperated list of steamids from users that should get admin privileges.\nVisit https:\/\/steamid.io to get a steamid.",
|
||||
"env_variable": "ADMINS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World name",
|
||||
"description": "The name of the world directory to use.",
|
||||
"env_variable": "WORLD_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Git Address",
|
||||
"description": "",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "https:\/\/github.com\/batcholi\/Archean_game_linux.git",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "string|required",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Branch",
|
||||
"description": "",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "alpha",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "string|required",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
18
archean/archean/server.ini
Normal file
18
archean/archean/server.ini
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
[server]
|
||||
server_public_name=
|
||||
game_mode=0
|
||||
server_online=0
|
||||
accept_remote_connections=1
|
||||
max_simultaneous_players=4
|
||||
password=
|
||||
|
||||
[networking]
|
||||
listen_port=8881
|
||||
listen_new_connection_timeout_ms=500
|
||||
automatic_blacklist=0
|
||||
|
||||
[game]
|
||||
spawn=earth
|
||||
updates_per_second=25
|
||||
physics_steps_per_update=8
|
||||
auto_save_interval_seconds=30
|
||||
104
ark_survival_ascended/ark_survival_ascended/README.md
Normal file
104
ark_survival_ascended/ark_survival_ascended/README.md
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
# ARK: Survival Ascended
|
||||
|
||||
Steam Description :
|
||||
ARK is reimagined from the ground-up into the next-generation of video game technology with Unreal Engine 5! Form a tribe, tame & breed hundreds of unique dinosaurs and primeval creatures, explore, craft, build, and fight your way to the top of the food-chain. Your new world awaits!
|
||||
|
||||
### Authors / Contributors
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/dagbs">
|
||||
<img src="https://avatars.githubusercontent.com/u/133905860" width="50px;" alt=""/><br /><sub><b>Blood Shot</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=dagbs" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=dagbs" title="Maintains">🔨</a>
|
||||
<td align="center">
|
||||
<a href="https://github.com/gOOvER">
|
||||
<img src="https://avatars.githubusercontent.com/u/116325" width="50px;" alt=""/><br /><sub><b>gOOvER</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=gOOvER" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/hackles">
|
||||
<img src="https://avatars.githubusercontent.com/u/30584261" width="50px;" alt=""/><br /><sub><b>heckler</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=hackles" title="Codes">💻</a>
|
||||
</td>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Log1x">
|
||||
<img src="https://avatars.githubusercontent.com/u/5745907" width="50px;" alt=""/><br /><sub><b>Brandon</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Log1x" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Ballaual">
|
||||
<img src="https://avatars.githubusercontent.com/u/38478976" width="50px;" alt=""/><br /><sub><b>Alexander Ballauf</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Ballaual" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/MachinegunMarty">
|
||||
<img src="https://avatars.githubusercontent.com/u/20025119" width="50px;" alt=""/><br /><sub><b>MachinegunMartyf</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=MachinegunMarty" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/That411Guy">
|
||||
<img src="https://avatars.githubusercontent.com/u/100328348" width="50px;" alt=""/><br /><sub><b>That411Guy</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=That411Guy" title="Codes">💻</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
---
|
||||
## Troubleshooting
|
||||
|
||||
1) Try starting the server with no mods on a fresh install.
|
||||
|
||||
2) If there are crash logs, they will be available in the Files at `ShooterGame/Saved/Crashes/UECC-Windows-*/CrashContext.runtime-xml`
|
||||
|
||||
### Crash Identifiers
|
||||
|
||||
Crashes will either stop the server or display 0-5% CPU usage.
|
||||
The number is in reference to RAM/Memory usage.
|
||||
|
||||
1) Server crashing around 500MB is probably either a config issue or a corrupted install.
|
||||
|
||||
2) Server crashing around 750MB is probably commandline issue.
|
||||
|
||||
3) Server crashing around 1GB is probably either a MOD conflict or corrupted SavedArks files.
|
||||
|
||||
|
||||
## Known Issues
|
||||
|
||||
1) Proxmox VM(s): You'll need to change your Processor Type to `Host` (Default: kvm64)
|
||||
|
||||
2) ARK's wiki heavily reference A:SE and not all features are available in A:SA.
|
||||
|
||||
## Recommended server settings
|
||||
|
||||
### Minimum RAM
|
||||
|
||||
This server requires about 11GB of RAM to run with no players on a default map.
|
||||
|
||||
See the following - <https://ark.wiki.gg/wiki/Dedicated_server_setup#RAM>
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | Default |
|
||||
| --------------- | ------- |
|
||||
| Game | 7777 |
|
||||
| RCON (optional) | 37015 |
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-12-19T11:42:05+02:00",
|
||||
"name": "ARK: Survival Ascended",
|
||||
"author": "blood@darkartsgaming.com",
|
||||
"description": "ARK is reimagined from the ground-up into the next-generation of video game technology with Unreal Engine 5! Form a tribe, tame & breed hundreds of unique dinosaurs and primeval creatures, explore, craft, build, and fight your way to the top of the food-chain. Your new world awaits!",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"Proton": "ghcr.io\/ptero-eggs\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "rmv() { echo \"stopping server\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} KeepAlive && rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} DoExit && wait ${ARK_PID}; echo \"Server Closed\"; exit; }; trap rmv 15 2; proton run .\/ShooterGame\/Binaries\/Win64\/ArkAscendedServer.exe {{SERVER_MAP}}?listen?MaxPlayers={{MAX_PLAYERS}}?SessionName=\\\"{{SESSION_NAME}}\\\"?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?RCONEnabled=True$( [ \"$SERVER_PVE\" == \"0\" ] || printf %s '?ServerPVE=True' )?ServerPassword=\"{{SERVER_PASSWORD}}\"{{ARGS_PARAMS}}?ServerAdminPassword=\"{{ARK_ADMIN_PASSWORD}}\" -WinLiveMaxPlayers={{MAX_PLAYERS}} -oldconsole -servergamelog $( [ -z \"$MOD_IDS\" ] || printf %s ' -mods=' $MOD_IDS )$( [ \"$BATTLE_EYE\" == \"1\" ] || printf %s ' -NoBattlEye' ) -Port={{SERVER_PORT}} {{ARGS_FLAGS}} & ARK_PID=$! ; tail -c0 -F .\/ShooterGame\/Saved\/Logs\/ShooterGame.log --pid=$ARK_PID & until echo \"waiting for rcon connection...\"; (rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD})<&0 & wait $!; do sleep 5; done",
|
||||
"config": {
|
||||
"files": "{\r\n \"ShooterGame\/Saved\/Config\/WindowsServer\/GameUserSettings.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers=\": \"MaxPlayers={{server.build.env.MAX_PLAYERS}}\",\r\n \"ServerAdminPassword=\": \"ServerAdminPassword={{server.build.env.ARK_ADMIN_PASSWORD}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n## cleanup movies?\r\nrm -rf \/mnt\/server\/ShooterGame\/Content\/Movies\r\n\r\n## touch log file\r\nmkdir -p \/mnt\/server\/ShooterGame\/Saved\/Logs\r\necho \"--fresh install--\" >> \/mnt\/server\/ShooterGame\/Saved\/Logs\/ShooterGame.log\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Map",
|
||||
"description": "Available Maps: TheIsland_WP",
|
||||
"env_variable": "SERVER_MAP",
|
||||
"default_value": "TheIsland_WP",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "\"Unofficial\" dedicated server name",
|
||||
"env_variable": "SESSION_NAME",
|
||||
"default_value": "A Pterodactyl Hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:256",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "This is to enable auto-updating for servers on restart\/re-install.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Battle Eye",
|
||||
"description": "Enable BattleEye \/ Anti-Cheat",
|
||||
"env_variable": "BATTLE_EYE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "app id required for server download\/updates. end users should not see this.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2430930",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|in:2430930",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Arguments (PARAMS)",
|
||||
"description": "params (?ServerPassword=...) are supported here but params need to be touching. (i.e): ?ServerPassword=MyP4SsWoRd?ServerAdminPassword=sUpRp4ssW0rd",
|
||||
"env_variable": "ARGS_PARAMS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:1024",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Specifies the maximum amount of players able to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "70",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1|max:200",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Admin Password",
|
||||
"description": "Used for RCON (remote and in-browser console) as well as in-game EnableCheats",
|
||||
"env_variable": "ARK_ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Arguments (FLAGS)",
|
||||
"description": "flags (-UseBattleEye) are supported here without them touching. (i.e): -crossplay -mods=1234,1235,1236",
|
||||
"env_variable": "ARGS_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:1024",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server PvE",
|
||||
"description": "ON = Player-vs-Environment (PvE), OFF = Player-vs-Player (PvP); Default is ON",
|
||||
"env_variable": "SERVER_PVE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "required password to enter the server, leave blank for public server",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "RCON Port",
|
||||
"description": "required for console commands and proper server shutdown (saveworld\/exit), doesn't have to be open to the public",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "37015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|min:1025|max:65535",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MOD IDs",
|
||||
"description": "https:\/\/www.curseforge.com\/ark-survival-ascended ; ProjectID is is the MOD_ID on the right-side of the mod-view page ; leave blank to disable mods ; separate only by comma ( , ) without spaces! (i.e.) 1234,1235,1236",
|
||||
"env_variable": "MOD_IDS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:512",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
25
ark_survival_evolved/ark_survival_evolved/README.md
Normal file
25
ark_survival_evolved/ark_survival_evolved/README.md
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
# Ark: Survival Evolved
|
||||
|
||||
Steam Description :
|
||||
As a man or woman stranded naked, freezing and starving on the shores of a mysterious island called ARK, you must hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements. Use your cunning and resources to kill or tame & breed the leviathan dinosaurs and other primeval creatures roaming the land, and team up with or prey on hundreds of other players to survive, dominate... and escape!
|
||||
|
||||
## Recommended server settings
|
||||
|
||||
### Minimum RAM
|
||||
|
||||
This server requires about 4096M to run with no players on a default map. Although it is recommended to run 6144M by the ARK creators, specific DLC maps will increase this requirement, such as Genesis 2 requiring over 13,440M to start.
|
||||
|
||||
See the following - <https://ark.gamepedia.com/Dedicated_Server_Setup#Hardware>
|
||||
|
||||
### RCON
|
||||
|
||||
The server requires a local RCON connection to function. You will see RCON connection refused messages until the server has successfully started and connects to the RCON, which can take anywhere from 10 to 20 minutes. The RCON Port is only required for external RCON connections.
|
||||
|
||||
## Server Ports
|
||||
|
||||
| Port | Default |
|
||||
| --------------- | ------- |
|
||||
| Game | 7777 |
|
||||
| Raw UDP | 7778 |
|
||||
| Query | 27015 |
|
||||
| RCON (optional) | 27020 |
|
||||
|
|
@ -0,0 +1,164 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-07-16T10:03:10+00:00",
|
||||
"name": "Ark: Survival Evolved",
|
||||
"author": "dev@shepper.fr",
|
||||
"description": "As a man or woman stranded, naked, freezing, and starving on the unforgiving shores of a mysterious island called ARK, use your skill and cunning to kill or tame and ride the plethora of leviathan dinosaurs and other primeval creatures roaming the land. Hunt, harvest resources, craft items, grow crops, research technologies, and build shelters to withstand the elements and store valuables, all while teaming up with (or preying upon) hundreds of other players to survive, dominate... and escape! \u2014 Gamepedia: ARK",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/games:source": "ghcr.io\/ptero-eggs\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "rmv() { echo \"stopping server\"; rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} saveworld &&rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD} DoExit && wait ${ARK_PID}; echo \"Server Closed\"; exit; }; trap rmv 15 2; cd ShooterGame\/Binaries\/Linux && .\/ShooterGameServer {{SERVER_MAP}}?listen?SessionName=\"{{SESSION_NAME}}\"?ServerPassword={{ARK_PASSWORD}}?ServerAdminPassword={{ARK_ADMIN_PASSWORD}}?Port={{SERVER_PORT}}?RCONPort={{RCON_PORT}}?QueryPort={{QUERY_PORT}}?RCONEnabled=True?MaxPlayers={{MAX_PLAYERS}}?GameModIds=\\\"{{MOD_ID}}\\\"$( [ \"$BATTLE_EYE\" == \"1\" ] || printf %s ' -NoBattlEye' ) -server -automanagedmods {{ARGS}} -log & ARK_PID=$! ; until echo \"waiting for rcon connection...\"; (rcon -t rcon -a 127.0.0.1:${RCON_PORT} -p ${ARK_ADMIN_PASSWORD})<&0 & wait $!; do sleep 5; done",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Waiting commands for 127.0.0.1:\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\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\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\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/serve\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n\r\n# Install SteamCMD into server folder\r\nmkdir -p \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\ntar -xzvf \/tmp\/steamcmd.tar.gz -C \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\n\r\n## create a symbolic link for loading mods\r\ncd \/mnt\/server\/Engine\/Binaries\/ThirdParty\/SteamCMD\/Linux\r\nln -sf ..\/..\/..\/..\/..\/Steam\/steamapps steamapps",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If specified, players must provide this password to join the server.",
|
||||
"env_variable": "ARK_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "If specified, players must provide this password (via the in-game console) to gain access to administrator commands on the server.",
|
||||
"env_variable": "ARK_ADMIN_PASSWORD",
|
||||
"default_value": "PleaseChangeMe",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Map",
|
||||
"description": "Available Maps: TheIsland, TheCenter, Ragnarok, ScorchedEarth_P, Aberration_P, Extinction, Valguero_P, Genesis, CrystalIsles, Gen2, Fjordur",
|
||||
"env_variable": "SERVER_MAP",
|
||||
"default_value": "TheIsland",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "ARK server name",
|
||||
"env_variable": "SESSION_NAME",
|
||||
"default_value": "A Pterodactyl Hosted ARK Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Rcon Port",
|
||||
"description": "ARK rcon port used by rcon tools.",
|
||||
"env_variable": "RCON_PORT",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "ARK query port used by steam server browser and ark client server browser.",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto-update server",
|
||||
"description": "Enable auto-updating from steam",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean|in:0,1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Battle Eye",
|
||||
"description": "Enable BattleEye",
|
||||
"env_variable": "BATTLE_EYE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean|in:0,1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "ARK steam app id for auto updates. Leave blank to avoid auto update.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "376030",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Arguments",
|
||||
"description": "Specify additional launch parameters such as -crossplay. You must include a dash - and separate each parameter with space: -crossplay -exclusivejoin",
|
||||
"env_variable": "ARGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "Specifies the order and which mods are loaded. ModIDs need to be comma-separated such as: ModID1,ModID2",
|
||||
"env_variable": "MOD_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|regex:\/^[0-9,]+$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Specifies the maximum amount of players able to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "12",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta Branch",
|
||||
"description": "Installs beta branch if specified.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:50",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
149
arma/arma3/README.md
Normal file
149
arma/arma3/README.md
Normal file
|
|
@ -0,0 +1,149 @@
|
|||
# Arma 3
|
||||
|
||||
***Updating your Egg? Please see [How to Update Egg](#how-to-update-egg) to avoid any issues!***
|
||||
___
|
||||
|
||||
## Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/aussieserverhosts">
|
||||
<img src="https://avatars.githubusercontent.com/u/65438932" width="50px;" alt=""/><br /><sub><b>Aussie Server Hosts</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=aussieserverhosts" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=aussieserverhosts" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/IAmSilK">
|
||||
<img src="https://avatars.githubusercontent.com/u/16708907" width="50px;" alt=""/><br /><sub><b>IAmSilK</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=IAmSilK" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=IAmSilK" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Yomanz">
|
||||
<img src="https://avatars.githubusercontent.com/u/5119107" width="50px;" alt=""/><br /><sub><b>Daave</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Yomanz" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Yomanz" title="Original Creator">⭐</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Yomanz" title="Retired from Development">💤</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
From Bohemia Interactive's [Website](https://arma3.com/):
|
||||
> Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war.
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Configurable to run 32 or 64-bit versions of the server
|
||||
- Max Players is configurable and able to be host enforced (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
- Able to download server updates on startup
|
||||
- Able to download, update, and load Steam Workshop mods on startup (\*see [Installation Requirements](#installation-requirements))
|
||||
- Accepts uploaded HTML modlist files exported from the Arma 3 Launcher to define mods to load on the server.
|
||||
- Also accepts manually listed mods, CDLCs, and server-side only mods.
|
||||
- Checks for mod updates against their Steam Workshop page's last update for quick and efficient update checks.
|
||||
- Automatically moves mod `.bikey`'s to the `/keys/` directory.
|
||||
- Configurable to download Creator DLCs
|
||||
- Configurable to run Beta/Performance binaries of the server (if desired; advanced users only)
|
||||
- Additional [Arma 3 startup parameters](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters) can be added to fine-tune performance
|
||||
- Configurable to run up to 5 Headless Clients in parallel with the main server (may require additional performance overhead)
|
||||
- [WHMCS](https://www.whmcs.com/) compatible (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
|
||||
___
|
||||
|
||||
### Installation Requirements
|
||||
|
||||
- A valid, **real** Steam account, with **Steam Guard turned off**, is required to install the server (default "anonymous" login cannot be used). This account *does not* need to own Arma 3. For security reasons it is [recommended by Valve](https://developer.valvesoftware.com/wiki/SteamCMD#With_a_Steam_account) that you create a new Steam account just for your dedicated servers.
|
||||
- For automatic Steam Workshop mod downloading to work, the Steam account *does* need to own Arma 3. However, this is optional functionality, and mods can be manually uploaded to the server if desired. Hosts may feel free to change the "Disable Mod Downloads/Updates" variable to `1` if they would not like to offer it's functionality to clients.
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
Default server ports are listed below, but the Main port can be any port. There are three more ports after the Main port that are relative to the Main port (For example: The BattlEye port is always 4 ports higher than the Main port). **All four ports are required for normal server behavior.** It is [recommended](https://community.bistudio.com/wiki/Arma_3:_Dedicated_Server#Port_Forwarding) that each server be 100 ports separate from each other.
|
||||
|
||||
| Port | Default (UDP) |
|
||||
|---------|---------|
|
||||
| **Arma 3 Game & VON (Main)** | 2302 |
|
||||
| Steam Query (+1) | 2303 |
|
||||
| Steam Port (+2) | 2304 |
|
||||
| BattleEye (+4) | 2306 |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No ARM support. | ARMA 3 is mainly CPU intensive. Contrary to popular belief, the server binary *can* run on multiple cores/threads. However, it's ability to manage asynchronous tasks and hyperthread is *very* limited, meaning additional cores/threads reach diminishing returns very quickly. In addition, it's ability to utilize all of the CPU allotted to it for AI processing seems to be limited as well. Therefore, a Headless Client ***and*** a properly written mission file are highly recommended if large amounts of AI units will be used. |
|
||||
| RAM | 2048 MiB | 3072 MiB (If used, every Headless Client uses an additional 2048 MB of RAM as well) |
|
||||
| Storage | 10 GB | 50+ GB (depends on how many mods are installed) |
|
||||
| Network | 0.512 Mbit/s/player | 1-5 Mbit/s/player |
|
||||
| Host OS | Most stable Linux OS branches should work | Using the latest kernel version for your installed OS can prevent some edge-case installation/boot issues. |
|
||||
|
||||
___
|
||||
|
||||
### RCON
|
||||
|
||||
External/Compatible RCON clients can be used to connect to the server if the following requirements are met:
|
||||
|
||||
1. An extra port is forwarded and assigned to the server in Pterodactyl. It is recommended to use the +5 port from the Main port (ie. if Main port is 2032, RCON port would be 2037). The +3 port **cannot** be used as it is reserved.
|
||||
2. `server.cfg` has `BattlEye = 1;`. Unfortunately, RCON cannot be used with BattlEye off.
|
||||
3. A `beserver_x64.cfg` file (or `beserver.cfg` if using 32-bit) is added to `/home/container/battleye/launch` with the following content:
|
||||
```
|
||||
RConPassword your_rcon_password
|
||||
RConPort your_rcon_port
|
||||
```
|
||||
|
||||
___
|
||||
|
||||
### Mounting Workshop Mods
|
||||
|
||||
Server hosts may wish to save space and avoid download issues by mounting large and/or common mods. Unfortunately, Arma only allows mods to be loaded from directories down-stream of the server binary (ie. `/home/container/*`. Docker limitations disallow Pterodactyl from mounting mounts into `/home/container/*`. The only way around this that I can think of is to create a symlink with a destination that is outside of this location. If anyone knows a way around this, please open an Issue to let us know.
|
||||
|
||||
___
|
||||
|
||||
### Recommended Egg Modifications
|
||||
|
||||
The following are highly recommended variable modifications you can make to the egg after importing it to your panel. While viewing this egg, simply go to the "Variables" tab of the egg editor to make these changes.
|
||||
|
||||
#### Default Steam Username & Password
|
||||
|
||||
- To make deploying servers easy (**or if you are using WHMCS**), it is recommended to edit the default values of "Steam Username" and "Steam Password" to your Steam account dedicated for hosting. This will make all newly installed servers use these credentials. **DO NOT** make these fields visible to the end user so that they can use their own Steam accounts; the panel will save their Steam credentials in **plain text**, which is a BIG NO NO for security and privacy.
|
||||
|
||||
#### Restrict Max Players
|
||||
|
||||
- If you would like to restrict the maximum number of players that can join your client's server, you can change the permissions of the "Max Players" variable so that clients can only view this value (and not edit it). It's default value can also be changed, or the value can be changed on a server-by-server basis as desired.
|
||||
___
|
||||
|
||||
### How to Update Egg
|
||||
|
||||
If you already have an Arma 3 egg installed on your panel, there are a couple things to consider before updating to this egg:
|
||||
- The Startup Command has changed, but Pterodactyl currently does not update this across all your existing servers. Servers will still boot with their old Startup Command, but the new HTML Modlist feature will not work, and depreciated variables for config files will be used. Servers will have to be manually updated to the new Startup Command via the Startup tab.
|
||||
- Startup Variables have been completely rehauled. While most important existing variables have retained their Environment Variable names, a lot of their titles and order have been adjusted. Simply updating your existing egg with this egg may lead to Startup Variables being terribly out of order and cluttered. Therefore, the following steps are recommended to avoid this:
|
||||
1. Change the name of your existing Arma 3 egg to "Arma 3 (Old)".
|
||||
2. Install this updated egg as a new egg in your nest.
|
||||
3. Make any egg modifications you would like. (\*see [Recommended Egg Modifications](#recommended-egg-modifications))
|
||||
4. Change all existing Arma 3 servers to the new egg via the Startup tab.
|
||||
5. Delete the old egg.
|
||||
59
arma/arma3/egg-arma3-config/basic.cfg
Normal file
59
arma/arma3/egg-arma3-config/basic.cfg
Normal file
|
|
@ -0,0 +1,59 @@
|
|||
// ****************************************************************************
|
||||
// *
|
||||
// ArmA 3 Basic Network Config File - basic.cfg *
|
||||
// *
|
||||
// More info about parameters: *
|
||||
// https://community.bistudio.com/wiki/basic.cfg *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// Defines network tuning parameters.
|
||||
//
|
||||
// This file is to be passed to the -cfg parameter on the command line for the server.
|
||||
// The following settings are the suggested settings.
|
||||
// Some settings are disabled (commented out) by default. Remove the // behind a setting to activate it.
|
||||
|
||||
// BANDWIDTH SETTINGS
|
||||
|
||||
// Bandwidth the server is guaranteed to have (in bps)
|
||||
// General guideline is NumberOfPlayers * 256kb
|
||||
// Default: 131072
|
||||
//MinBandwidth=5120000;
|
||||
// Bandwidth the server can never go above (in bps)
|
||||
// For a single server, use full network speed; decrease when running multiple servers
|
||||
//MaxBandwidth=10240000;
|
||||
|
||||
// PACKET SETTINGS
|
||||
|
||||
// Maximum number of packets per frame.
|
||||
// Increasing the value potentially decreases lag, but increases desync
|
||||
// Default: 128
|
||||
//MaxMsgSend=2048;
|
||||
// Maximum payload of guaranteed packet (in b)
|
||||
// Small messages are packed to larger packets
|
||||
// Guaranteed packets are used for non-repetitive events, like shooting
|
||||
// Lower value means more packets are sent, so less events will get combined
|
||||
// Default: 512
|
||||
MaxSizeGuaranteed=512;
|
||||
// Maximum payload of non-guaranteed packet (in b)
|
||||
// Increasing this value may improve bandwidth requirement, but may also increase lag
|
||||
// Largest factor in desync
|
||||
// Guidance is half of MaxSizeGuaranteed
|
||||
// Default: 256
|
||||
MaxSizeNonguaranteed=256;
|
||||
// Maximal size of a packet sent over the network
|
||||
// Only necessary if ISP forces lower packet size and there are connectivity issues
|
||||
// Default: 1400
|
||||
//class sockets{maxPacketSize=1400};
|
||||
|
||||
// SMOOTHNESS SETTINGS
|
||||
|
||||
// Minimal error required to send network updates for far units
|
||||
// Smaller values will make for smoother movement at long ranges, but will increase network traffic
|
||||
// Default: 0.003
|
||||
//MinErrorToSend=0.01;
|
||||
// Minimal error required to send network updates for near units
|
||||
// Using larger value can reduce traffic sent for near units
|
||||
// Also controls client to server traffic
|
||||
// Default: 0.01
|
||||
//MinErrorToSendNear=0.02;
|
||||
166
arma/arma3/egg-arma3-config/server.cfg
Normal file
166
arma/arma3/egg-arma3-config/server.cfg
Normal file
|
|
@ -0,0 +1,166 @@
|
|||
// ****************************************************************************
|
||||
// *
|
||||
// ArmA 3 Server Config File - server.cfg *
|
||||
// *
|
||||
// More info about parameters: *
|
||||
// https://community.bistudio.com/wiki/server.cfg *
|
||||
// *
|
||||
// ****************************************************************************
|
||||
|
||||
// Some settings are not listed here; see link above for extensive list.
|
||||
// Some settings are disabled (commented out). Remove the // to enable them.
|
||||
|
||||
// === GLOBAL SETTINGS ===
|
||||
|
||||
// Hostname for server.
|
||||
hostname = "Arma 3 Server";
|
||||
|
||||
// Server password - for private servers.
|
||||
password = "";
|
||||
|
||||
// Admin Password
|
||||
//passwordAdmin = "ADMINPASSWORD";
|
||||
|
||||
// Whitelisted Admins - Clients that do not need a password to login.
|
||||
//admins[] = { "UID OR steamID64", "0123456789", "9876543210" };
|
||||
|
||||
// Server Command Password - for scripting and certain mods.
|
||||
//serverCommandPassword = "COMMANDPASSWORD";
|
||||
|
||||
// Log File
|
||||
logFile = "server_console.log";
|
||||
// RPT File Timestamp Format - none | short | full
|
||||
timeStampFormat = "short";
|
||||
|
||||
// Message of the Day (MOTD)
|
||||
motd[] = {
|
||||
"Welcome to My Arma 3 Server",
|
||||
"TS3 Server: teamspeak.somewhere.com",
|
||||
"Web: www.example.com"
|
||||
};
|
||||
// MOTD Interval - Seconds between each message.
|
||||
motdInterval = 5;
|
||||
|
||||
// Missions Cycle
|
||||
class Missions
|
||||
{
|
||||
class Mission1
|
||||
{
|
||||
template = MP_ZGM_m11.Altis;
|
||||
difficulty = "Regular";
|
||||
class Params {};
|
||||
};
|
||||
class Mission2
|
||||
{
|
||||
template = MP_ZGM_m12.Stratis;
|
||||
difficulty = "Recruit";
|
||||
class Params {};
|
||||
};
|
||||
};
|
||||
// Whitelisted Missions - Only these missions can be selected on the mission select screen.
|
||||
//missionWhitelist[] = { "MP_ZGM_m11.Altis", "MP_ZGM_m12.Stratis" };
|
||||
|
||||
|
||||
// === JOINING RULES ===
|
||||
|
||||
// Server Slots
|
||||
maxPlayers = 32;
|
||||
|
||||
// Enable BattlEye
|
||||
BattlEye = 1;
|
||||
|
||||
// Addon Signature Verification - Verifies .pbos against .bisign files - 0 = Disabled | 2 = Enabled (v2)
|
||||
verifySignatures = 2;
|
||||
|
||||
// Kick Duplicate Player IDs - 0 = No | 1 = Yes
|
||||
kickDuplicate = 1;
|
||||
// Allow File Patching - 0 = No Clients | 1 = Headless Clients only | 2 = All Clients
|
||||
allowedFilePatching = 0;
|
||||
// Minimum Required Client Version
|
||||
//requiredBuild = 999999999;
|
||||
// LAN Mode
|
||||
loopback = 0;
|
||||
// UPNP Router Mode
|
||||
upnp = 0;
|
||||
|
||||
// Headless Client IP Whitelists
|
||||
headlessClients[] = { "127.0.0.1" };
|
||||
localClient[] = { "127.0.0.1" };
|
||||
|
||||
|
||||
// === INGAME SETTINGS ===
|
||||
|
||||
// Advanced Flight Model Enforcement - 0 = Up to player | 1 = Advanced model enforced | 2 = Simple model enforced
|
||||
forceRotorLibSimulation = 0;
|
||||
|
||||
// Disable In-Game Voice Chat (Voice over Network)
|
||||
disableVoN = 0;
|
||||
// VoN Codec - 0 = older SPEEX codec | 1 = newer IETF standard OPUS codec
|
||||
vonCodec = 1;
|
||||
// VoN Codec Quality
|
||||
// 0-10 = 8kHz (narrowband).
|
||||
// 11-20 = 16kHz (wideband).
|
||||
// 21-30 = 32kHz (ultrawideband).
|
||||
vonCodecQuality = 10;
|
||||
|
||||
// Persistent Mission - Keeps mission running when all players disconnect.
|
||||
persistent = 0;
|
||||
|
||||
// Allow Drawing in Map
|
||||
drawingInMap = 1;
|
||||
|
||||
// Enforce Difficulty - Use "Custom" for ServerProfile-defined custom difficulty
|
||||
forcedDifficulty = "regular";
|
||||
|
||||
|
||||
// === VOTING ===
|
||||
|
||||
// Allowed Vote Commands - Un-comment this to prevent voted commands (like vote-kick)
|
||||
//allowedVoteCmds[] = {};
|
||||
|
||||
// Start mission-voting when X number of players connect.
|
||||
voteMissionPlayers = 1;
|
||||
|
||||
// Vote Threshold - Percentage of votes needed to confirm a vote.
|
||||
voteThreshold = 0.33;
|
||||
|
||||
|
||||
// === CLIENT NETWORK HEALTH ===
|
||||
|
||||
// Seconds to wait before disconnecting a user which temporarily lost connection.
|
||||
disconnectTimeout = 90;
|
||||
// Max Desync Value
|
||||
maxdesync = 150;
|
||||
// Max Ping (ms)
|
||||
maxping = 200;
|
||||
// Max Packet Loss
|
||||
maxpacketloss = 50;
|
||||
|
||||
// Action to Take on Slow Network (defined above)
|
||||
// Defines if {<MaxPing>, <MaxPacketLoss>, <MaxDesync>, <DisconnectTimeout>} will be logged (0) or kicked (1)
|
||||
kickClientsOnSlowNetwork[] = { 1, 1, 0, 1 };
|
||||
|
||||
// Kick Duration (temp-ban) on Network Kick
|
||||
// Options {<manual kick>, <connectivity kick>, <BattlEye kick>, <harmless kick>} -- Timeout {>0 seconds; -1 until missionEnd; -2 until serverRestart}
|
||||
kickTimeout[] = { {0, -1},{1, 1},{2, 5},{3, 1} };
|
||||
|
||||
|
||||
// === SERVER SIDE SCRIPTING ===
|
||||
// See https://community.bistudio.com/wiki/ArmA:_Server_Side_Scripting
|
||||
|
||||
onUserConnected = "";
|
||||
onUserDisconnected = "";
|
||||
doubleIdDetected = "";
|
||||
|
||||
onUnsignedData = "kick (_this select 0)";
|
||||
onHackedData = "kick (_this select 0)";
|
||||
onDifferentData = "";
|
||||
|
||||
// Only allow files with these extensions to be loaded via loadFile command
|
||||
allowedLoadFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
// Only allow files with these extensions to be loaded via preprocessFile/preprocessFileLineNumber commands
|
||||
allowedPreprocessFileExtensions[] = {"hpp","sqs","sqf","fsm","cpp","paa","txt","xml","inc","ext","sqm","ods","fxy","lip","csv","kb","bik","bikb","html","htm","biedi"};
|
||||
// Only allow files with these extensions to be loaded via HTMLLoad command
|
||||
allowedHTMLLoadExtensions[] = {"htm","html","xml","txt"};
|
||||
// Leave commented to let missions/campaigns/addons decide what URIs are supported. Un-comment to define server-level restrictions for URIs
|
||||
//allowedHTMLLoadURIs = {};
|
||||
254
arma/arma3/egg-arma3.json
Normal file
254
arma/arma3/egg-arma3.json
Normal file
|
|
@ -0,0 +1,254 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-01-13T21:10:57+01:00",
|
||||
"name": "Arma 3",
|
||||
"author": "red_thirten@yahoo.com",
|
||||
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/games:arma3": "ghcr.io\/ptero-eggs\/games:arma3"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/{{SERVER_BINARY}} -ip=0.0.0.0 -port={{SERVER_PORT}} -profiles=.\/serverprofile -bepath=.\/ -cfg=basic.cfg -config=server.cfg -mod=\\\"{{CLIENT_MODS}}\\\" -serverMod=\\\"{{SERVERMODS}}\\\" \\\"{{STARTUP_PARAMS}}\\\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"\/\/password=\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"\/\/password =\": \"password = \\\"{{env.SERVER_PASSWORD}}\\\";\",\r\n \"maxPlayers\": \"maxPlayers = {{env.MAX_PLAYERS}};\",\r\n \"headlessClients\": \"headlessClients[] = { \\\"127.0.0.1\\\" };\",\r\n \"localClient\": \"localClient[] = { \\\"127.0.0.1\\\" };\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Host identity created.\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma 3 Egg - egg-arma3.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2022\/05\/22\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n# Install packages. Default packages below are skipped if using image noted above, thus speeding up the install process.\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n# Check for valid Steam credentials to download Arma 3 with (requires valid Steam account)\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_USER}\" == \"anonymous\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"INSTALLATION ERROR: A valid REAL Steam account is required to download the Arma 3 Dedicated Server.\"\r\n echo -e \"\\t(\\\"anonymous\\\" account cannot be used. Game ownership is not required.)\"\r\n exit 1\r\nfi\r\n\r\n# Download and install SteamCMD\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n# Install game server using SteamCMD\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server \"+login \\\"${STEAM_USER}\\\" \\\"${STEAM_PASS}\\\"\" +app_update ${STEAMCMD_APPID} ${STEAMCMD_EXTRA_FLAGS} validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n# Arma 3 setup\r\ncd \/mnt\/server\/\r\n[[ -f basic.cfg ]] || curl -sSLO ${BASIC_URL}\r\n[[ -f server.cfg ]] || curl -sSLO ${BASIC_URL%\/*}\/server.cfg\r\nchmod 644 basic.cfg server.cfg\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[REQUIRED] Steam Username",
|
||||
"description": "Used for installation and updates. Account does not need to own Arma 3, but MUST BE a VALID Steam account (anonymous login cannot be used). For security reasons it is recommended that you create a new Steam account just for your dedicated servers. *This info is not visible to the server owner.*",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "your_steam_username",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[REQUIRED] Steam Password",
|
||||
"description": "Used for installation and updates. Steam Guard MUST be completely TURNED OFF for install to complete successfully. *This info is not visible to the server owner, BUT IS stored in PLAIN TEXT. It is NOT advised to use a personal account; best to use a dummy account.*",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "your_steam_password",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Number of SteamCMD Retry Attempts",
|
||||
"description": "How many times SteamCMD should retry downloading a server or mod after a recoverable error. (ie. A particularly large mod like CUP or RHS download times out)",
|
||||
"env_variable": "STEAMCMD_ATTEMPTS",
|
||||
"default_value": "3",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Binary",
|
||||
"description": "Server binary to call on server start. (32-bit: arma3server | 64-bit: arma3server_x64)",
|
||||
"env_variable": "SERVER_BINARY",
|
||||
"default_value": "arma3server_x64",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:arma3server,arma3server_x64,arma3serverprofiling,arma3serverprofiling_x64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Extra Startup Parameters",
|
||||
"description": "See https:\/\/community.bistudio.com\/wiki\/Arma_3_Startup_Parameters for more info on valid flags for this field. \"-noLogs\" is recommended to prevent console rate-limit warnings.",
|
||||
"env_variable": "STARTUP_PARAMS",
|
||||
"default_value": "-noLogs",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|gt:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password required to join the server. Leave blank to have no password.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server or mod updates on startup, and updates if necessary. (1 Enable | 0 Disable)",
|
||||
"env_variable": "UPDATE_SERVER",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Mod Downloads\/Updates",
|
||||
"description": "If the Steam account does not own the base Arma 3 game, Steam Workshop mod downloads\/updates will not work. If so, this setting allows disabling of this feature to avoid errors. (1 Disable | 0 Enable)",
|
||||
"env_variable": "DISABLE_MOD_UPDATES",
|
||||
"default_value": "0",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Download Creator DLCs",
|
||||
"description": "Downloads\/Updates all the mod files required to run any CDLC during the next Automatic Update. DLCs can be enabled by adding their mod folder name to the Additional Mods startup variable. For example, add \"vn;\" to load the Prairie Fire CDLC. (1 Yes | 0 No)",
|
||||
"env_variable": "CDLC",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Modlist File (Exported from A3 Launcher)",
|
||||
"description": "Filename for an exported modlist. This file will be parsed for mod installation and loading. Upload your HTML file to the root directory (eg. \/home\/container\/modlist.html). Leave blank to disable loading mods from a modlist.",
|
||||
"env_variable": "MOD_FILE",
|
||||
"default_value": "modlist.html",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Additional Mods",
|
||||
"description": "A semicolon-separated list of additional mod folders to load. Useful for loading CDLCs or manually uploaded mods. This mod list will be loaded in addition to the Modlist File (if used). Any mods in this list that are in \"@workshopID\" form will also be included in Automatic Updates (if enabled). NO capital letters, spaces, or folders starting with a number! (ex. myMod;vn;@123456789;@987654321;etc;)",
|
||||
"env_variable": "MODIFICATIONS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Make Mod Files Lowercase",
|
||||
"description": "Every mod that is set to be loaded will have its folder and files changed to lowercase (to prevent errors). It is recommended to enable this for one server boot after copying a mod from a Windows machine to the server, or if mods seem to not be loading. (1 Enable | 0 Disable)",
|
||||
"env_variable": "MODS_LOWERCASE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
"description": "Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed. (1 Enable | 0 Disable)",
|
||||
"env_variable": "VALIDATE_SERVER",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Server-Side Only Mods",
|
||||
"description": "Mod folders to be used with the \"-serverMods\" startup option. They only run server-side and are not required by clients if \"verifySignatures\" is enabled. Any mods in this list that are in \"@workshopID\" form will also be included in Automatic Updates (if enabled). NO capital letters, spaces, or folders starting with a number! Each folder must be followed with a semicolon (ex. @123456789;@987654321;etc;)",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Optional Client-Side Mods",
|
||||
"description": "A semicolon-separated list of optional mods to load into the keys folder, but not include in server's mod parameter. Useful for allowing clients to connect to the server with or without the mod loaded. Mods in this list must be in \"@workshopID\" form (ex. @123456789;@987654321;). These will also be included in Automatic Updates (if enabled).",
|
||||
"env_variable": "OPTIONALMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Extra Flags for SteamCMD",
|
||||
"description": "[This will override \"Download Creator DLCs\" if used] Only used when checking for server updates, and typically used for grabbing beta builds. Example: -beta profiling -betapassword CautionSpecialProfilingAndTestingBranchArma3",
|
||||
"env_variable": "STEAMCMD_EXTRA_FLAGS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Headless Clients (HC)",
|
||||
"description": "Number of Headless Clients (0 - 5) to launch parallel with the server. Be sure to set the following \"HC Connect Password\" variable if your server is password locked. PLEASE NOTE: Using a headless client is only recommended for advanced users, adds extra overhead to your permitted server resources, and is only beneficial if a properly written, HC compliant, mission file is provided. See https:\/\/community.bistudio.com\/wiki\/Arma_3:_Headless_Client for more info.",
|
||||
"env_variable": "HC_NUM",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:0,5",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] HC Hide Console Output",
|
||||
"description": "Hides Headless Client console output (except for critical errors) to prevent nonessential console spam. (1 Hide | 0 Show)",
|
||||
"env_variable": "HC_HIDE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Clear HC Profiles Cache on Startup",
|
||||
"description": "Deletes all profiles from the \"\/home\/container\/serverprofile\/home\" directory on startup, except for the server's main \"Player\" profile. Recommended to enable when running HCs, because the profiles are generally unused and can cause HCs to crash if they develop errors. (1 Enable | 0 Disable)",
|
||||
"env_variable": "CLEAR_CACHE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Arma 3 Dedicated Server App ID",
|
||||
"description": "Used for installation and updates. Rarely needs to be changed.",
|
||||
"env_variable": "STEAMCMD_APPID",
|
||||
"default_value": "233780",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] basic.cfg URL",
|
||||
"description": "URL to a valid Arma 3 basic.cfg file. The \"Basic\" configuration file is used during server runtime for advanced network performance tuning. Because it is a required file, this URL is used to download it during installation, or if the file is found missing during startup.",
|
||||
"env_variable": "BASIC_URL",
|
||||
"default_value": "https:\/\/raw.githubusercontent.com\/ptero-eggs\/game-eggs\/main\/arma\/arma3\/egg-arma3-config\/basic.cfg",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|url",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
124
arma/arma_reforger/README.md
Normal file
124
arma/arma_reforger/README.md
Normal file
|
|
@ -0,0 +1,124 @@
|
|||
# Arma Reforger
|
||||
|
||||
***Server version currently marked as early access by the Arma developers! Check back often for egg updates as more features are added to the server software.***
|
||||
___
|
||||
|
||||
## Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Soljian">
|
||||
<img src="https://avatars.githubusercontent.com/u/4036453" width="50px;" alt=""/><br /><sub><b>Soljian</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Soljian" title="Contributor">💡</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
### Game Description
|
||||
|
||||
From Bohemia Interactive's [Website](https://reforger.armaplatform.com/):
|
||||
> Experience authentic Cold War combat and join friends in the struggle for a sprawling, 51 km² mid-Atlantic island — or take on the role of Game Master and create your very own scenarios for others to enjoy.
|
||||
___
|
||||
|
||||
### Egg Capabilities
|
||||
|
||||
- Configurable to automatically check for server updates on start via SteamCMD. Forcing validation is also configurable.
|
||||
- Able to download and load Arma Reforger Workshop mods on startup (requires manual editing of the `config.json` file).
|
||||
- Configuration of multiple common settings in the `config.json` file via Startup Parameters:
|
||||
- Server Name, Passwords, Scenario ID, Disable Third Person, Max FPS, and more...
|
||||
- Max Players is configurable and able to be host enforced (\*see [Recommended Egg Modifications](#restrict-max-players)).
|
||||
- [WHMCS](https://www.whmcs.com/) compatible.
|
||||
|
||||
___
|
||||
|
||||
### Server Ports
|
||||
|
||||
| Port | Default | Protocol | Required | Notes |
|
||||
|---------|---------|---------|---------|---------|
|
||||
| **Game** | 2001 | UDP | **Yes** | Primary port in Panel |
|
||||
| A2S | 17777 | UDP | No | Steam Query / Requires additional configuration in `config.json` |
|
||||
| RCON | 19999 | UDP | No | Requires additional configuration in `config.json` |
|
||||
|
||||
___
|
||||
|
||||
### Installation/System Requirements
|
||||
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | Recent x86/64 (AMD/Intel) processor. No ARM support. | Can use up to 300-600% CPU under load with uncapped FPS (set Max FPS to prevent). |
|
||||
| RAM | 3328 MiB | 6144-8192 MiB |
|
||||
| Storage | 5 GB | 7-10 GB (or more, depending on number of mods downloaded) |
|
||||
| Network | If node is behind a NAT, will require Egg Modification (\*see [Define Host Registered Bind Address](#define-host-registered-bind-address) | Wings Node is not behind a NAT |
|
||||
| Game Ownership | Not required to start or download mods. | ---- |
|
||||
|
||||
___
|
||||
|
||||
### How to Add Mods
|
||||
|
||||
Currently, adding mods to your server is tricky because there is very little documentation and it is difficult to find mod IDs. Hopefully this will change in the future, but following these steps will get it to work:
|
||||
|
||||
1. Open up a client copy of Arma Reforger and subscribe/download any mods you want to add to the server (at this time, I do not know of a way to find mod IDs without requiring use of the game).
|
||||
2. Once done, close the game and navigate to this folder on your computer: `My Documents\My Games\ArmaReforger\addons\`
|
||||
3. Aimlessly open each folder to find which mods you want to add and open each of their `ServerData.json` files in a text editor.
|
||||
4. Then, on your server panel, open the `config.json` file for editing.
|
||||
5. Find `"mods": []` and replace it with the following:
|
||||
|
||||
```json
|
||||
"mods": [
|
||||
{
|
||||
"modId": "591AF5BDA9F7CE8B",
|
||||
"name": "Capture & Hold",
|
||||
"version": "1.0.0"
|
||||
},
|
||||
{
|
||||
"modId": "9A51598BACFBFDE7",
|
||||
"name": "Explosive Goats Beta",
|
||||
"version": "0.5.42"
|
||||
}
|
||||
]
|
||||
```
|
||||
|
||||
6. Change `modId` to equal the `id` value found at the top of the `ServerData.json` file you found.
|
||||
7. Change `name` to equal the `name` value found at the **top** of the `ServerData.json` file you found.
|
||||
8. Change `version` to equal the `version` value found at the top of the `ServerData.json` file you found.
|
||||
9. Repeat for each mod you want to add by copy/pasting the `{}` sections like shown above. Make sure each `{}` section has a `,` after it, **except** for the last item.
|
||||
|
||||
The server will automatically download and run the mods you specify on startup. For mods that add scenarios, you can find the Scenario IDs listed as `gameId` in the `ServerData.json` file. Lastly, if a mod updates, you will likely have to change the `version` value to match it's new version. You may also have to delete the mod folder in the `addons/` directory to have it re-download (reports on this have been mixed).
|
||||
|
||||
___
|
||||
|
||||
### Recommended Egg Modifications
|
||||
|
||||
The following are highly recommended variable modifications you can make to the egg after importing it to your panel.
|
||||
|
||||
#### Define Host Registered Bind Address
|
||||
|
||||
Due to a current behavior of the Panel, `SERVER_IP` will not return the node's public IP address if it is behind a NAT; it will return its private IP address. Unfortunately at this time, Arma Reforger **requires** the server's public IP address to be strictly defined within `config.json`. If you know your node is behind a NAT (or you are finding your node's private IP address being added to `config.json`), you will need to edit this egg after importing it by following these steps:
|
||||
|
||||
1. As a panel admin, find and open the egg within your Nests tab.
|
||||
2. On the first tab "Configuration", find the "Configuration Files" box under the "Process Management" section.
|
||||
3. Carefully (as to not touch anything else), find `{{server.build.default.ip}}` and replace it with your node's public IP address. If done correctly, the line should now look something like this:
|
||||
|
||||
```json
|
||||
"publicAddress": "123.4.56.789",
|
||||
```
|
||||
|
||||
#### Restrict Max Players
|
||||
|
||||
If you would like to restrict the maximum number of players that can join your client's server, you can change the permissions of the "Max Players" variable so that clients can only view this value (and not edit it). It's default value can also be changed, or the value can be changed on a server-by-server basis as desired.
|
||||
184
arma/arma_reforger/egg-arma-reforger.json
Normal file
184
arma/arma_reforger/egg-arma-reforger.json
Normal file
|
|
@ -0,0 +1,184 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-07-03T21:46:20-07:00",
|
||||
"name": "Arma Reforger",
|
||||
"author": "red_thirten@yahoo.com",
|
||||
"description": "Experience authentic Cold War combat and join friends in the struggle for a sprawling, 51 km\u00b2 mid-Atlantic island \u2014 or take on the role of Game Master and create your very own scenarios for others to enjoy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "sed -i 's\/\"true\"\/true\/g; s\/\"false\"\/false\/g' config.json; .\/ArmaReforgerServer -gproj .\/addons\/data\/ArmaReforger.gproj -config .\/config.json -profile .\/profile -backendlog -nothrow -listScenarios -logStats $(({{LOG_INTERVAL}}*1000)) -maxFPS {{MAX_FPS}} -addonTempDir .\/tmp",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"bindAddress\": \"0.0.0.0\",\r\n \"bindPort\": \"{{server.build.default.port}}\",\r\n \"publicAddress\": \"{{server.build.default.ip}}\",\r\n \"publicPort\": \"{{server.build.default.port}}\",\r\n \"game.name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"game.password\": \"{{server.build.env.SERVER_PASS}}\",\r\n \"game.passwordAdmin\": \"{{server.build.env.ADMIN_PASS}}\",\r\n \"game.scenarioId\": \"{{server.build.env.SCENARIO_ID}}\",\r\n \"game.maxPlayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"game.visible\": \"{{server.build.env.VISIBLE}}\",\r\n \"game.gameProperties.disableThirdPerson\": \"{{server.build.env.DISABLE_THIRD}}\",\r\n \"game.gameProperties.fastValidation\": true,\r\n \"game.gameProperties.battlEye\": \"{{server.build.env.BATTLEYE}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Starting RPL server\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## File: Pterodactyl Arma Reforger Egg - egg-pterodactyl-arma-reforger.json\r\n## Author: David Wolfe (Red-Thirten)\r\n## Date: 2024\/07\/03\r\n## License: MIT License\r\n## Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n## Download and install SteamCMD\r\nexport HOME=\/mnt\/server\r\ncd \/tmp\r\nmkdir -p $HOME\/steamcmd $HOME\/steamapps\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C $HOME\/steamcmd\r\ncd $HOME\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\nchown -R root:root \/mnt\r\n\r\n# Install\/Verify 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} +app_update 1007 $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) validate +quit\r\n\r\n# Set up 32 and 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk{32,64}\r\ncp -v linux32\/steamclient.so \/mnt\/server\/.steam\/sdk32\/steamclient.so\r\ncp -v linux64\/steamclient.so \/mnt\/server\/.steam\/sdk64\/steamclient.so\r\n\r\n## Arma Reforger setup\r\n# Check for successful installation\r\nif [[ ! -f $HOME\/ArmaReforgerServer ]]; then\r\n echo -e \"\\n\\nSteamCMD failed to install the Arma Reforger Dedicated Server!\"\r\n echo -e \"\\tTry reinstalling the server again.\\n\"\r\n exit 1\r\nfi\r\n\r\nmkdir -p $HOME\/profile $HOME\/tmp\r\n\r\necho -e 'Creating default \"config.json\" configuration file...'\r\ncat > $HOME\/config.json << EOF\r\n{\r\n\t\"bindAddress\": \"0.0.0.0\",\r\n\t\"bindPort\": ${SERVER_PORT},\r\n\t\"publicAddress\": \"${SERVER_IP}\",\r\n\t\"publicPort\": ${SERVER_PORT},\r\n\t\"game\": {\r\n\t\t\"name\": \"${SERVER_NAME}\",\r\n\t\t\"password\": \"${SERVER_PASS}\",\r\n\t\t\"passwordAdmin\": \"${ADMIN_PASS}\",\r\n\t\t\"admins\" : [],\r\n\t\t\"scenarioId\": \"${SCENARIO_ID}\",\r\n\t\t\"maxPlayers\": ${MAX_PLAYERS},\r\n\t\t\"visible\": ${VISIBLE},\r\n\t\t\"gameProperties\": {\r\n\t\t\t\"serverMaxViewDistance\": 2500,\r\n\t\t\t\"serverMinGrassDistance\": 50,\r\n\t\t\t\"networkViewDistance\": 1000,\r\n\t\t\t\"disableThirdPerson\": ${DISABLE_THIRD},\r\n\t\t\t\"fastValidation\": true,\r\n\t\t\t\"battlEye\": ${BATTLEYE},\r\n\t\t\t\"VONDisableUI\": false,\r\n\t\t\t\"VONDisableDirectSpeechUI\": false\r\n\t\t},\r\n\t\t\"mods\": []\r\n\t}\r\n}\r\nEOF\r\n\r\necho -e \"\\nArma Reforger Dedicated Server successfully installed!\\n\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "\/bin\/bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server or mod updates on startup, and updates if necessary.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Region",
|
||||
"description": "Region listed in the server browser. ISO 3166-1 alpha-2 codes can be used in this field.",
|
||||
"env_variable": "REGION",
|
||||
"default_value": "US",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:AD,AE,AF,AG,AI,AL,AM,AO,AQ,AR,AS,AT,AU,AW,AX,AZ,BA,BB,BD,BE,BF,BG,BH,BI,BJ,BL,BM,BN,BO,BQ,BR,BS,BT,BV,BW,BY,BZ,CA,CC,CD,CF,CG,CH,CI,CK,CL,CM,CN,CO,CR,CU,CV,CW,CX,CY,CZ,DE,DJ,DK,DM,DO,DZ,EC,EE,EG,EH,ER,ES,ET,EU,FI,FJ,FK,FM,FO,FR,GA,GB,GD,GE,GF,GG,GH,GI,GL,GM,GN,GP,GQ,GR,GS,GT,GU,GW,GY,HK,HM,HN,HR,HT,HU,ID,IE,IL,IM,IN,IO,IQ,IR,IS,IT,JE,JM,JO,JP,KE,KG,KH,KI,KM,KN,KP,KR,KW,KY,KZ,LA,LB,LC,LI,LK,LR,LS,LT,LU,LV,LY,MA,MC,MD,ME,MF,MG,MH,MK,ML,MM,MN,MO,MP,MQ,MR,MS,MT,MU,MV,MW,MX,MY,MZ,NA,NC,NE,NF,NG,NI,NL,NO,NP,NR,NU,NZ,OM,PA,PE,PF,PG,PH,PK,PL,PM,PN,PR,PS,PT,PW,PY,QA,RE,RO,RS,RU,RW,SA,SB,SC,SD,SE,SG,SH,SI,SJ,SK,SL,SM,SN,SO,SR,SS,ST,SV,SX,SY,SZ,TC,TD,TF,TG,TH,TJ,TK,TL,TM,TN,TO,TR,TT,TV,TW,TZ,UA,UG,UM,US,UY,UZ,VA,VC,VE,VG,VI,VN,VU,WF,WS,YE,YT,ZA,ZM,ZW",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name displayed in the server browser.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Arma Reforger Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed to join the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|between:1,256",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password required for clients to enter before they can join the server. Leave empty to have no password.",
|
||||
"env_variable": "SERVER_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Scenario ID",
|
||||
"description": "ID of scenario to run\/play. Valid IDs can be viewed in the console upon startup of the server.",
|
||||
"env_variable": "SCENARIO_ID",
|
||||
"default_value": "{ECC61978EDCC2B5A}Missions\/23_Campaign.conf",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Joinable",
|
||||
"description": "Set if the session can be selected through the auto join feature.",
|
||||
"env_variable": "AUTO_JOINABLE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Visible in Server Browser",
|
||||
"description": "Set the visibility of the server in the Server Browser.",
|
||||
"env_variable": "VISIBLE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Enable BattlEye",
|
||||
"description": "Enables the anti-cheat engine on the server and requires all clients to be running it.",
|
||||
"env_variable": "BATTLEYE",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Disable Third Person",
|
||||
"description": "",
|
||||
"env_variable": "DISABLE_THIRD",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Max FPS",
|
||||
"description": "Sets a maximum FPS limit for the server, saving performance in some cases. Leave empty for no limit.",
|
||||
"env_variable": "MAX_FPS",
|
||||
"default_value": "120",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|integer|gt:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Log FPS Interval",
|
||||
"description": "How often (in seconds) to log the FPS and other debug stats to the console. Set to 0 to disable.",
|
||||
"env_variable": "LOG_INTERVAL",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:0",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Repair] Validate Server Files",
|
||||
"description": "\"true\" to enable; empty to disable. Validates all server files when Automatic Updates is enabled. Note: This will significantly increase server startup times, so it is recommended to only enable this when needed.",
|
||||
"env_variable": "VALIDATE",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Arma Reforger Dedicated Server App ID",
|
||||
"description": "Used for installation and updates. Rarely needs to be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1874900",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
17
aska/Aska/README.md
Normal file
17
aska/Aska/README.md
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
# Aska
|
||||
|
||||
Lay claim to unspoiled lands and pave the way for a fierce Viking tribe. Craft the ultimate settlement solo or together with up to x3 friends. Trust in the Gods and the power of the Eye of Odin and summon intelligent NPC villagers to provide camaraderie and relief from the toils of survival
|
||||
|
||||
## Server Ports
|
||||
|
||||
Aska makes use of a relay service provided by the Photon Fusion middleware. Therefore it doesn't request any ports.
|
||||
|
||||
At the time of writing, there were two ports configurable in the server's config file.
|
||||
- A "steam game port" that the server ignores and doesn't listen on at all.
|
||||
- A "steam query port" that listens but doesn't appear to respond to any type of traffic.
|
||||
|
||||
### Notes
|
||||
|
||||
A GSLT (Game Server Login Token) is required for the server to authenticate with the network.
|
||||
The token needed for authentication is requested here https://steamcommunity.com/dev/managegameservers
|
||||
For the Aska game (App ID: 1898300)
|
||||
144
aska/Aska/egg-aska.json
Normal file
144
aska/Aska/egg-aska.json
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-04-13T14:25:32+00:00",
|
||||
"name": "Aska",
|
||||
"author": "eggs@purpleflaghosting.com",
|
||||
"description": "Lay claim to unspoiled lands and pave the way for a fierce Viking tribe. Craft the ultimate settlement solo or together with up to x3 friends. Trust in the Gods and the power of the Eye of Odin and summon intelligent NPC villagers to provide camaraderie and relief from the toils of survival",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/yolks:wine_latest": "ghcr.io\/ptero-eggs\/yolks:wine_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "wine .\/AskaServer.exe -propertiesPath \"server properties.txt\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"server properties.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"display name =\": \"display name = {{env.DISPLAY_NAME}}\",\r\n \"server name =\": \"server name = {{env.SERVER_NAME}}\",\r\n \"password =\": \"password ={{env.SERVER_PASSWORD}}\",\r\n \"region =\": \"region = {{env.SERVER_REGION}}\",\r\n \"keep server world alive =\": \"keep server world alive = {{env.KEEP_SERVER_WORLD_ALIVE}}\",\r\n \"authentication token =\": \"authentication token = {{env.STEAM_GSLT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Activating game state: GameState_Boot\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/parkervcp\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Display Name",
|
||||
"description": "Display name is the name the session displays in the session list for new saves, for old saves it will take the name from the save itself",
|
||||
"env_variable": "DISPLAY_NAME",
|
||||
"default_value": "A Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Override for the host name that is displayed in the session list. if left blank it will use what would normally be used when hosting from this machine",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "A Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "The password this session will have",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Region",
|
||||
"description": "The region to open this session on. Possible options: default, asia, japan, europe, south america, south korea, usa east, usa west, australia, canada east, hong kong, india, turkey, united arab emirates, usa south central.\r\n\r\nLeave default to ping the best region",
|
||||
"env_variable": "SERVER_REGION",
|
||||
"default_value": "default",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Server Login Token",
|
||||
"description": "The token needed to authenticate the game server to the steam network.\r\nhttps:\/\/steamcommunity.com\/dev\/managegameservers and use App ID 1898300",
|
||||
"env_variable": "STEAM_GSLT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Keep Server World Alive",
|
||||
"description": "If set to true when the session is open, the world is also updating, even without players, if set to false, the world loads when the first player joins and the world unloads when the last player leaves.",
|
||||
"env_variable": "KEEP_SERVER_WORLD_ALIVE",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "SRCDS_APPID",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "3246670",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20|in:3246670",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "WINDOWS_INSTALL",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20|in:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SteamAppId",
|
||||
"description": "Required for the game server to connect correctly to the steam API. The game reads this from the environment when connecting to steam.",
|
||||
"env_variable": "SteamAppId",
|
||||
"default_value": "1898300",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20|in:1898300",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Wine Debug",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Enable automatic updates on boot.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
20
assetto_corsa/assetto_corsa/README.md
Normal file
20
assetto_corsa/assetto_corsa/README.md
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
# Assetto Corsa
|
||||
|
||||
Assetto Corsa is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Asseto Corsa requires two ports, game port is UDP and WEB HTTP port is TCP.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 9600 |
|
||||
| HTTP | 8081 |
|
||||
|
||||
### Notes
|
||||
|
||||
<!--Notes about the server ports.-->
|
||||
9600 is the default port, but any port can be used.
|
||||
|
||||
## Freeroam + AI
|
||||
This egg uses: [GitHub](https://github.com/compujuckel/AssettoServer) [Website](https://assettoserver.org/)
|
||||
47
assetto_corsa/assetto_corsa/cfg/extra_cfg.yml
Normal file
47
assetto_corsa/assetto_corsa/cfg/extra_cfg.yml
Normal file
|
|
@ -0,0 +1,47 @@
|
|||
UseSteamAuth: false
|
||||
ValidateDlcOwnership: []
|
||||
MandatoryClientSecurityLevel: 0
|
||||
EnableAntiAfk: true
|
||||
MaxAfkTimeMinutes: 10
|
||||
AfkKickBehavior: PlayerInput
|
||||
MaxPing: 500
|
||||
MaxPingSeconds: 10
|
||||
ForceLights: false
|
||||
NetworkBubbleDistance: 500.0
|
||||
OutsideNetworkBubbleRefreshRateHz: 4
|
||||
EnableServerDetails: true
|
||||
ServerDescription: ""
|
||||
EnableRealTime: false
|
||||
EnableWeatherFx: false
|
||||
RainTrackGripReductionPercent: 0.0
|
||||
EnableAi: false
|
||||
GeoParamsCountryOverride: null
|
||||
EnablePlugins: []
|
||||
IgnoreConfigurationErrors:
|
||||
DisplayErrorsToUsers: true
|
||||
LogErrorsToConsole: true
|
||||
LogErrorsToFile: false
|
||||
EnableClientMessages: false
|
||||
EnableCustomUpdate: false
|
||||
PlayerLoadingTimeoutMinutes: 10
|
||||
LokiSettings: null
|
||||
RconPort: 0
|
||||
DebugWelcomeMessage: false
|
||||
ForceServerTrackParams: false
|
||||
EnableAlternativeCarChecksums: false
|
||||
EnableLegacyPluginInterface: false
|
||||
EnableUPnP: false
|
||||
LoadingImageUrl: null
|
||||
UserGroups:
|
||||
default_blacklist: blacklist.txt
|
||||
default_whitelist: whitelist.txt
|
||||
default_admins: admins.txt
|
||||
BlacklistUserGroup: default_blacklist
|
||||
WhitelistUserGroup: default_whitelist
|
||||
AdminUserGroup: default_admins
|
||||
CorsAllowedOrigins: null
|
||||
AiParams:
|
||||
Aggression: 0.5
|
||||
MinRacingSkill: 0.0
|
||||
MaxRacingSkill: 1.0
|
||||
Consistency: 0.5
|
||||
74
assetto_corsa/assetto_corsa/cfg/server_cfg.ini
Normal file
74
assetto_corsa/assetto_corsa/cfg/server_cfg.ini
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
[SERVER]
|
||||
NAME=AC_Server
|
||||
CARS=bmw_m3_e30
|
||||
CONFIG_TRACK=
|
||||
TRACK=magione
|
||||
SUN_ANGLE=48
|
||||
PASSWORD=
|
||||
ADMIN_PASSWORD=mypassword
|
||||
UDP_PORT=25565
|
||||
TCP_PORT=25565
|
||||
HTTP_PORT=25566
|
||||
PICKUP_MODE_ENABLED=1
|
||||
LOOP_MODE=1
|
||||
SLEEP_TIME=1
|
||||
CLIENT_SEND_INTERVAL_HZ=18
|
||||
SEND_BUFFER_SIZE=0
|
||||
RECV_BUFFER_SIZE=0
|
||||
RACE_OVER_TIME=180
|
||||
KICK_QUORUM=85
|
||||
VOTING_QUORUM=80
|
||||
VOTE_DURATION=20
|
||||
BLACKLIST_MODE=1
|
||||
FUEL_RATE=100
|
||||
DAMAGE_MULTIPLIER=100
|
||||
TYRE_WEAR_RATE=100
|
||||
ALLOWED_TYRES_OUT=2
|
||||
ABS_ALLOWED=1
|
||||
TC_ALLOWED=1
|
||||
STABILITY_ALLOWED=0
|
||||
AUTOCLUTCH_ALLOWED=0
|
||||
TYRE_BLANKETS_ALLOWED=0
|
||||
FORCE_VIRTUAL_MIRROR=1
|
||||
REGISTER_TO_LOBBY=1
|
||||
MAX_CLIENTS=18
|
||||
UDP_PLUGIN_LOCAL_PORT=0
|
||||
UDP_PLUGIN_ADDRESS=
|
||||
AUTH_PLUGIN_ADDRESS=
|
||||
LEGAL_TYRES=SV
|
||||
|
||||
[PRACTICE]
|
||||
NAME=Practice
|
||||
TIME=10
|
||||
IS_OPEN=1
|
||||
|
||||
[QUALIFY]
|
||||
NAME=Qualify
|
||||
TIME=10
|
||||
IS_OPEN=1
|
||||
|
||||
[RACE]
|
||||
NAME=Race
|
||||
LAPS=5
|
||||
WAIT_TIME=60
|
||||
IS_OPEN=1
|
||||
|
||||
[DYNAMIC_TRACK]
|
||||
SESSION_START=89
|
||||
RANDOMNESS=3
|
||||
SESSION_TRANSFER=80
|
||||
LAP_GAIN=50
|
||||
|
||||
[WEATHER_0]
|
||||
GRAPHICS=3_clear
|
||||
BASE_TEMPERATURE_AMBIENT=18
|
||||
BASE_TEMPERATURE_ROAD=6
|
||||
VARIATION_AMBIENT=1
|
||||
VARIATION_ROAD=1
|
||||
|
||||
[WEATHER_1]
|
||||
GRAPHICS=7_heavy_clouds
|
||||
BASE_TEMPERATURE_AMBIENT=15
|
||||
BASE_TEMPERATURE_ROAD=-1
|
||||
VARIATION_AMBIENT=1
|
||||
VARIATION_ROAD=1
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-05-05T11:08:46+02:00",
|
||||
"name": "Assetto Corsa (Freeroam + AI)",
|
||||
"author": "josdekurk@gmail.com",
|
||||
"description": "Custom Assetto Corsa server with focus on freeroam",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Dotnet_8": "ghcr.io\/ptero-eggs\/yolks:dotnet_8"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/AssettoServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"SERVER.NAME\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"SERVER.PASSWORD\": \"{{server.build.env.SERVER_PASSWORD}}\",\r\n \"SERVER.ADMIN_PASSWORD\": \"{{server.build.env.ADMIN_PASSWORD}}\",\r\n \"SERVER.HTTP_PORT\": \"{{server.build.env.HTTP_PORT}}\",\r\n \"SERVER.MAX_CLIENTS\": \"{{server.build.env.MAX_CLIENTS}}\",\r\n \"SERVER.UDP_PORT\": \"{{server.build.default.port}}\",\r\n \"SERVER.TCP_PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Starting update loop with an update rate of\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl git jq tar\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/compujuckel\/AssettoServer\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/compujuckel\/AssettoServer\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\nVERSION=latest\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i linux | head -1)\r\n fi\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ncurl -sSL -o assetto-server-linux.tar.gz ${DOWNLOAD_URL}\r\n\r\ntar xvf assetto-server-linux.tar.gz\r\nrm assetto-server-linux.tar.gz\r\nchmod +x AssettoServer\r\n\r\nmkdir cfg\/\r\ncd cfg\/\r\n\r\n[ -f \"server_cfg.ini\" ] || curl -sSL -o \"server_cfg.ini\" \"https:\/\/raw.githubusercontent.com\/ptero-eggs\/game-eggs\/main\/assetto_corsa\/cfg\/server_cfg.ini\"\r\n[ -f \"extra_cfg.yml\" ] || curl -sSL -o \"extra_cfg.yml\" \"https:\/\/raw.githubusercontent.com\/ptero-eggs\/game-eggs\/main\/assetto_corsa\/cfg\/extra_cfg.yml\"\r\n[ -f \"entry_list.ini\" ] || touch entry_list.ini\r\n\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server name",
|
||||
"description": "The name off the server",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "AC_Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Http port",
|
||||
"description": "",
|
||||
"env_variable": "HTTP_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|numeric|",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max clients",
|
||||
"description": "",
|
||||
"env_variable": "MAX_CLIENTS",
|
||||
"default_value": "18",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric|between:2,25",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
134
assetto_corsa/assetto_corsa/egg-assetto-corsa.json
Normal file
134
assetto_corsa/assetto_corsa/egg-assetto-corsa.json
Normal file
|
|
@ -0,0 +1,134 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-10-14T02:10:45+00:00",
|
||||
"name": "Assetto Corsa",
|
||||
"author": "admin@softwarenoob.com",
|
||||
"description": "Assetto Corsa (Italian for \"Race Setup\") is a sim racing video game developed by the Italian video game developer Kunos Simulazioni. It is designed with an emphasis on a realistic racing experience with support for extensive customization and moddability",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/acServer",
|
||||
"config": {
|
||||
"files": "{\r\n \"cfg\/server_cfg.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"NAME\": \"NAME={{server.build.env.HOSTNAME}}\",\r\n \"PASSWORD\": \"PASSWORD={{server.build.env.PASSWORD}}\",\r\n \"ADMIN_PASSWORD\": \"ADMIN_PASSWORD={{server.build.env.ADMIN_PASSWORD}}\",\r\n \"UDP_PORT\": \"UDP_PORT={{server.build.default.port}}\",\r\n \"TCP_PORT\": \"TCP_PORT={{server.build.default.port}}\",\r\n \"HTTP_PORT\": \"HTTP_PORT={{server.build.env.HTTP_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nif [ \"${STEAM_USER}\" == \"anonymous\" ]; then\r\n echo -e \"ERROR - STEAM USER NOT SET\\n\"\r\n echo -e \"Steam account must have the dedicated server in library to install and host the game\\n\"\r\n echo -e \"You must configure Steam account in the server startup variables, after that reinstall the server\\n\"\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "A steam username of an account that owns the game is required",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "Steam User Password",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Auth Code",
|
||||
"description": "Steam Auth Code required if the Steam Account is using Steam Auth. Slow installs will cause the code to expire before it can be used.",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Name of the server",
|
||||
"env_variable": "HOSTNAME",
|
||||
"default_value": "Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:45",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If enabled players must enter the password to join the server",
|
||||
"env_variable": "PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:40",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "Used to login as server administrator, type \/help in-game for more",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40|min:8",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "HTTP Port",
|
||||
"description": "HTTP Port",
|
||||
"env_variable": "HTTP_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|int",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "302550",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "autoupdate Server on start or restart. 1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows Install",
|
||||
"description": "Required to always install and update the correct version of the game.",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
15
astro_colony/astro_colony/README.md
Normal file
15
astro_colony/astro_colony/README.md
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
# [Astro Colony](https://astrocolony.com/)
|
||||
|
||||
Explore endless Universe and create the most efficient constellation of colonies. Build conveyor systems to automate production. Take care of Astronauts and their needs! Establish new colonies as part of intergalactic simulation.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> It’s possible to change the query port but changing the game port from **7777** will result in not being able to join the server!
|
||||
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| Game | 7777 |
|
||||
| Query | 27015 |
|
||||
182
astro_colony/astro_colony/egg-astro-colony.json
Normal file
182
astro_colony/astro_colony/egg-astro-colony.json
Normal file
|
|
@ -0,0 +1,182 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-12-18T13:37:17+00:00",
|
||||
"name": "Astro Colony",
|
||||
"author": "limmek@swedon.se",
|
||||
"description": "Explore endless Universe and create the most efficient constellation of colonies. Build conveyor systems to automate production. Take care of Astronauts and their needs! Establish new colonies as part of intergalactic simulation.",
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/AstroColony\/Binaries\/Linux\/AstroColonyServer -log -QueryPort={{SERVER_QUERY_PORT}} -SteamServerName=\\\"{{SERVER_NAME}}\\\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"AstroColony\/Saved\/Config\/LinuxServer\/ServerSettings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/ACFeature.EHServerSubsystem].ServerPassword\": \"{{env.SERVER_PASSWORD}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].Seed\": \"{{env.SERVER_MAPSEED}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].MapName\": \"{{env.SERVER_MAPNAME}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].MaxPlayers\": \"{{env.SERVER_MAXPLAYERS}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].ShouldLoadLatestSavegame\": \"{{env.SERVER_LOADLATESTSAVEGAME}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].AdminList\": \"{{env.SERVER_ADMINS}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].SharedTechnologies\": \"{{env.SERVER_SHAREDTECHNOLOGIES}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].OxygenConsumption\": \"{{env.SERVER_OXYGENCONSUMPTION}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].FreeConstruction\": \"{{env.SERVER_FREECONSTRUCTION}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].AutosaveInterval\": \"{{env.SERVER_AUTOSAVEINTERVAL}}\",\r\n \"[\/Script\/ACFeature.EHServerSubsystem].AutosavesCount\": \"{{env.SERVER_AUTOSAVESCOUNT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"server create success\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates tar unzip lib32gcc-s1 wget\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n# Configuration files are managed by Pterodactyl's ini parser.\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "[Advanced] Steam App ID",
|
||||
"description": "Steam App ID used for installation and updates. Rarely needs to be changed.",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2934900",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:2934900",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Change the server name.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Astro Colony Dedicated Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Set the game password. Leave empty to make server public.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Amount of max allowed players.",
|
||||
"env_variable": "SERVER_MAXPLAYERS",
|
||||
"default_value": "5",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|between:1,10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Seed",
|
||||
"description": "Set the map seed.",
|
||||
"env_variable": "SERVER_MAPSEED",
|
||||
"default_value": "7300",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|digits_between:1,10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Map Name",
|
||||
"description": "Map name displayed in serverlist",
|
||||
"env_variable": "SERVER_MAPNAME",
|
||||
"default_value": "YourMapName",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosave Interval",
|
||||
"description": "Minutes between auto save (5.0 = 5 minutes)",
|
||||
"env_variable": "SERVER_AUTOSAVEINTERVAL",
|
||||
"default_value": "5.0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autosaves Count",
|
||||
"description": "How many auto save files to keep.",
|
||||
"env_variable": "SERVER_AUTOSAVESCOUNT",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin List",
|
||||
"description": "List of server administrators only (steamID64s) allowed, separatet by comma.",
|
||||
"env_variable": "SERVER_ADMINS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Should Load Latest Savegame",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_LOADLATESTSAVEGAME",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Shared Technologies",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_SHAREDTECHNOLOGIES",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Oxygen Consumption",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_OXYGENCONSUMPTION",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Free Construction",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_FREECONSTRUCTION",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Disabling or enabling automated updates on boot",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Query Port",
|
||||
"description": "UDP port for Steam server list features.",
|
||||
"env_variable": "SERVER_QUERY_PORT",
|
||||
"default_value": "27015",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
40
astroneer/astroneer/README.md
Normal file
40
astroneer/astroneer/README.md
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
# Astroneer
|
||||
|
||||
Steam description : Explore and reshape distant worlds! Astroneer is set during the gold rush of the 25th century: players must explore the farthest reaches of space, risking their lives and resources in a hostile environment for a chance to become a millionaire.
|
||||
|
||||
## Install notes
|
||||
|
||||
The following variables are required to prevent the server to crash on startup :
|
||||
* Public IP : Used to register the server. Must be the IP used to join the server.
|
||||
* Server Owner Name : Steam username of the server owner. It also set the given user as owner and administrator of the server.
|
||||
* Server Owner Guid : Steam id of the server owner. It also set the given user as owner and administrator of the server. ((Steam FAQ)[https://help.steampowered.com/en/faqs/view/2816-BE67-5B69-0FEC])
|
||||
|
||||
## Minimum RAM warning
|
||||
|
||||
Astroneer required at least 700MiB to run. If more than one player will connect, 1GiB seems to be a minimum.
|
||||
|
||||
## Minimum Storage warning
|
||||
|
||||
Astroneer required at least 3GiB. The size may increase with larger save file.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Astroneer requires a single port to run.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 27000 |
|
||||
|
||||
### Notes
|
||||
|
||||
27000 is the default port, but any port can be used.
|
||||
|
||||
|
||||
## Client Configuration
|
||||
|
||||
To be able to connect to the server you need to edit Engine.ini (located at %LocalAppData%\Astro\Saved\Config\WindowsNoEditor\Engine.ini) on every player's computer by adding the following :
|
||||
|
||||
```
|
||||
[SystemSettings]
|
||||
net.AllowEncryption=False
|
||||
```
|
||||
122
astroneer/astroneer/egg-astroneer-dedicated-server.json
Normal file
122
astroneer/astroneer/egg-astroneer-dedicated-server.json
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-02-20T09:47:43+01:00",
|
||||
"name": "Astroneer Dedicated Server",
|
||||
"author": "melethainiel.aerin@gmail.com",
|
||||
"description": "A game of aerospace industry and interplanetary exploration.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:proton": "ghcr.io\/ptero-eggs\/steamcmd:proton"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "proton run .\/Astro\/Binaries\/Win64\/AstroServer-Win64-Shipping.exe",
|
||||
"config": {
|
||||
"files": "{\r\n \"Astro\/Saved\/Config\/WindowsServer\/Engine.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"url.Port\": \"{{server.build.default.port}}\",\r\n \"[SystemSettings].net.AllowEncryption\":\"false\"\r\n }\r\n },\r\n \"Astro\/Saved\/Config\/WindowsServer\/AstroServerSettings.ini\": {\r\n \"parser\": \"ini\",\r\n \"find\": {\r\n \"[\/Script\/Astro.AstroServerSettings].PublicIP\": \"{{env.PUBLIC_IP}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].OwnerName\": \"{{env.OWNER_NAME}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].OwnerGuid\": \"{{env.OWNER_GUID}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].PlayerProperties\": \"(PlayerFirstJoinName=\\\"{{env.OWNER_NAME}}\\\",PlayerCategory=Admin,PlayerGuid=\\\"{{env.OWNER_GUID}}\\\",PlayerRecentJoinName=\\\"\\\")\",\r\n \"[\/Script\/Astro.AstroServerSettings].ServerPassword\": \"{{env.SERVER_PWD}}\",\r\n \"[\/Script\/Astro.AstroServerSettings].ServerName\": \"{{env.SERVER_NAME}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"nable to use setpriority safely\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\necho -e \"steam user is not set.\\n\"\r\necho -e \"Using anonymous user.\\n\"\r\nSTEAM_USER=anonymous\r\nSTEAM_PASS=\"\"\r\nSTEAM_AUTH=\"\"\r\nelse\r\necho -e \"user set to ${STEAM_USER}\"\r\nfi\r\n## download and install steamcmd\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Install steamcmd\"\r\necho \"-----------------------------------------\"\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n## install game using steamcmd\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Install game\"\r\necho \"-----------------------------------------\"\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Public IP",
|
||||
"description": "Public IP to connect to the server.",
|
||||
"env_variable": "PUBLIC_IP",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Owner Name",
|
||||
"description": "Steam username of the server owner",
|
||||
"env_variable": "OWNER_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Owner Guid",
|
||||
"description": "Steam id of the server owner",
|
||||
"env_variable": "OWNER_GUID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "If specified, players must provide this password to join the server.",
|
||||
"env_variable": "SERVER_PWD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|alpha_dash|between:1,100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Automatic Updates",
|
||||
"description": "Quickly checks for any server updates on startup, and updates if necessary. (1 Enable | 0 Disable)",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Windows Install",
|
||||
"description": "Windows Install",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "[Advanced] Steam App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "728470",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "PROTON_LOG",
|
||||
"description": "",
|
||||
"env_variable": "PROTON_LOG",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:60",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
26
automobilista2/automobilista2/README.md
Normal file
26
automobilista2/automobilista2/README.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Automobilista 2
|
||||
|
||||
Steam description : Automobilista 2 is all the racing simulators you ever wanted - in just one. An incredibly diverse collection of cars and tracks cohesively simulated, featuring incredible graphics and audio quality, dynamic weather and track conditions and the best VR support for a racing experience like no other.
|
||||
|
||||
## Minimum RAM warning
|
||||
|
||||
Minimum RAM requirement of 512MB, with 1GB+ being recommended
|
||||
|
||||
## Minimum Storage warning
|
||||
|
||||
Automobilista 2 required at least 2GiB.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Automobilista 2 requires three ports to run. Hostport is always the default Allocation Port!
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| SteamPort | 8766 |
|
||||
| Hostport(Default Allocation Port) | 27015 |
|
||||
| queryPort | 27016 |
|
||||
|
||||
|
||||
### Notes
|
||||
|
||||
All Ports can be changed
|
||||
122
automobilista2/automobilista2/egg-automobilista2.json
Normal file
122
automobilista2/automobilista2/egg-automobilista2.json
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-08-22T09:45:14+00:00",
|
||||
"name": "Automobilista 2",
|
||||
"author": "admin@theorderofdarkness.eu",
|
||||
"description": "Egg for Automobilista 2",
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/yolks:wine_latest": "ghcr.io\/ptero-eggs\/yolks:wine_latest"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "wine .\/DedicatedServerCmd.exe",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"name :\": \"name : \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"steamPort :\": \"steamPort : {{server.build.env.STEAM_PORT}}\",\r\n \"hostPort :\": \"hostPort : {{server.build.default.port}}\",\r\n \"queryPort :\": \"queryPort : {{server.build.env.QUERY_PORT}}\",\r\n \"password :\": \"password : \\\"{{server.build.env.SERVER_PASSWORD}}\\\"\",\r\n \"maxPlayerCount :\": \"maxPlayerCount : {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"\\u001b[?25h\\u001b[?25l\\u001b[K\\u001b[1C\\u001b[?25h\\u001b[?25ls\\u001b[?25h\\u001b[?25lw\\u001b[?25h\\u001b[?25li\\u001b[?25h\\u001b[?25lt\\u001b[?25h\\u001b[?25lc\\u001b[?25h\\u001b[?25lh\\u001b[?25h\\u001b[?25li\\u001b[?25h\\u001b[?25ln\\u001b[?25h\\u001b[?25lg\\u001b[?25h\\u001b[?25l\\u001b[K\\u001b[1C\\u001b[?25h\\u001b[?25lt\\u001b[?25h\\u001b[?25lo\\u001b[?25h\\u001b[?25l\\u001b[K\\u001b[1C\\u001b[?25h\\u001b[?25lr\\u001b[?25h\\u001b[?25lu\\u001b[?25h\\u001b[?25ln\\u001b[?25h\\u001b[?25ln\\u001b[?25h\\u001b[?25li\\u001b[?25h\\u001b[?25ln\\u001b[?25h\\u001b[?25lg\\u001b[?25h\\u001b[?25l\\u001b[K\\u001b[1C\\u001b[?25h\\u001b[?25ls\\u001b[?25h\\u001b[?25lt\\u001b[?25h\\u001b[?25la\\u001b[?25h\\u001b[?25lt\\u001b[?25h\\u001b[?25le\\u001b[?25h\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "if [[ \"${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\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\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\ncd $HOME\r\nif [ ! -f \"server.cfg\" ] ; then\r\n echo \"Installing default config file\"\r\n cp config_sample\/server_with_lists.cfg server.cfg\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1338040",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1338040",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Decide if you want to update your server",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Windows",
|
||||
"description": "",
|
||||
"env_variable": "WINDOWS_INSTALL",
|
||||
"default_value": "1",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Wine Debug",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Ptero Default",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Port",
|
||||
"description": "",
|
||||
"env_variable": "STEAM_PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "16",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|int|max:32",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
27
avorion/avorion/README.md
Normal file
27
avorion/avorion/README.md
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
# Avorion
|
||||
|
||||
A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Avorion requires 4 ports to run. Despite claiming to require 4 ports, the game port is the only one that appears to have a config option.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| Game | 27000 |
|
||||
| Query | 27003 |
|
||||
| Steam Query | 27020 |
|
||||
| Steam | 27021 |
|
||||
|
||||
Additionally the server can be configured with an RCON port. RCON will be disabled if a password is not specified.
|
||||
|
||||
| Port | default |
|
||||
|-------------|---------|
|
||||
| RCON | 27015 |
|
||||
|
||||
## RCON
|
||||
|
||||
If you plan to use RCON it currently needs to be manually configured in the server.ini file. At some point server variables will be added.
|
||||
|
||||
## Updating
|
||||
Because with an update to this egg, the startup command changed, so if you update this egg, you will manually have to update the startup command for every server that was already made.
|
||||
204
avorion/avorion/egg-avorion.json
Normal file
204
avorion/avorion/egg-avorion.json
Normal file
|
|
@ -0,0 +1,204 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-12-16T13:33:18+01:00",
|
||||
"name": "Avorion",
|
||||
"author": "iamkubi@gmail.com",
|
||||
"description": "A procedural co-op space sandbox where players can build their own space ships out of dynamically scalable blocks. Fight epic space battles, explore, mine, trade, wage wars and build your own empire to save your galaxy from being torn apart by an unknown enemy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/bin\/AvorionServer --galaxy-name {{GALAXY_NAME}} --admin {{ADMIN_ID}} --datapath galaxy --port {{SERVER_PORT}} --query-port {{QUERY_PORT}} --steam-master-port {{STEAM_MASTER_PORT}} --steam-query-port {{STEAM_QUERY_PORT}} --max-players {{MAX_PLAYERS}} --difficulty {{DIFFICULTY}} --collision-damage {{COLLISION_DMG}} --save-interval {{SAVE_INTERVAL}} --same-start-sector {{SAME_START_SECTOR}} --server-name \"{{SERVER_NAME}}\" --threads {{GAME_THREADS}} --listed {{SERVER_LISTED}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server startup complete\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "\/stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Avorion Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n\r\nmkdir -p \/mnt\/server\/backups\r\nmkdir -p \/mnt\/server\/galaxy\/${GALAXY_NAME}\r\ncurl https:\/\/raw.githubusercontent.com\/ptero-eggs\/game-eggs\/main\/avorion\/server.ini --output \/mnt\/server\/galaxy\/${GALAXY_NAME}\/server.ini\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Galaxy Name",
|
||||
"description": "Name of the Galaxy to create",
|
||||
"env_variable": "GALAXY_NAME",
|
||||
"default_value": "Avorion",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "The name of the server, shown in the server list.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Avorion Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin ID",
|
||||
"description": "Steam64 ID for the player to make Server Admin",
|
||||
"env_variable": "ADMIN_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Maximum number of players allowed",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|int|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Difficulty",
|
||||
"description": "Difficulty of the server, allowed values are: -3, -2, -1, 0, 1, 2, 3 Default: 0",
|
||||
"env_variable": "DIFFICULTY",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|in:0,1,2,3,-1,-2,-3",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Collision Damage",
|
||||
"description": "A multiplier for damage to colliding objects. Accepts floating-point numbers, e.g. 0.5 is 50% collision damage. 0: no damage, 1: full damage. default: 1",
|
||||
"env_variable": "COLLISION_DMG",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Save Interval",
|
||||
"description": "Time between automatic saves in seconds. Defaults to 300 (5 minutes).",
|
||||
"env_variable": "SAVE_INTERVAL",
|
||||
"default_value": "300",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|int",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Same Start Sector",
|
||||
"description": "Indicates if all players should start in the same sector. If false, a random empty sector on the outer rim is populated and used as the home sector for each new player.",
|
||||
"env_variable": "SAME_START_SECTOR",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Threads",
|
||||
"description": "Number of concurrent threads that are used to update sectors. (Identical to the 'Threads' setting ingame.)",
|
||||
"env_variable": "GAME_THREADS",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "List Publicly",
|
||||
"description": "Privacy setting. If enabled together with useSteam, the server will show up in public server lists. (Same as the ingame setting 'List Publicly')",
|
||||
"env_variable": "SERVER_LISTED",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "565060",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:565060",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "LD Library Path",
|
||||
"description": "",
|
||||
"env_variable": "LD_LIBRARY_PATH",
|
||||
"default_value": ".\/linux64",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Master Port",
|
||||
"description": "",
|
||||
"env_variable": "STEAM_MASTER_PORT",
|
||||
"default_value": "27021",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Query Port",
|
||||
"description": "",
|
||||
"env_variable": "STEAM_QUERY_PORT",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27003",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Beta branch",
|
||||
"description": "Leave empty for the public branch, beta for the beta branch.",
|
||||
"env_variable": "SRCDS_BETAID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|in:,beta",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
64
avorion/avorion/server.ini
Normal file
64
avorion/avorion/server.ini
Normal file
|
|
@ -0,0 +1,64 @@
|
|||
[Game]
|
||||
Seed=9gfddTsaAN
|
||||
Difficulty=0
|
||||
HardcoreEnabled=false
|
||||
InfiniteResources=false
|
||||
CollisionDamage=1
|
||||
SafePlayerInput=false
|
||||
PlayerToPlayerDamage=true
|
||||
LogoutInvincibility=true
|
||||
LogoutInvincibilityDelay=30
|
||||
DevMode=false
|
||||
ExplicitCallables=true
|
||||
BigWreckageDespawnTime=1800
|
||||
SmallWreckageDespawnTime=900
|
||||
MaximumFightersPerSectorAndPlayer=-1
|
||||
MaximumBlocksPerCraft=-1
|
||||
MaximumVolumePerShip=-1
|
||||
MaximumVolumePerStation=-1
|
||||
MaximumPlayerShips=-1
|
||||
MaximumPlayerStations=-1
|
||||
MaximumBlocksPerTurret=250
|
||||
PlayerInventorySlots=1000
|
||||
AllianceInventorySlots=1000
|
||||
Version=1.0
|
||||
sameStartSector=true
|
||||
startUpScript=data/scripts/server/server.lua
|
||||
startSectorScript=startsector
|
||||
motd=
|
||||
[System]
|
||||
saveInterval=600
|
||||
sectorUpdateTimeLimit=300
|
||||
emptySectorUpdateInterval=0.5
|
||||
workerThreads=1
|
||||
generatorThreads=2
|
||||
scriptBackgroundThreads=2
|
||||
aliveSectorsPerPlayer=5
|
||||
weakUpdate=true
|
||||
profiling=false
|
||||
sendCrashReports=true
|
||||
hangDetection=true
|
||||
backups=true
|
||||
backupsPath=/home/container/backups
|
||||
simulateHighLoadServer=false
|
||||
sendSectorDelay=2
|
||||
placeInShipOnDeathDelay=7
|
||||
[Networking]
|
||||
port=27000
|
||||
broadcastInterval=5
|
||||
isPublic=true
|
||||
isListed=false
|
||||
isAuthenticated=true
|
||||
sendStatsToAdmins=true
|
||||
useSteam=true
|
||||
rconIp=
|
||||
rconPassword=
|
||||
rconPort=27015
|
||||
[Administration]
|
||||
maxPlayers=10
|
||||
name=Avorion Server
|
||||
description=An Avorion Server
|
||||
password=
|
||||
pausable=false
|
||||
accessListMode=Blacklist
|
||||
steamIdOverride=0
|
||||
18
banana_shooter/banana_shooter/README.md
Normal file
18
banana_shooter/banana_shooter/README.md
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Banana Shooter
|
||||
|
||||
## [Steam Page](https://store.steampowered.com/app/1949740/Banana_Shooter/)
|
||||
|
||||
Banana Shooter is a fast-paced, meme-filled FPS where you battle online or with friends. Collect bananas, play classic and chaotic game modes, and enjoy hilarious shooter action.
|
||||
|
||||
## Requirements
|
||||
|
||||
- You must have a Steam account that owns Banana Shooter to run the server.
|
||||
|
||||
## Server Port
|
||||
|
||||
Banana Shooter requires one port.
|
||||
You can use any available port.
|
||||
|
||||
| Port | Default (example) |
|
||||
| ----------- | ----------------- |
|
||||
| Server Port | 27015 |
|
||||
114
banana_shooter/banana_shooter/egg-banana-shooter.json
Normal file
114
banana_shooter/banana_shooter/egg-banana-shooter.json
Normal file
|
|
@ -0,0 +1,114 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2025-07-07T17:48:25+02:00",
|
||||
"name": "Banana Shooter",
|
||||
"author": "ptero@redbananaofficial.com",
|
||||
"description": "Banana Shooter is a free-to-play action game that offers a unique twist to the traditional survival RPG genre.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/BSDS.x86_64 -batchmode -nographics +Server {{SERVER}} +maxplayercount 40 +port {{SERVER_PORT}} \"$@\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"Servers\/PterodactylServer\/Config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Server.STEAM_GSLT\": \"{{server.build.env.STEAM_GSLT}}\",\r\n \"Browser.Server_Name\": \"{{server.build.env.SERVER_NAME}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Connect to steam server successfully\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^SIGKILL"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\nmkdir -p \/mnt\/server\/Servers\/PterodactylServer\r\n\r\ncat > \/mnt\/server\/Servers\/PterodactylServer\/Config.json <<EOF\r\n{\r\n \"Config_Version\": \"1.363\",\r\n \"Server\": {\r\n \"DLC_Only\": false,\r\n \"STEAM_GSLT\": \"\",\r\n \"VAC_Secure\": true,\r\n \"Enable_Scheduled_Shutdown\": true,\r\n \"Scheduled_Restart_Time\": \"T02:00:00\",\r\n \"Scheduled_Restart_Warnings\": [\r\n \"00:30:00\",\r\n \"00:15:00\",\r\n \"00:05:00\",\r\n \"00:01:00\",\r\n \"00:00:30\",\r\n \"00:00:15\",\r\n \"00:00:03\",\r\n \"00:00:02\",\r\n \"00:00:01\"\r\n ],\r\n \"Enable_Update_Restart\": true,\r\n \"Update_Shutdown_Check_Interval\": 300.0,\r\n \"Update_Shutdown_Warnings\": [\r\n \"00:03:00\",\r\n \"00:01:00\",\r\n \"00:00:30\",\r\n \"00:00:15\",\r\n \"00:00:03\",\r\n \"00:00:02\",\r\n \"00:00:01\"\r\n ]\r\n },\r\n \"Browser\": {\r\n \"Server_Name\": \"\",\r\n \"Description_Short\": \"\"\r\n },\r\n \"Game\": {\r\n \"Random_Map\": false,\r\n \"Random_GameMode\": false,\r\n \"Minimal_Player_Amount\": 2,\r\n \"Server_Type\": 1\r\n }\r\n}\r\nEOF\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "2406780",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Server will check for updates on every restart. Use 0 to disable.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Username",
|
||||
"description": "This dedicated server requires a steam account that own a copy of the game",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Password",
|
||||
"description": "This dedicated server requires a steam account that own a copy of the game",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Steam Authenticaton",
|
||||
"description": "This dedicated server requires a steam account that own a copy of the game",
|
||||
"env_variable": "STEAM_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Server Login Token",
|
||||
"description": "Listing your server on the in-game list requires a Login Token to be set.\r\nhttps:\/\/bs-docs.readthedocs.io\/en\/latest\/server\/game-server-login-tokens.html",
|
||||
"env_variable": "STEAM_GSLT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server name",
|
||||
"description": "The name of the server as shown in the server list",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "BananaShooter",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:25",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server",
|
||||
"description": "Do not change this",
|
||||
"env_variable": "SERVER",
|
||||
"default_value": "PterodactylServer",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
29
barotrauma/barotrauma/README.md
Normal file
29
barotrauma/barotrauma/README.md
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
# Barotrauma
|
||||
|
||||
## From their [Steam Description](https://store.steampowered.com/app/602960/Barotrauma/)
|
||||
|
||||
Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It’s a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|------------|---------|
|
||||
| Game Port | 27015 |
|
||||
| Query Port | 27016 |
|
||||
|
||||
**WARNING
|
||||
You must edit the port and server settings in serversettings.xml file or your server will not work!**
|
||||
|
||||
## No console
|
||||
|
||||
Barotrauma server does not currently have server console, it will just spam random messages. You have to add yourself as admin and type commands in-game. Admin file is located at Data/clientpermissions.xml, example config is below.
|
||||
|
||||
```<?xml version="1.0" encoding="utf-8"?>
|
||||
<ClientPermissions>
|
||||
<Client
|
||||
name="YOUR INGAME NAME HERE"
|
||||
steamid="YOUR STEAM64ID here"
|
||||
preset="Admin" />
|
||||
</ClientPermissions>
|
||||
54
barotrauma/barotrauma/egg-barotrauma.json
Normal file
54
barotrauma/barotrauma/egg-barotrauma.json
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-02-02T10:11:29+01:00",
|
||||
"name": "Barotrauma",
|
||||
"author": "admin@softwarenoob.com",
|
||||
"description": "Barotrauma is a 2D co-op survival horror submarine simulator, inspired by games like FTL: Faster Than Light, Rimworld, Dwarf Fortress and Space Station 13. It\u2019s a Sci-Fi game that combines ragdoll physics and alien sea monsters with teamwork and existential fear.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/DedicatedServer -batchmode 2>&1 | sed -r \"s\/\\x1B\\[([0-9]{1,3}(;[0-9]{1,2})?)?[mGK]\/\/g\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SRCDS_APPID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "1026340",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:1026340",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "1 = on; 0 = off",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
32
battalion_legacy/battalion_legacy/README.md
Normal file
32
battalion_legacy/battalion_legacy/README.md
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
# BATTALION: Legacy
|
||||
|
||||
## From their [Steam Depot](https://steamdb.info/app/805140)
|
||||
|
||||
## Documentation
|
||||
|
||||
BATTALION: Legacy recaptures the core of classic shooters in the final iteration of Battalion 1944. Return to the simple days of playing first person shooters with your friends. Grab your bolt action rifle in 'rifles only' mode or compete in 5v5 Search and Destroy.
|
||||
## Install notes
|
||||
|
||||
The only issue with this egg is that server name appears with a ] in the end, for example: if you set the name to "Test", in the game it'll display as "Test]", the reason for this in unknown.
|
||||
## Installation/System Requirements
|
||||
<!--Make changes to reflect the server minimum/recommended hardware specs-->
|
||||
| | Bare Minimum | Recommended |
|
||||
|---------|---------|---------|
|
||||
| Processor | No ARM support(?) | |
|
||||
| RAM | 1GiB | 2GiB |
|
||||
| Storage | 2GB | - |
|
||||
| Network | 1Mbit/s | 3Mbit/s |
|
||||
| Game Ownership | No | - |
|
||||
|
||||
## Server Ports
|
||||
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27015 |
|
||||
| Query | 27016 |
|
||||
|
||||
### Notes
|
||||
|
||||
Game and Query port can be anything, but they're both required.
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2023-07-13T20:14:32+03:00",
|
||||
"name": "BATTALION: Legacy",
|
||||
"author": "diedyesterdaywashere@gmail.com",
|
||||
"description": "BATTALION: Legacy recaptures the core of classic shooters in the final iteration of Battalion 1944. Return to the simple days of playing first person shooters with your friends. Grab your bolt action rifle in 'rifles only' mode or compete in 5v5 Search and Destroy.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/steamcmd:debian": "ghcr.io\/ptero-eggs\/steamcmd:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Battalion\/Binaries\/Linux\/BattalionServer-Linux-Shipping Battalion -QueryPort={{QUERY_PORT}} -SteamServerName=\"{{SERVER_NAME}]\" -Queue=\"Wartide\" -AdminPassword=\"{{ADMIN_PW}}\" -Log",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \" OnCreateSessionComplete \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "App ID",
|
||||
"description": "",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "805140",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:805140",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Server will check for updates on every restart. Use 0 to disable.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Query Port",
|
||||
"description": "",
|
||||
"env_variable": "QUERY_PORT",
|
||||
"default_value": "27016",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|integer|between:1024,65536",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl hosted Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:60",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "ADMIN_PW",
|
||||
"default_value": "changeme",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
6
beamng/beammp/README.md
Normal file
6
beamng/beammp/README.md
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
# BeamMP
|
||||
|
||||
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
|
||||
|
||||
* [BeamMP Server](/beamng/beammp)
|
||||
* [KissMP](/beamng/kissmp)
|
||||
122
beamng/beammp/egg-beam-m-p-server.json
Normal file
122
beamng/beammp/egg-beam-m-p-server.json
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-05T12:07:19+02:00",
|
||||
"name": "BeamMP Servers",
|
||||
"author": "noah@noahserver.online",
|
||||
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Debian": "ghcr.io\/ptero-eggs\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/BeamMP-Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"ServerConfig.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Name =\": \"Name = \\\"{{env.NAME}}\\\"\",\r\n \"Port =\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTHKEY}}\\\"\",\r\n \"Private =\": \"Private = {{env.PRIVATE}}\",\r\n \"MaxPlayers =\": \"MaxPlayers = {{server.build.env.MAX_PLAYERS}}\",\r\n \"Description =\": \"Description = \\\"{{env.DESCRIPTION}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\",\r\n \"LogChat =\": \"LogChat = {{env.LOGCHAT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "exit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n#Create the server directory\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Remove any old versions\r\nrm -f BeamMP-Server\r\n\r\n#Check for latest release & download URLs\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"Server.debian.12.x86_64\" || echo \"Server.debian.12.arm64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest BeamMP server version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"${MATCH}\" | head -1)\r\nelse\r\n echo -e \"Chosen version :${VERSION}. Verifying version from releases\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i \"${MATCH}\" | head -1)\r\n else\r\n echo -e \"No valid versions found. Defaulting to the latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"Server\" | grep -i \"debian\" | grep -i \"12\" | grep -i \"x\" | grep -i \"64\" | head -1)\r\n fi\r\nfi\r\n\r\n#Download the BeamMP server binary\r\necho -e \"Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\"\r\ncurl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\n#Create a default configuration file\r\necho \"# This is the BeamMP-Server config file.\r\n# Help & Documentation: `https:\/\/wiki.beammp.com\/en\/home\/server-maintenance`\r\n# IMPORTANT: Fill in the AuthKey with the key you got from `https:\/\/keymaster.beammp.com\/` on the left under 'Keys'\r\n\r\n[General]\r\nName = 'BeamMP Server'\r\nPort = 30814\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = ''\r\n# Whether to log chat messages in the console \/ log\r\nLogChat = true\r\n# Add custom identifying tags to your server to make it easier to find. Format should be TagA,TagB,TagC. Note the comma seperation.\r\nTags = 'Freeroam'\r\nDebug = false\r\nPrivate = true\r\nMaxCars = 1\r\nMaxPlayers = 8\r\nMap = '\/levels\/gridmap_v2\/info.json'\r\nDescription = 'BeamMP Default Description'\r\nResourceFolder = 'Resources'\r\n\r\n[Misc]\r\n# Hides the periodic update message which notifies you of a new server version. You should really keep this on and always update as soon as possible. For more information visit https:\/\/wiki.beammp.com\/en\/home\/server-maintenance#updating-the-server. An update message will always appear at startup regardless.\r\nImScaredOfUpdates = false\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrorsShowMessage = true\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\nSendErrors = true\" > ServerConfig.toml\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"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:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Server Description",
|
||||
"description": "Sets the server description",
|
||||
"env_variable": "DESCRIPTION",
|
||||
"default_value": "BeamMP Default Description",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"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\r\n\r\nexample: v3.1.0 or v2.2.0 or latest",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:12",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Authentication Key",
|
||||
"description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/keymaster.beammp.com",
|
||||
"env_variable": "AUTHKEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "The maximum number of players allowed on the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "6",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:100",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Private",
|
||||
"description": "Should the server be private?",
|
||||
"env_variable": "PRIVATE",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"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:10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"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",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Chat logging",
|
||||
"description": "Enable chat logging by the server",
|
||||
"env_variable": "LOGCHAT",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
5
beamng/kissmp/README.md
Normal file
5
beamng/kissmp/README.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# BeamNG.drive - KISS Multiplayer
|
||||
|
||||
## From their [Github](https://github.com/TheHellBox/KISS-multiplayer)
|
||||
|
||||
Server settings such as the map can be changed in the `config.json` file. Port is automatically set on each boot.
|
||||
31
beamng/kissmp/egg-kissmp.json
Normal file
31
beamng/kissmp/egg-kissmp.json
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T11:01:56+02:00",
|
||||
"name": "KissMP Server",
|
||||
"author": "me@weilbyte.dev",
|
||||
"description": "Server for the KISS Multiplayer BeamNG.drive mod",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/yolks:debian": "ghcr.io\/ptero-eggs\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/kissmp-server",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server is running!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y wget unzip \r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_RELEASE=$(wget -qO- https:\/\/api.github.com\/repos\/TheHellBox\/KISS-multiplayer\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\nDownloading latest release ${LATEST_RELEASE}\"\r\n\r\nwget $LATEST_RELEASE -O kissmp.zip\r\nunzip -j kissmp.zip '*\/kissmp-server'\r\n\r\nrm -rf kissmp.zip\r\n\r\nif [ -f \/mnt\/server\/kissmp-server ]; then\r\n echo -e \"Install complete\"\r\n chmod +x \/mnt\/server\/kissmp-server\r\n \r\n # Generate config\r\n .\/kissmp-server & serverpid=$! \r\n sleep 1\r\n kill $serverpid\r\n \r\n exit 0\r\nelse \r\n echo -e \"Install failed (no \/mnt\/server\/kissmp-server file present)\"\r\n exit 1\r\nfi",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
16
bedrock/LiteLoader-bedrock/README.md
Normal file
16
bedrock/LiteLoader-bedrock/README.md
Normal file
|
|
@ -0,0 +1,16 @@
|
|||
# LiteLoader Bedrock Dedicated Server
|
||||
|
||||
[LiteLoaderBDS](https://github.com/LiteLDev/LiteLoaderBDS) - Epoch-making & Cross-language Bedrock Dedicated Servers Plugin Loader
|
||||
|
||||
[LiteLoaderBDS](https://github.com/LiteLDev/LiteLoaderBDS) is an unofficial plugin loader that provides basic API support for Bedrock Dedicated Server, with a massive API, lots of packed utility interfaces, a rich event system and powerful basic interface support.
|
||||
|
||||
### Server Ports
|
||||
|
||||
LiteLoader Bedrock Dedicated Server requires a single port (default 19132)
|
||||
|
||||
| Port | default |
|
||||
|---------|----------|
|
||||
| Game | 19132 |
|
||||
|
||||
### Known Issues
|
||||
General Issues can check here -> [LiteLoaderBDS Issues](https://github.com/LiteLDev/LiteLoaderBDS/issues)
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/LiteLoader-bedrock/egg-liteloader-bedrock-dedicated-server.json"
|
||||
},
|
||||
"exported_at": "2026-04-21T19:02:00+00:00",
|
||||
"name": "Liteloader Bedrock Dedicated Server",
|
||||
"author": "frizth_tatierra@informatics.edu.ph",
|
||||
"uuid": "d93b1b76-8435-4404-9a7b-309b6b069b9e",
|
||||
"description": "LiteLoaderBDS - Epoch-making & Cross-language Bedrock Dedicated Servers Plugin Loader\r\n\r\nLiteLoaderBDS is an unofficial plugin loader that provides basic API support for Bedrock Dedicated Server, with a massive API, lots of packed utility interfaces, a rich event system and powerful basic interface support.",
|
||||
"tags": [
|
||||
"minecraft"
|
||||
],
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/pelican-eggs\/yolks:wine_staging": "ghcr.io\/pelican-eggs\/yolks:wine_staging"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/lae-ll-launcher bedrock_server_mod.exe",
|
||||
"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 \"max-players\": \"{{server.build.env.MAXPLAYERS}}\",\r\n \"level-name\": \"{{server.build.env.WORLDNAME}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"IPv4 supported\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Liteloader First-time Install Script\r\n\r\napk update\r\napk add gzip jq curl wine\r\ncd \/mnt\/server\r\n\r\nfor file in *; do\r\n if [ \"$file\" != \"allowlist.json\" ] && [ \"$file\" != \"permissions.json\" ] && [ \"$file\" != \"server.properties\" ] && [ \"$file\" != \"plugins\" ] && [ \"$file\" != \"world\" ]; then\r\n if [ -d \"$file\" ]; then\r\n rm -rf \"$file\" # Remove directories recursively\r\n else\r\n rm \"$file\" # Remove files\r\n fi\r\n fi\r\ndone\r\n\r\n# Download Minecraft BDS\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BDS_VERSION}\" ] || [ \"${BDS_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-win\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BDS_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-win\/bedrock-server-$BDS_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\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\nrm versions.html.gz\r\n\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/LiteLDev\/LiteLoaderBDS\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/LiteLDev\/LiteLoaderBDS\/releases\")\r\n\r\nif [ -z \"${LL_VERSION}\" ] || [ \"${LL_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest LiteLoaderBDS from GitHub\"\r\n DOWNLOAD_GIT_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | head -1)\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${LL_VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n echo -e \"\\n Downloading ${LL_VERSION} LiteLoaderBDS from GitHub\"\r\n DOWNLOAD_GIT_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${LL_VERSION}\" '.[] | select(.tag_name==$LL_VERSION) | .assets[].browser_download_url' | head -1)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_GIT_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | head -1)\r\n fi\r\nfi\r\n\r\ncurl -sSL -o LiteLoader.zip ${DOWNLOAD_GIT_URL}\r\nunzip -o LiteLoader.zip\r\nmv -f LiteLoaderBDS\/* \/mnt\/server\r\nrm LiteLoader.zip\r\ntimeout 30s wine PeEditor.exe\r\nrm -rf '\/root\/.wine' \/mnt\/server\/LiteLoaderBDS\/\r\n\r\n# Downloading Launcher and finishing touches\r\nwget https:\/\/io.ivampiresp.com\/d\/Software\/MCServer\/BDS\/LiteLoader\/lae-ll-launcher\r\nchmod +x lae-ll-launcher\r\necho \"Finished Downloading Liteloader...\"",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Bedrock Dedicated Server Version",
|
||||
"description": "Insert BDS Version",
|
||||
"env_variable": "BDS_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Liteloader Version",
|
||||
"description": "Insert Liteloader Version from Github Releases",
|
||||
"env_variable": "LL_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Wine",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"sort": null,
|
||||
"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",
|
||||
"sort": null,
|
||||
"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",
|
||||
"sort": null,
|
||||
"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",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Maximum Players",
|
||||
"description": "Maximum players to join on the server",
|
||||
"env_variable": "MAXPLAYERS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Name",
|
||||
"description": "World\/Level name to use for the server",
|
||||
"env_variable": "WORLDNAME",
|
||||
"default_value": "Bedrock level",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,112 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/LiteLoader-bedrock/egg-pterodactyl-liteloader-bedrock-dedicated-server.json",
|
||||
"version": "PTDL_v2"
|
||||
},
|
||||
"exported_at": "2024-06-01T19:40:00+00:00",
|
||||
"name": "Liteloader Bedrock Dedicated Server",
|
||||
"author": "frizth_tatierra@informatics.edu.ph",
|
||||
"description": "LiteLoaderBDS - Epoch-making \u0026 Cross-language Bedrock Dedicated Servers Plugin Loader\r\n\r\nLiteLoaderBDS is an unofficial plugin loader that provides basic API support for Bedrock Dedicated Server, with a massive API, lots of packed utility interfaces, a rich event system and powerful basic interface support.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io/pelican-eggs/yolks:wine_staging": "ghcr.io/pelican-eggs/yolks:wine_staging"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "./lae-ll-launcher bedrock_server_mod.exe",
|
||||
"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 \"max-players\": \"{{server.build.env.MAXPLAYERS}}\",\r\n \"level-name\": \"{{server.build.env.WORLDNAME}}\"\r\n }\r\n }\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \"IPv4 supported\"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:alpine",
|
||||
"entrypoint": "ash",
|
||||
"script": "#!/bin/bash\r\n# Liteloader First-time Install Script\r\n\r\napk update\r\napk add gzip jq curl wine\r\ncd /mnt/server\r\n\r\nfor file in *; do\r\n if [ \"$file\" != \"allowlist.json\" ] \u0026\u0026 [ \"$file\" != \"permissions.json\" ] \u0026\u0026 [ \"$file\" != \"server.properties\" ] \u0026\u0026 [ \"$file\" != \"plugins\" ] \u0026\u0026 [ \"$file\" != \"world\" ]; then\r\n if [ -d \"$file\" ]; then\r\n rm -rf \"$file\" # Remove directories recursively\r\n else\r\n rm \"$file\" # Remove files\r\n fi\r\n fi\r\ndone\r\n\r\n# Download Minecraft BDS\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BDS_VERSION}\" ] || [ \"${BDS_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-win/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BDS_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https://minecraft.azureedge.net/bin-win/bedrock-server-$BDS_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"/\" -f5) # Retrieve archive name\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\nrm versions.html.gz\r\n\r\n\r\nLATEST_JSON=$(curl --silent \"https://api.github.com/repos/LiteLDev/LiteLoaderBDS/releases/latest\")\r\nRELEASES=$(curl --silent \"https://api.github.com/repos/LiteLDev/LiteLoaderBDS/releases\")\r\n\r\nif [ -z \"${LL_VERSION}\" ] || [ \"${LL_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest LiteLoaderBDS from GitHub\"\r\n DOWNLOAD_GIT_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | head -1)\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${LL_VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n echo -e \"\\n Downloading ${LL_VERSION} LiteLoaderBDS from GitHub\"\r\n DOWNLOAD_GIT_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${LL_VERSION}\" '.[] | select(.tag_name==$LL_VERSION) | .assets[].browser_download_url' | head -1)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_GIT_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | head -1)\r\n fi\r\nfi\r\n\r\ncurl -sSL -o LiteLoader.zip ${DOWNLOAD_GIT_URL}\r\nunzip -o LiteLoader.zip\r\nmv -f LiteLoaderBDS/* /mnt/server\r\nrm LiteLoader.zip\r\ntimeout 30s wine PeEditor.exe\r\nrm -rf '/root/.wine' /mnt/server/LiteLoaderBDS/\r\n\r\n# Downloading Launcher and finishing touches\r\nwget https://io.ivampiresp.com/d/Software/MCServer/BDS/LiteLoader/lae-ll-launcher\r\nchmod +x lae-ll-launcher\r\necho \"Finished Downloading Liteloader...\""
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Bedrock Dedicated Server Version",
|
||||
"description": "Insert BDS Version",
|
||||
"env_variable": "BDS_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Liteloader Version",
|
||||
"description": "Insert Liteloader Version from Github Releases",
|
||||
"env_variable": "LL_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Wine",
|
||||
"description": "",
|
||||
"env_variable": "WINEDEBUG",
|
||||
"default_value": "-all",
|
||||
"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",
|
||||
"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",
|
||||
"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",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Maximum Players",
|
||||
"description": "Maximum players to join on the server",
|
||||
"env_variable": "MAXPLAYERS",
|
||||
"default_value": "10",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "World Name",
|
||||
"description": "World/Level name to use for the server",
|
||||
"env_variable": "WORLDNAME",
|
||||
"default_value": "Bedrock level",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
4
bedrock/PowerNukkitX/README.md
Normal file
4
bedrock/PowerNukkitX/README.md
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# PowerNukkitX
|
||||
|
||||
[PowerNukkitX](https://github.com/PowerNukkitX/PowerNukkitX)
|
||||
PowerNukkitX is a software for minecraft bedrock edition in Java which is a fork of PowerNukkit
|
||||
58
bedrock/PowerNukkitX/egg-power-nukkit-x.json
Normal file
58
bedrock/PowerNukkitX/egg-power-nukkit-x.json
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/PowerNukkitX/egg-power-nukkit-x.json"
|
||||
},
|
||||
"exported_at": "2026-04-21T19:02:00+00:00",
|
||||
"name": "PowerNukkitX",
|
||||
"author": "powernukkitx@github.com",
|
||||
"uuid": "27250406-1acf-4dce-b39f-3413cc290b64",
|
||||
"description": "PowerNukkitX support for Pelican",
|
||||
"tags": [
|
||||
"minecraft"
|
||||
],
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/pelican-eggs\/yolks:debian": "ghcr.io\/pelican-eggs\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/pnx start {{AUTOREBOOT}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\napt-get update\r\napt-get install -y git curl wget jq file tar unzip zip openssl\r\nmkdir -p \/mnt\/server\/ # Not required. Only here for parkervcp's local test setup\r\ncd \/mnt\/server || exit 1\r\nUPGRADE=\"no\"\r\nif [ -d \".\/java\" ]; then\r\nUPGRADE=\"yes\"\r\nfi\r\nwget https:\/\/github.com\/PowerNukkitX\/PNX-CLI\/releases\/download\/0.1.6\/PNX-CLI-Linux-x86.zip -O pnx.zip\r\nwget https:\/\/raw.githubusercontent.com\/PowerNukkitX\/PowerNukkitX\/master\/src\/main\/resources\/default-nukkit.yml -O nukkit.yml\r\nunzip pnx.zip\r\nrm -fr pnx.zip 2>&1 >\/dev\/null\r\nmv .\/target\/linux-x86\/pnx .\/ 2>&1 >\/dev\/null\r\nrm -fr target 2>&1 >\/dev\/null\r\nrm -fr java 2>&1 >\/dev\/null\r\nchmod +x pnx\r\n.\/pnx jvm install=GraalVM\r\nif [ \"$UPGRADE\" == \"no\" ]; then\r\nif [ \"$VERSION\" == \"latest\" ]; then\r\n.\/pnx server install --latest\r\nelse\r\n.\/pnx server install --dev\r\nfi\r\nelse\r\nrm -fr libs 2>&1 >\/dev\/null\r\nif [ \"$VERSION\" == \"latest\" ]; then\r\n.\/pnx server update --latest\r\nelse\r\n.\/pnx server update --dev\r\nfi\r\nfi\r\nrm -fr tmp-GraalVM.tar.gz 2>&1 >\/dev\/null\r\ncat <<EOF\r\n----------------------------------------\r\n| |\r\n| PowerNukkitX Installation Done |\r\n| |\r\n----------------------------------------\r\nEOF",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version to install",
|
||||
"description": "Choose between latest or dev",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "AutoReboot mode",
|
||||
"description": "to set auto reboot mode please enter -r",
|
||||
"env_variable": "AUTOREBOOT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:2",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
52
bedrock/PowerNukkitX/egg-pterodactyl-power-nukkit-x.json
Normal file
52
bedrock/PowerNukkitX/egg-pterodactyl-power-nukkit-x.json
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/PowerNukkitX/egg-pterodactyl-power-nukkit-x.json",
|
||||
"version": "PTDL_v2"
|
||||
},
|
||||
"exported_at": "2024-06-01T19:39:55+00:00",
|
||||
"name": "PowerNukkitX",
|
||||
"author": "powernukkitx@github.com",
|
||||
"description": "PowerNukkitX support for Pterodactyl",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io/pelican-eggs/yolks:debian": "ghcr.io/pelican-eggs/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "./pnx start {{AUTOREBOOT}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash",
|
||||
"script": "#!/bin/bash\r\napt-get update\r\napt-get install -y git curl wget jq file tar unzip zip openssl\r\nmkdir -p /mnt/server/ # Not required. Only here for parkervcp's local test setup\r\ncd /mnt/server || exit 1\r\nUPGRADE=\"no\"\r\nif [ -d \"./java\" ]; then\r\nUPGRADE=\"yes\"\r\nfi\r\nwget https://github.com/PowerNukkitX/PNX-CLI/releases/download/0.1.6/PNX-CLI-Linux-x86.zip -O pnx.zip\r\nwget https://raw.githubusercontent.com/PowerNukkitX/PowerNukkitX/master/src/main/resources/default-nukkit.yml -O nukkit.yml\r\nunzip pnx.zip\r\nrm -fr pnx.zip 2\u003e\u00261 \u003e/dev/null\r\nmv ./target/linux-x86/pnx ./ 2\u003e\u00261 \u003e/dev/null\r\nrm -fr target 2\u003e\u00261 \u003e/dev/null\r\nrm -fr java 2\u003e\u00261 \u003e/dev/null\r\nchmod +x pnx\r\n./pnx jvm install=GraalVM\r\nif [ \"$UPGRADE\" == \"no\" ]; then\r\nif [ \"$VERSION\" == \"latest\" ]; then\r\n./pnx server install --latest\r\nelse\r\n./pnx server install --dev\r\nfi\r\nelse\r\nrm -fr libs 2\u003e\u00261 \u003e/dev/null\r\nif [ \"$VERSION\" == \"latest\" ]; then\r\n./pnx server update --latest\r\nelse\r\n./pnx server update --dev\r\nfi\r\nfi\r\nrm -fr tmp-GraalVM.tar.gz 2\u003e\u00261 \u003e/dev/null\r\ncat \u003c\u003cEOF\r\n----------------------------------------\r\n| |\r\n| PowerNukkitX Installation Done |\r\n| |\r\n----------------------------------------\r\nEOF"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version to install",
|
||||
"description": "Choose between latest or dev",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "AutoReboot mode",
|
||||
"description": "to set auto reboot mode please enter -r",
|
||||
"env_variable": "AUTOREBOOT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:2",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
162
bedrock/PowerNukkitX/nukkit.yml
Normal file
162
bedrock/PowerNukkitX/nukkit.yml
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
# Advanced configuration file for Nukkit
|
||||
# Some of these settings are safe, others can break your server if modified incorrectly
|
||||
# New settings/defaults won't appear automatically on this file when upgrading
|
||||
|
||||
settings:
|
||||
# Multi-language setting
|
||||
# Available: eng, chs, cht, jpn, rus, spa, pol, bra, kor, ukr, deu, ltu, idn, cze, tur, fin, vie, fra
|
||||
language: eng
|
||||
# Whether to send all strings translated to server locale or let the device handle them
|
||||
force-language: false
|
||||
shutdown-message: "Server closed"
|
||||
# Allow listing plugins via Query
|
||||
query-plugins: true
|
||||
# Show a console message when a plugin uses deprecated API methods
|
||||
deprecated-verbose: true
|
||||
# Number of AsyncTask workers
|
||||
# If set to auto, it'll try to detect the number of cores (and at least 4)
|
||||
async-workers: auto
|
||||
safe-spawn: true
|
||||
waterdogpe: false
|
||||
|
||||
network:
|
||||
maximum-stale-datagrams: 512
|
||||
# Threshold for batching packets, in bytes. Only these packets will be compressed
|
||||
# Set to 0 to compress everything, -1 to disable
|
||||
batch-threshold: 256
|
||||
# Compression level used of Zlib when sending batched packets. Higher = more CPU, less bandwidth usage
|
||||
compression-level: 7
|
||||
# Use AsyncTasks for compression. Adds half/one tick delay, less CPU load on main thread
|
||||
async-compression: false
|
||||
# 0:Create a new compressor for each compression request
|
||||
# 1:All compression requests are done with only one thread and one compressor
|
||||
# 2:Using the original Nukkit server-side algorithm for high stability, using ThreadLocal to create a compressor for each thread
|
||||
# 3:Modern hardware acceleration using the PowerNukkitX server, which improves on the original algorithm.
|
||||
zlib-provider: 2
|
||||
snappy: false
|
||||
|
||||
debug:
|
||||
# If > 1, it will show debug messages in the console
|
||||
level: 1
|
||||
# Enables commands: /status /gc
|
||||
commands: false
|
||||
ignored-packets:
|
||||
- LevelChunkPacket
|
||||
|
||||
timings:
|
||||
# Turn off the timing completely, no timing object will be created, which can help improve performance
|
||||
completely-close: false
|
||||
# Enable core and plugin timings by default
|
||||
enabled: false
|
||||
# Enable monitoring at verbose level, include high-frequency timings
|
||||
verbose: false
|
||||
# Interval between history frames in ticks
|
||||
# Default is 5 minutes (6000 ticks)
|
||||
history-interval: 6000
|
||||
# Length of the whole timing history in ticks
|
||||
# Default is 1 hour (72000 ticks)
|
||||
# This value is capped at a maximum of history-interval * 12
|
||||
history-length: 72000
|
||||
# For special cases of servers with special permission to bypass the max
|
||||
# This max helps keep data file sizes reasonable for processing on Aikar's Timing parser side
|
||||
# Setting this will not help you bypass the max unless Aikar has added an exception on the API side
|
||||
bypass-max: false
|
||||
# If set to true, name of your server won't be sent
|
||||
privacy: false
|
||||
ignore: []
|
||||
|
||||
level-settings:
|
||||
# The default format that levels will use when created
|
||||
default-format: anvil
|
||||
# Automatically change levels tick rate to maintain 20 ticks per second
|
||||
auto-tick-rate: true
|
||||
auto-tick-rate-limit: 20
|
||||
# Sets the base tick rate (1 = 20 ticks per second, 2 = 10 ticks per second, etc.)
|
||||
base-tick-rate: 1
|
||||
# Tick all players each tick even when other settings disallow this
|
||||
always-tick-players: false
|
||||
tick-redstone: true
|
||||
|
||||
chunk-saving:
|
||||
maximum-size-per-chunk: 1048576
|
||||
|
||||
chunk-sending:
|
||||
# Amount of chunks sent to players per tick
|
||||
per-tick: 8
|
||||
# Amount of chunks sent around each player
|
||||
max-chunks: 192
|
||||
# Amount of chunks that need to be sent before spawning the player
|
||||
spawn-threshold: 56
|
||||
# Save a serialized copy of the chunk in memory for faster sending
|
||||
# Useful in mostly-static worlds where lots of players join at the same time
|
||||
cache-chunks: false
|
||||
|
||||
chunk-ticking:
|
||||
# Max amount of chunks processed each tick
|
||||
per-tick: 40
|
||||
# Radius of chunks around a player to tick
|
||||
tick-radius: 3
|
||||
light-updates: false
|
||||
clear-tick-list: false
|
||||
|
||||
chunk-generation:
|
||||
# Max. amount of chunks in the waiting queue to be generated
|
||||
queue-size: 8
|
||||
# Max. amount of chunks in the waiting queue to be populated
|
||||
population-queue-size: 8
|
||||
|
||||
# Max tick rate for these entities
|
||||
ticks-per:
|
||||
animal-spawns: 400
|
||||
monster-spawns: 1
|
||||
autosave: 6000
|
||||
cache-cleanup: 900
|
||||
|
||||
memory-compression:
|
||||
enable: true
|
||||
slots: 32
|
||||
default-temperature: 32
|
||||
threshold:
|
||||
freezing-point: 0
|
||||
boiling-point: 1024
|
||||
absolute-zero: -256
|
||||
heat:
|
||||
melting: 16
|
||||
single-operation: 1
|
||||
batch-operation: 32
|
||||
|
||||
|
||||
# Max amount of these entities
|
||||
spawn-limits:
|
||||
monsters: 70
|
||||
animals: 15
|
||||
water-animals: 5
|
||||
ambient: 15
|
||||
|
||||
player:
|
||||
# If true, player data will be saved as players/playername.dat
|
||||
# If false, nukkit won't save player data as "dat" files, in order that plugins can do something on it.
|
||||
save-player-data: true
|
||||
# The time between skin change action in seconds, set to 0 if you dont want the cooldown
|
||||
skin-change-cooldown: 30
|
||||
force-skin-trusted: false
|
||||
check-movement: true
|
||||
|
||||
aliases:
|
||||
# Aliases for commands
|
||||
# Examples:
|
||||
# showtheversion: version
|
||||
# savestop: [save-all, stop]
|
||||
|
||||
worlds:
|
||||
# These settings will override the generator set in server.properties and allows loading multiple levels
|
||||
# Examples:
|
||||
#world:
|
||||
# seed: 404
|
||||
# generator: FLAT:2;7,59x1,3x3,2;1;decoration(treecount=80 grasscount=45)
|
||||
|
||||
anti-xray:
|
||||
#world:
|
||||
# enabled: true
|
||||
# level: low
|
||||
# pre-deobfuscate: true
|
||||
40
bedrock/PowerNukkitX/server.properties
Normal file
40
bedrock/PowerNukkitX/server.properties
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
#Properties Config file
|
||||
#2023-07-06 06:07:52
|
||||
motd=PowerNukkitX Server
|
||||
sub-motd=https://powernukkitx.cn
|
||||
server-port=19132
|
||||
server-ip=0.0.0.0
|
||||
view-distance=12
|
||||
white-list=off
|
||||
achievements=on
|
||||
announce-player-achievements=on
|
||||
spawn-protection=16
|
||||
max-players=20
|
||||
allow-flight=off
|
||||
spawn-animals=on
|
||||
spawn-mobs=on
|
||||
gamemode=0
|
||||
force-gamemode=off
|
||||
hardcore=off
|
||||
pvp=on
|
||||
difficulty=1
|
||||
generator-settings=
|
||||
level-name=world
|
||||
level-seed=
|
||||
level-type=DEFAULT
|
||||
allow-nether=on
|
||||
allow-the_end=on
|
||||
use-terra=on
|
||||
enable-experiment-mode=on
|
||||
enable-query=on
|
||||
enable-rcon=off
|
||||
rcon.password=
|
||||
auto-save=on
|
||||
force-resources=off
|
||||
force-resources-allow-client-packs=off
|
||||
xbox-auth=on
|
||||
check-login-time=on
|
||||
disable-auto-bug-report=off
|
||||
allow-shaded=off
|
||||
server-authoritative-movement=server-auth
|
||||
network-encryption=on
|
||||
94
bedrock/egg-pterodactyl-vanilla-bedrock-a-r-m64.json
Normal file
94
bedrock/egg-pterodactyl-vanilla-bedrock-a-r-m64.json
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/bedrock/egg-pterodactyl-vanilla-bedrock-a-r-m64.json"
|
||||
},
|
||||
"exported_at": "2025-06-18T12:40:19+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\/pelican-eggs\/yolks:box64": "ghcr.io\/pelican-eggs\/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:\/\/net-secondary.web.minecraft-services.net\/api\/v1.0\/download\/links\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/www.minecraft.net\/bedrockdedicatedserver\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/www.minecraft.net\/bedrockdedicatedserver\/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 allowlist.json allowlist.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 allowlist.json.bak allowlist.json\r\n\r\nchmod +x bedrock_server\r\n\r\necho -e \"Install Completed\"",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"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"
|
||||
}
|
||||
]
|
||||
}
|
||||
104
bedrock/egg-pterodactyl-vanilla-bedrock.json
Normal file
104
bedrock/egg-pterodactyl-vanilla-bedrock.json
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/bedrock/egg-pterodactyl-vanilla-bedrock.json"
|
||||
},
|
||||
"exported_at": "2025-06-18T12:40:19+02:00",
|
||||
"name": "Vanilla Bedrock",
|
||||
"author": "parker@parkervcp.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\/pelican-eggs\/yolks:debian": "ghcr.io\/pelican-eggs\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/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 \"level-name\": \"{{server.build.env.WORLDNAME}}\",\r\n \"allow-cheats\": \"{{server.build.env.CHEATS}}\"\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:\/\/net-secondary.web.minecraft-services.net\/api\/v1.0\/download\/links\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/www.minecraft.net\/bedrockdedicatedserver\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/www.minecraft.net\/bedrockdedicatedserver\/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 allowlist.json allowlist.json.bak\r\n\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 -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 allowlist.json.bak allowlist.json\r\n\r\nchmod +x bedrock_server\r\n\r\necho -e \"Install Completed\"",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"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"
|
||||
},
|
||||
{
|
||||
"name": "Choose World",
|
||||
"description": "If you have multiple world files, Enter the World Folder Name you want to Select to Start the Server",
|
||||
"env_variable": "WORLDNAME",
|
||||
"default_value": "default",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:100",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
bedrock/gomint/README.md
Normal file
11
bedrock/gomint/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# gomint
|
||||
|
||||
Easy-to-use, highly configurable Minecraft Bedrock Edition
server software with the ability to sustain in a low-resource environment.
|
||||
|
||||
### Server Ports
|
||||
|
||||
Bedrock server require a single port (default 19132)
|
||||
|
||||
| Port | default |
|
||||
|---------|----------|
|
||||
| Game | 19132 |
|
||||
42
bedrock/gomint/egg-go-mint.json
Normal file
42
bedrock/gomint/egg-go-mint.json
Normal file
|
|
@ -0,0 +1,42 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/gomint/egg-go-mint.json"
|
||||
},
|
||||
"exported_at": "2026-04-21T19:02:00+00:00",
|
||||
"name": "GoMint",
|
||||
"author": "parker@parkervcp.com",
|
||||
"uuid": "6ef2bba9-b43b-47a5-9ee6-0a811ce6e3ba",
|
||||
"description": "A performant and stable Minecraft server software for the Bedrock Edition that comes with a modern API and support for Java 11 LTS.",
|
||||
"tags": [
|
||||
"minecraft"
|
||||
],
|
||||
"features": [
|
||||
"eula",
|
||||
"java_version",
|
||||
"pid_limit"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_8": "ghcr.io\/pelican-eggs\/yolks:java_8",
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_11": "ghcr.io\/pelican-eggs\/yolks:java_11",
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_16": "ghcr.io\/pelican-eggs\/yolks:java_16",
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_17": "ghcr.io\/pelican-eggs\/yolks:java_17"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "java --add-opens java.base\/java.nio=io.netty.common --add-exports java.base\/jdk.internal.misc=io.netty.common -p modules -m gomint.server\/io.gomint.server.Bootstrap",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.yml\": {\r\n \"parser\": \"yml\",\r\n \"find\": {\r\n \"listener.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Done in \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=gomint\/gomint\r\n\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\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# retrieve latest tag to be used as version match, because gomint doesn't use normal releases\r\nLATEST_VERSION=$(curl -sL https:\/\/api.github.com\/repos\/gomint\/gomint\/tags | jq -r '.[-1].name')\r\n\r\nDOWNLOAD_URL=https:\/\/github.com\/gomint\/gomint\/releases\/download\/${LATEST_VERSION}\/${LATEST_VERSION}.zip\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 \"download link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"download link is invalid, something went wrong. Closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -o ${VALIDATED_URL##*\/} ${VALIDATED_URL}\r\n\r\nFILETYPE=$(file -F ',' ${VALIDATED_URL##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${VALIDATED_URL##*\/} -d modules\/\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${VALIDATED_URL##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\n# Move files into correct folders and remove unnecessary stuff\r\nrm ${VALIDATED_URL##*\/}\r\nmv modules\/modules\/* modules\r\nrm -rf modules\/modules\r\nrm modules\/start.*\r\n\r\n# Fetch server config\r\nif [ ! -f server.yml ]; then\r\n curl -sSL -o server.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/gomint\/server.yml\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
38
bedrock/gomint/egg-pterodactyl-go-mint.json
Normal file
38
bedrock/gomint/egg-pterodactyl-go-mint.json
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/gomint/egg-pterodactyl-go-mint.json",
|
||||
"version": "PTDL_v2"
|
||||
},
|
||||
"exported_at": "2024-06-01T19:39:46+00:00",
|
||||
"name": "GoMint",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A performant and stable Minecraft server software for the Bedrock Edition that comes with a modern API and support for Java 11 LTS.",
|
||||
"features": [
|
||||
"eula",
|
||||
"java_version",
|
||||
"pid_limit"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io/pelican-eggs/yolks:java_11": "ghcr.io/pelican-eggs/yolks:java_11",
|
||||
"ghcr.io/pelican-eggs/yolks:java_16": "ghcr.io/pelican-eggs/yolks:java_16",
|
||||
"ghcr.io/pelican-eggs/yolks:java_17": "ghcr.io/pelican-eggs/yolks:java_17",
|
||||
"ghcr.io/pelican-eggs/yolks:java_8": "ghcr.io/pelican-eggs/yolks:java_8"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "java --add-opens java.base/java.nio=io.netty.common --add-exports java.base/jdk.internal.misc=io.netty.common -p modules -m gomint.server/io.gomint.server.Bootstrap",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.yml\": {\r\n \"parser\": \"yml\",\r\n \"find\": {\r\n \"listener.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \"Done in \"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash",
|
||||
"script": "#! /bin/bash\r\n\r\nGITHUB_PACKAGE=gomint/gomint\r\n\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nif [ ! -d /mnt/server/ ]; then\r\n mkdir -p /mnt/server/\r\nfi\r\n\r\ncd /mnt/server/\r\n\r\nif [ -z \"${GITHUB_USER}\" ] \u0026\u0026 [ -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# retrieve latest tag to be used as version match, because gomint doesn't use normal releases\r\nLATEST_VERSION=$(curl -sL https://api.github.com/repos/gomint/gomint/tags | jq -r '.[-1].name')\r\n\r\nDOWNLOAD_URL=https://github.com/gomint/gomint/releases/download/${LATEST_VERSION}/${LATEST_VERSION}.zip\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 \"download link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"download link is invalid, something went wrong. Closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -o ${VALIDATED_URL##*/} ${VALIDATED_URL}\r\n\r\nFILETYPE=$(file -F ',' ${VALIDATED_URL##*/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${VALIDATED_URL##*/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${VALIDATED_URL##*/} -d modules/\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${VALIDATED_URL##*/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\n# Move files into correct folders and remove unnecessary stuff\r\nrm ${VALIDATED_URL##*/}\r\nmv modules/modules/* modules\r\nrm -rf modules/modules\r\nrm modules/start.*\r\n\r\n# Fetch server config\r\nif [ ! -f server.yml ]; then\r\n curl -sSL -o server.yml https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/minecraft/bedrock/gomint/server.yml\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\""
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
4
bedrock/gomint/server.yml
Normal file
4
bedrock/gomint/server.yml
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
# The host and port to bind the server to
|
||||
listener:
|
||||
port: 19132
|
||||
ip: 0.0.0.0
|
||||
9
bedrock/nukkit/README.md
Normal file
9
bedrock/nukkit/README.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# Nukkit
|
||||
|
||||
[Old Nukkit GitHub](https://github.com/Nukkit/Nukkit)
|
||||
|
||||
## Nukkit is Abandoned, uses NukkitX now
|
||||
|
||||
[NukkitX](https://github.com/CloudburstMC/Nukkit)
|
||||
|
||||
Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition
|
||||
72
bedrock/nukkit/egg-nukkit.json
Normal file
72
bedrock/nukkit/egg-nukkit.json
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/nukkit/egg-nukkit.json"
|
||||
},
|
||||
"exported_at": "2026-04-21T19:02:00+00:00",
|
||||
"name": "Nukkit",
|
||||
"author": "parker@parkervcp.com",
|
||||
"uuid": "5669130a-d4a2-4a80-88b6-9edd2d9484bc",
|
||||
"description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/cloudburstmc.org",
|
||||
"tags": [
|
||||
"minecraft"
|
||||
],
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_11": "ghcr.io\/pelican-eggs\/yolks:java_11",
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_16": "ghcr.io\/pelican-eggs\/yolks:java_16",
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_8": "ghcr.io\/pelican-eggs\/yolks:java_8",
|
||||
"ghcr.io\/pelican-eggs\/yolks:java_17": "ghcr.io\/pelican-eggs\/yolks:java_17"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \")! \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.opencollab.dev\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.opencollab.dev\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f server.properties ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi\r\n\r\necho -s \"Install completed!\"",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Jar File",
|
||||
"description": "The name of the server jarfile to run the server with.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "server.jar",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Download Path",
|
||||
"description": "A URL to use to download Nukkit rather than building it on the server. This is not user viewable. Use <code>{{DL_VERSION}}<\/code> in the URL to automatically insert the assigned version into the URL. If you do not enter a URL Spigot will build directly in the container (this will fail on low memory containers).",
|
||||
"env_variable": "DL_PATH",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "nukkit version",
|
||||
"description": "The version of Nukkitt to download (using the --rev tag). Use \"latest\" for latest.",
|
||||
"env_variable": "NUKKIT_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"sort": null,
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
65
bedrock/nukkit/egg-pterodactyl-nukkit.json
Normal file
65
bedrock/nukkit/egg-pterodactyl-nukkit.json
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/nukkit/egg-pterodactyl-nukkit.json",
|
||||
"version": "PTDL_v2"
|
||||
},
|
||||
"exported_at": "2024-06-01T19:39:55+00:00",
|
||||
"name": "Nukkit",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps://cloudburstmc.org",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io/pelican-eggs/yolks:java_11": "ghcr.io/pelican-eggs/yolks:java_11",
|
||||
"ghcr.io/pelican-eggs/yolks:java_16": "ghcr.io/pelican-eggs/yolks:java_16",
|
||||
"ghcr.io/pelican-eggs/yolks:java_17": "ghcr.io/pelican-eggs/yolks:java_17",
|
||||
"ghcr.io/pelican-eggs/yolks:java_8": "ghcr.io/pelican-eggs/yolks:java_8"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"logs": "{}",
|
||||
"startup": "{\r\n \"done\": \")! \"\r\n}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:alpine",
|
||||
"entrypoint": "ash",
|
||||
"script": "#!/bin/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: /mnt/server\r\napk add --no-cache curl openssl\r\n\r\ncd /mnt/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's/{{/${/g' -e 's/}}/}/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/master/lastSuccessfulBuild/artifact/target/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https://ci.opencollab.dev/job/NukkitX/job/Nukkit/job/master/${NUKKIT_VERSION}/artifact/target/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/minecraft/bedrock/nukkit/nukkit.yml\r\nfi\r\n\r\nif [ ! -f server.properties ]; then\r\n wget https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/minecraft/bedrock/nukkit/server.properties\r\nfi\r\n\r\necho -s \"Install completed!\""
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Jar File",
|
||||
"description": "The name of the server jarfile to run the server with.",
|
||||
"env_variable": "SERVER_JARFILE",
|
||||
"default_value": "server.jar",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|regex:/^([\\w\\d._-]+)(\\.jar)$/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Download Path",
|
||||
"description": "A URL to use to download Nukkit rather than building it on the server. This is not user viewable. Use \u003ccode\u003e{{DL_VERSION}}\u003c/code\u003e in the URL to automatically insert the assigned version into the URL. If you do not enter a URL Spigot will build directly in the container (this will fail on low memory containers).",
|
||||
"env_variable": "DL_PATH",
|
||||
"default_value": "",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "nukkit version",
|
||||
"description": "The version of Nukkitt to download (using the --rev tag). Use \"latest\" for latest.",
|
||||
"env_variable": "NUKKIT_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
122
bedrock/nukkit/nukkit.yml
Normal file
122
bedrock/nukkit/nukkit.yml
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
# Advanced configuration file for Nukkit
|
||||
# Some of these settings are safe, others can break your server if modified incorrectly
|
||||
# New settings/defaults won't appear automatically on this file when upgrading
|
||||
|
||||
settings:
|
||||
#Multi-language setting
|
||||
#Available: eng, chs, cht, jpn, rus, spa, pol, bra, kor, ukr, deu
|
||||
language: "eng"
|
||||
#Whether to send all strings translated to server locale or let the device handle them
|
||||
force-language: false
|
||||
shutdown-message: "Server closed"
|
||||
#Allow listing plugins via Query
|
||||
query-plugins: true
|
||||
#Show a console message when a plugin uses deprecated API methods
|
||||
deprecated-verbose: true
|
||||
#Number of AsyncTask workers
|
||||
#If set to auto, it'll try to detect the number of cores (and at least 4)
|
||||
async-workers: auto
|
||||
|
||||
network:
|
||||
#Threshold for batching packets, in bytes. Only these packets will be compressed
|
||||
#Set to 0 to compress everything, -1 to disable
|
||||
batch-threshold: 256
|
||||
#Compression level used of Zlib when sending batched packets. Higher = more CPU, less bandwidth usage
|
||||
compression-level: 7
|
||||
#Use AsyncTasks for compression. Adds half/one tick delay, less CPU load on main thread
|
||||
async-compression: false
|
||||
|
||||
debug:
|
||||
#If > 1, it will show debug messages in the console
|
||||
level: 1
|
||||
#Enables commands: /status /gc
|
||||
commands: false
|
||||
|
||||
timings:
|
||||
#Enable core and plugin timings by default
|
||||
enabled: false
|
||||
#Enable monitoring at verbose level, include high-frequency timings
|
||||
verbose: false
|
||||
#Interval between history frames in ticks
|
||||
#Default is 5 minutes (6000 ticks)
|
||||
history-interval: 6000
|
||||
#Length of the whole timing history in ticks
|
||||
#Default is 1 hour (72000 ticks)
|
||||
#This value is capped at a maximum of history-interval * 12
|
||||
history-length: 72000
|
||||
#For special cases of servers with special permission to bypass the max
|
||||
#This max helps keep data file sizes reasonable for processing on Aikar's Timing parser side
|
||||
#Setting this will not help you bypass the max unless Aikar has added an exception on the API side
|
||||
bypass-max: false
|
||||
#If set to true, name of your server won't be sent
|
||||
privacy: false
|
||||
#Settings sections to ignore. These sections won't be sent to Aikar's Timing parser
|
||||
#For example: [all] or [settings, timings]
|
||||
ignore: []
|
||||
|
||||
level-settings:
|
||||
#The default format that levels will use when created
|
||||
default-format: mcregion
|
||||
#Automatically change levels tick rate to maintain 20 ticks per second
|
||||
auto-tick-rate: true
|
||||
auto-tick-rate-limit: 20
|
||||
#Sets the base tick rate (1 = 20 ticks per second, 2 = 10 ticks per second, etc.)
|
||||
base-tick-rate: 1
|
||||
#Tick all players each tick even when other settings disallow this
|
||||
always-tick-players: false
|
||||
|
||||
chunk-sending:
|
||||
#Amount of chunks sent to players per tick
|
||||
per-tick: 4
|
||||
#Amount of chunks sent around each player
|
||||
max-chunks: 192
|
||||
#Amount of chunks that need to be sent before spawning the player
|
||||
spawn-threshold: 56
|
||||
#Save a serialized copy of the chunk in memory for faster sending
|
||||
#Useful in mostly-static worlds where lots of players join at the same time
|
||||
cache-chunks: false
|
||||
|
||||
chunk-ticking:
|
||||
#Max amount of chunks processed each tick
|
||||
per-tick: 40
|
||||
#Radius of chunks around a player to tick
|
||||
tick-radius: 3
|
||||
light-updates: false
|
||||
clear-tick-list: false
|
||||
|
||||
chunk-generation:
|
||||
#Max. amount of chunks in the waiting queue to be generated
|
||||
queue-size: 8
|
||||
#Max. amount of chunks in the waiting queue to be populated
|
||||
population-queue-size: 8
|
||||
|
||||
ticks-per:
|
||||
animal-spawns: 400
|
||||
monster-spawns: 1
|
||||
autosave: 6000
|
||||
cache-cleanup: 900
|
||||
|
||||
spawn-limits:
|
||||
#Max amount of these entities
|
||||
monsters: 70
|
||||
animals: 15
|
||||
water-animals: 5
|
||||
ambient: 15
|
||||
|
||||
player:
|
||||
#If true, player data will be saved as players/playername.dat
|
||||
#If false, nukkit won't save player data as "dat" files, in order that plugins can do something on it.
|
||||
save-player-data: true
|
||||
|
||||
aliases:
|
||||
#Aliases for commands
|
||||
#Examples:
|
||||
#showtheversion: version
|
||||
#savestop: [save-all, stop]
|
||||
|
||||
worlds:
|
||||
#These settings will override the generator set in server.properties and allows loading multiple levels
|
||||
#Example:
|
||||
#world:
|
||||
# seed: 404
|
||||
# generator: FLAT:2;7,59x1,3x3,2;1;decoration(treecount=80 grasscount=45)
|
||||
31
bedrock/nukkit/server.properties
Normal file
31
bedrock/nukkit/server.properties
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
#Properties Config file
|
||||
#2018-05-13 08:00:20
|
||||
motd=Nukkit Server For Minecraft: PE
|
||||
sub-motd=Powered by Nukkit
|
||||
server-port=19132
|
||||
server-ip=0.0.0.0
|
||||
view-distance=10
|
||||
white-list=off
|
||||
achievements=on
|
||||
announce-player-achievements=on
|
||||
spawn-protection=16
|
||||
max-players=20
|
||||
allow-flight=off
|
||||
spawn-animals=on
|
||||
spawn-mobs=on
|
||||
gamemode=0
|
||||
force-gamemode=off
|
||||
hardcore=off
|
||||
pvp=on
|
||||
difficulty=1
|
||||
generator-settings=
|
||||
level-name=world
|
||||
level-seed=
|
||||
level-type=DEFAULT
|
||||
enable-query=on
|
||||
enable-rcon=off
|
||||
rcon.password=wMDM2Y2EwN
|
||||
auto-save=on
|
||||
force-resources=off
|
||||
bug-report=on
|
||||
xbox-auth=on
|
||||
5
bedrock/pocketmine_mp/README.md
Normal file
5
bedrock/pocketmine_mp/README.md
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
# PocketMine MP
|
||||
|
||||
[PocketMine MP](https://github.com/pmmp/PocketMine-MP)
|
||||
|
||||
A server software for Minecraft: Bedrock Edition in PHP
|
||||
53
bedrock/pocketmine_mp/egg-pocketmine-m-p.json
Normal file
53
bedrock/pocketmine_mp/egg-pocketmine-m-p.json
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PANEL",
|
||||
"meta": {
|
||||
"version": "PLCN_v3",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/pocketmine_mp/egg-pocketmine-m-p.json"
|
||||
},
|
||||
"exported_at": "2026-04-21T19:02:00+00:00",
|
||||
"name": "PocketmineMP",
|
||||
"author": "info@swisscrafting.ch",
|
||||
"uuid": "4c3baab1-67ad-48c7-8acd-eb3deaa0a462",
|
||||
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pelican Discord :)",
|
||||
"image": null,
|
||||
"tags": [
|
||||
"minecraft"
|
||||
],
|
||||
"features": [],
|
||||
"docker_images": {
|
||||
"ghcr.io/pelican-eggs/yolks:debian": "ghcr.io/pelican-eggs/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup_commands": {
|
||||
"Default": "./bin/php7/bin/php ./PocketMine-MP.phar --no-wizard"
|
||||
},
|
||||
"config": {
|
||||
"files": "{\n \"server.properties\": {\n \"parser\": \"properties\",\n \"find\": {\n \"server-ip\": \"0.0.0.0\",\n \"enable-query\": \"true\",\n \"server-port\": \"{{server.allocations.default.port}}\",\n \"query.port\": \"{{server.allocations.default.port}}\"\n }\n }\n}",
|
||||
"startup": "{\n \"done\": \")! \"\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!/bin/bash\n\napt-get update\napt-get install -y git curl wget jq file tar unzip zip\n\nmkdir -p /mnt/server/ # Not required. Only here for parkervcp's local test setup\n\ncd /mnt/server || exit 1\n\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && printf \"x86_64\" || printf \"arm64\")\n\n# Shouldn't be possible to be empty, but default to PM5 if it is and convert to uppercase\nVERSION=\"${VERSION:-PM5}\"\nVERSION=\"${VERSION^^}\"\n\n# Helper functions\n\ndownload_php_binary() {\n local php_binary_url\n if [[ \"$VERSION\" == \"PM5\" ]]; then\n php_binary_url=\"https://github.com/pmmp/PHP-Binaries/releases/download/pm5-latest/PHP-8.2-Linux-${ARCH}-PM5.tar.gz\"\n elif [[ \"$VERSION\" == \"PM5PHP83\" ]]; then\n php_binary_url=\"https://github.com/pmmp/PHP-Binaries/releases/download/pm5-php-8.3-latest/PHP-8.3-Linux-${ARCH}-PM5.tar.gz\"\n elif [[ \"$VERSION\" == \"PM5PHP84\" ]]; then\n php_binary_url=\"https://github.com/pmmp/PHP-Binaries/releases/download/pm5-php-8.4-latest/PHP-8.4-Linux-${ARCH}-PM5.tar.gz\"\n elif [[ \"$VERSION\" == \"PM4\" ]]; then\n php_binary_url=\"https://github.com/pmmp/PHP-Binaries/releases/download/pm4-latest/PHP-8.1-Linux-${ARCH}-PM4.tar.gz\"\n else\n printf \"Unsupported version: %s\\n\" \"${VERSION}\"\n exit 1\n fi\n\n printf \"Downloading PHP binary for %s from %s\\n\" \"$VERSION\" \"$php_binary_url\"\n curl --location --progress-bar \"$php_binary_url\" | tar -xzv\n}\n\nset_php_extension_dir() {\n printf \"Configuring php.ini\\n\"\n EXTENSION_DIR=$(find \"bin\" -name '*debug-zts*')\n grep -q '^extension_dir' bin/php7/bin/php.ini && \\\n sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin/php7/bin/php.ini || \\\n echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin/php7/bin/php.ini\n}\n\ndownload_pmmp() {\n DOWNLOAD_LINK=$(curl -sSL https://update.pmmp.io/api?channel=\"$API_CHANNEL\" | jq -r '.download_url')\n printf \"Downloading %s from %s\\n\" \"$VERSION\" \"${DOWNLOAD_LINK}\"\n curl --location --progress-bar \"${DOWNLOAD_LINK}\" --output PocketMine-MP.phar\n}\n\n# We have to convert VERSION into an API channel\nif [[ \"${VERSION}\" == \"PM4\" ]]; then\n API_CHANNEL=\"4\"\nelif [[ \"$VERSION\" == \"PM5\" ]] || [[ \"$VERSION\" == \"PM5PHP83\" ]] || [[ \"$VERSION\" == \"PM5PHP84\" ]]; then\n API_CHANNEL=\"stable\"\nelse\n printf \"Unsupported version: %s\\n\" \"${VERSION}\"\n exit 1\nfi\n\nREQUIRED_PHP_VERSION=$(curl -sSL https://update.pmmp.io/api?channel=\"$API_CHANNEL\" | jq -r '.php_version')\n\nif [[ \"${ARCH}\" == \"x86_64\" ]]; then\n download_php_binary\n\n# There are no ARM64 PHP binaries yet, so we have to compile them\nelse\n apt-get install -y make autoconf automake m4 bzip2 bison g++ cmake pkg-config re2c libtool-bin\n \n mkdir -p /mnt/server/build_cache/archives\n mkdir -p /mnt/server/build_cache/compilation\n \n # Each PHP version has its own compile script, so we have to download the correct one\n echo \"Running curl to download compile.sh for PHP version $REQUIRED_PHP_VERSION\"\n curl --location --progress-bar --remote-name https://raw.githubusercontent.com/pmmp/PHP-Binaries/latest/compile.sh\n chmod +x compile.sh\n\n cat <<EOF\n----------------------------------------\n| |\n| Compiling PHP Binary for ARM64 |\n| |\n| This is a time consuming process |\n----------------------------------------\nEOF\n\n printf \"\\n\\nCompiling PHP binary, this is a slow process and will take time\\n\"\n THREADS=$(grep -c ^processor /proc/cpuinfo) || THREADS=1\n ./compile.sh -j \"${THREADS}\" -c /mnt/server/build_cache/archives -l /mnt/server/build_cache/compilation -z \"${REQUIRED_PHP_VERSION}\"\n rm compile.sh\n rm -rf install_data/\n\nfi\n\n# Steps below are the same for both architectures\ndownload_pmmp\nset_php_extension_dir || exit 1\n\nif [[ ! -f server.properties ]]; then\n printf \"Downloading default server.properties template\\n\"\n curl --location --progress-bar --remote-name https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/minecraft/bedrock/pocketmine_mp/server.properties\nfi\n\nprintf \"Creating default file and folder structure\\n\"\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\nmkdir -p players worlds plugins resource_packs\n\ncat <<EOF\n----------------------------------------\n| |\n| PocketMine-MP Installation Done |\n| |\n----------------------------------------\nEOF",
|
||||
"container": "ghcr.io/pelican-eggs/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"sort": 1,
|
||||
"name": "Version to install",
|
||||
"description": "PocketMine version and PHP version to install.",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "PM5PHP83",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": [
|
||||
"required",
|
||||
"string",
|
||||
"in:PM5,PM5PHP83,PM5PHP84,PM4"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
43
bedrock/pocketmine_mp/egg-pterodactyl-pocketmine-m-p.json
Normal file
43
bedrock/pocketmine_mp/egg-pterodactyl-pocketmine-m-p.json
Normal file
|
|
@ -0,0 +1,43 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": "https://raw.githubusercontent.com/pelican-eggs/minecraft/refs/heads/main/bedrock/pocketmine_mp/egg-pterodactyl-pocketmine-m-p.json"
|
||||
},
|
||||
"exported_at": "2025-12-06T14:24:50+00:00",
|
||||
"name": "PocketmineMP",
|
||||
"author": "info@swisscrafting.ch",
|
||||
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pelican Discord :)",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/pelican-eggs\/yolks:debian": "ghcr.io\/pelican-eggs\/yolks:debian"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard",
|
||||
"image": null,
|
||||
"config": {
|
||||
"files": "{\n \"server.properties\": {\n \"parser\": \"properties\",\n \"find\": {\n \"server-ip\": \"0.0.0.0\",\n \"enable-query\": \"true\",\n \"server-port\": \"{{server.build.default.port}}\",\n \"query.port\": \"{{server.build.default.port}}\"\n }\n }\n}",
|
||||
"startup": "{\n \"done\": \")! \"\n}",
|
||||
"logs": "{}",
|
||||
"stop": "stop"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\n\napt-get update\napt-get install -y git curl wget jq file tar unzip zip\n\nmkdir -p \/mnt\/server\/ # Not required. Only here for parkervcp's local test setup\n\ncd \/mnt\/server || exit 1\n\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && printf \"x86_64\" || printf \"arm64\")\n\n# Shouldn't be possible to be empty, but default to PM5 if it is and convert to uppercase\nVERSION=\"${VERSION:-PM5}\"\nVERSION=\"${VERSION^^}\"\n\n# Helper functions\n\ndownload_php_binary() {\n local php_binary_url\n if [[ \"$VERSION\" == \"PM5\" ]]; then\n php_binary_url=\"https:\/\/github.com\/pmmp\/PHP-Binaries\/releases\/download\/pm5-latest\/PHP-8.2-Linux-${ARCH}-PM5.tar.gz\"\n elif [[ \"$VERSION\" == \"PM5PHP83\" ]]; then\n php_binary_url=\"https:\/\/github.com\/pmmp\/PHP-Binaries\/releases\/download\/pm5-php-8.3-latest\/PHP-8.3-Linux-${ARCH}-PM5.tar.gz\"\n elif [[ \"$VERSION\" == \"PM5PHP84\" ]]; then\n php_binary_url=\"https:\/\/github.com\/pmmp\/PHP-Binaries\/releases\/download\/pm5-php-8.4-latest\/PHP-8.4-Linux-${ARCH}-PM5.tar.gz\" \n elif [[ \"$VERSION\" == \"PM4\" ]]; then\n php_binary_url=\"https:\/\/github.com\/pmmp\/PHP-Binaries\/releases\/download\/pm4-latest\/PHP-8.1-Linux-${ARCH}-PM4.tar.gz\"\n else\n printf \"Unsupported version: %s\\n\" \"${VERSION}\"\n exit 1\n fi\n\n printf \"Downloading PHP binary for %s from %s\\n\" \"$VERSION\" \"$php_binary_url\"\n curl --location --progress-bar \"$php_binary_url\" | tar -xzv\n}\n\nset_php_extension_dir() {\n printf \"Configuring php.ini\\n\"\n EXTENSION_DIR=$(find \"bin\" -name '*debug-zts*')\n grep -q '^extension_dir' bin\/php7\/bin\/php.ini && \\\n sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || \\\n echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\n}\n\ndownload_pmmp() {\n DOWNLOAD_LINK=$(curl -sSL https:\/\/update.pmmp.io\/api?channel=\"$API_CHANNEL\" | jq -r '.download_url')\n printf \"Downloading %s from %s\\n\" \"$VERSION\" \"${DOWNLOAD_LINK}\"\n curl --location --progress-bar \"${DOWNLOAD_LINK}\" --output PocketMine-MP.phar\n}\n\n# We have to convert VERSION into an API channel\nif [[ \"${VERSION}\" == \"PM4\" ]]; then\n API_CHANNEL=\"4\"\nelif [[ \"${VERSION}\" == \"PM5\" ]] || [[ \"${VERSION}\" == \"PM5PHP83\" ]] || [[ \"${VERSION}\" == \"PM5PHP84\" ]]; then\n API_CHANNEL=\"stable\"\nelse\n printf \"Unsupported version: %s\\n\" \"${VERSION}\"\n exit 1\nfi\n\nREQUIRED_PHP_VERSION=$(curl -sSL https:\/\/update.pmmp.io\/api?channel=\"$API_CHANNEL\" | jq -r '.php_version')\n\nif [[ \"${ARCH}\" == \"x86_64\" ]]; then\n download_php_binary\n\n# There are no ARM64 PHP binaries yet, so we have to compile them\nelse\n apt-get install -y make autoconf automake m4 bzip2 bison g++ cmake pkg-config re2c libtool-bin\n \n mkdir -p \/mnt\/server\/build_cache\/archives\n mkdir -p \/mnt\/server\/build_cache\/compilation\n \n # Each PHP version has its own compile script, so we have to download the correct one\n echo \"Running curl to download compile.sh for PHP version $REQUIRED_PHP_VERSION\"\n curl --location --progress-bar --remote-name https:\/\/raw.githubusercontent.com\/pmmp\/PHP-Binaries\/latest\/compile.sh\n chmod +x compile.sh\n\n cat <<EOF\n----------------------------------------\n| |\n| Compiling PHP Binary for ARM64 |\n| |\n| This is a time consuming process |\n----------------------------------------\nEOF\n\n printf \"\\n\\nCompiling PHP binary, this is a slow process and will take time\\n\"\n THREADS=$(grep -c ^processor \/proc\/cpuinfo) || THREADS=1\n .\/compile.sh -j \"${THREADS}\" -c \/mnt\/server\/build_cache\/archives -l \/mnt\/server\/build_cache\/compilation -z \"${REQUIRED_PHP_VERSION}\"\n rm compile.sh\n rm -rf install_data\/\n\nfi\n\n# Steps below are the same for both architectures\ndownload_pmmp\nset_php_extension_dir || exit 1\n\nif [[ ! -f server.properties ]]; then\n printf \"Downloading default server.properties template\\n\"\n curl --location --progress-bar --remote-name https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/pocketmine_mp\/server.properties\nfi\n\nprintf \"Creating default file and folder structure\\n\"\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\nmkdir -p players worlds plugins resource_packs\n\ncat <<EOF\n----------------------------------------\n| |\n| PocketMine-MP Installation Done |\n| |\n----------------------------------------\nEOF",
|
||||
"container": "ghcr.io\/pelican-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version to install",
|
||||
"description": "Latest PocketMine version to install.",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "PM5PHP83",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:PM5,PM5PHP83,PM5PHP84,PM4",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
28
bedrock/pocketmine_mp/server.properties
Normal file
28
bedrock/pocketmine_mp/server.properties
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
#Properties Config file
|
||||
#Tue Jul 3 19:14:16 UTC 2018
|
||||
motd=PocketMine-MP Server
|
||||
server-port=25573
|
||||
white-list=off
|
||||
announce-player-achievements=on
|
||||
spawn-protection=16
|
||||
max-players=20
|
||||
allow-flight=off
|
||||
spawn-animals=on
|
||||
spawn-mobs=on
|
||||
gamemode=0
|
||||
force-gamemode=off
|
||||
hardcore=off
|
||||
pvp=on
|
||||
difficulty=1
|
||||
generator-settings=
|
||||
level-name=world
|
||||
level-seed=
|
||||
level-type=DEFAULT
|
||||
enable-query=true
|
||||
enable-rcon=off
|
||||
rcon.password=
|
||||
auto-save=on
|
||||
view-distance=8
|
||||
xbox-auth=on
|
||||
server-ip=0.0.0.0
|
||||
query.port=25573
|
||||
26
black_mesa/black_mesa/README.md
Normal file
26
black_mesa/black_mesa/README.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Black Mesa
|
||||
|
||||
> [!NOTE]
|
||||
>
|
||||
> This Egg is intended for Black Mesa's multi-player deathmatch maps ***only***.
|
||||
>
|
||||
> If you are looking for a co-op server to play the single-player campaign, please see our [SourceCoop Egg](/sourcecoop).
|
||||
|
||||
## 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
|
||||
|
||||
- Black Mesa servers require 2 ports to be open.
|
||||
- The SourceTV port can also be opened for spectators.
|
||||
|
||||
| Port | Default |
|
||||
|---------|---------|
|
||||
| **Game/RCON** | **27015** |
|
||||
| **Client** | **27005** |
|
||||
| SourceTV | 27020 |
|
||||
|
||||
## Steam Store Page
|
||||
|
||||
https://store.steampowered.com/app/362890/Black_Mesa/
|
||||
104
black_mesa/black_mesa/egg-black-mesa.json
Normal file
104
black_mesa/black_mesa/egg-black-mesa.json
Normal file
|
|
@ -0,0 +1,104 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-01T12:25:08+02:00",
|
||||
"name": "Black Mesa",
|
||||
"author": "avalongamecs@gmail.com",
|
||||
"description": "Black Mesa is a 2020 first-person shooter game. It is a third-party remake of Half-Life (1998) made in the Source game engine.",
|
||||
"features": [
|
||||
"steam_disk_space"
|
||||
],
|
||||
"docker_images": {
|
||||
"ghcr.io\/ptero-eggs\/games:source": "ghcr.io\/ptero-eggs\/games:source"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/srcds_run -game {{SRCDS_GAME}} -strictportbind -ip 0.0.0.0 -port {{SERVER_PORT}} +clientport {{SRCDS_CPORT}} +tv_port {{SRCDS_STV}} +map {{SRCDS_MAP}} +servercfgfile server.cfg -maxplayers {{MAX_PLAYERS}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"gameserver Steam ID\"\r\n}",
|
||||
"logs": "{\r\n}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# steamcmd Base Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n# Image to install with is 'ghcr.io\/ptero-eggs\/installers:debian'\r\n\r\n##\r\n#\r\n# Variables\r\n# STEAM_USER, STEAM_PASS, STEAM_AUTH - Steam user setup. If a user has 2fa enabled it will most likely fail due to timeout. Leave blank for anon install.\r\n# WINDOWS_INSTALL - if it's a windows server you want to install set to 1\r\n# SRCDS_APPID - steam app id found here - https:\/\/developer.valvesoftware.com\/wiki\/Dedicated_Servers_List\r\n# SRCDS_BETAID - beta branch of a steam app. Leave blank to install normal branch\r\n# SRCDS_BETAPASS - password for a beta branch should one be required during private or closed testing phases.. Leave blank for no password.\r\n# INSTALL_FLAGS - Any additional SteamCMD flags to pass during install.. Keep in mind that steamcmd auto update process in the docker image might overwrite or ignore these when it performs update on server boot.\r\n# AUTO_UPDATE - Adding this variable to the egg allows disabling or enabling automated updates on boot. Boolean value. 0 to disable and 1 to enable.\r\n#\r\n ##\r\n\r\n# Install packages. Default packages below are not required if using our existing install image thus speeding up the install process.\r\n#apt -y update\r\n#apt -y --no-install-recommends install curl lib32gcc-s1 ca-certificates\r\n\r\n## just in case someone removed the defaults.\r\nif [[ \"${STEAM_USER}\" == \"\" ]] || [[ \"${STEAM_PASS}\" == \"\" ]]; then\r\n echo -e \"steam user is not set.\\n\"\r\n echo -e \"Using anonymous user.\\n\"\r\n STEAM_USER=anonymous\r\n STEAM_PASS=\"\"\r\n STEAM_AUTH=\"\"\r\nelse\r\n echo -e \"user set to ${STEAM_USER}\"\r\nfi\r\n\r\n## download and install steamcmd\r\ncd \/tmp\r\nmkdir -p \/mnt\/server\/steamcmd\r\ncurl -sSL -o steamcmd.tar.gz https:\/\/steamcdn-a.akamaihd.net\/client\/installer\/steamcmd_linux.tar.gz\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\nmkdir -p \/mnt\/server\/steamapps # Fix steamcmd disk write error when this folder is missing\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\nexport HOME=\/mnt\/server\r\n\r\n## install game using steamcmd\r\n.\/steamcmd.sh +force_install_dir \/mnt\/server +login ${STEAM_USER} ${STEAM_PASS} ${STEAM_AUTH} $( [[ \"${WINDOWS_INSTALL}\" == \"1\" ]] && printf %s '+@sSteamCmdForcePlatformType windows' ) +app_update ${SRCDS_APPID} $( [[ -z ${SRCDS_BETAID} ]] || printf %s \"-beta ${SRCDS_BETAID}\" ) $( [[ -z ${SRCDS_BETAPASS} ]] || printf %s \"-betapassword ${SRCDS_BETAPASS}\" ) ${INSTALL_FLAGS} validate +quit ## other flags may be needed depending on install. looking at you cs 1.6\r\n\r\n## set up 32 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\n## set up 64 bit libraries\r\nmkdir -p \/mnt\/server\/.steam\/sdk64\r\ncp -v linux64\/steamclient.so ..\/.steam\/sdk64\/steamclient.so\r\n\r\n## add below your custom commands if needed\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "ghcr.io\/ptero-eggs\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game ID",
|
||||
"description": "nmrih id",
|
||||
"env_variable": "SRCDS_APPID",
|
||||
"default_value": "346680",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|in:346680",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Game Name",
|
||||
"description": "game name",
|
||||
"env_variable": "SRCDS_GAME",
|
||||
"default_value": "bms",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "default map",
|
||||
"env_variable": "SRCDS_MAP",
|
||||
"default_value": "dm_crossfire",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:25",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Client port",
|
||||
"description": "client port",
|
||||
"env_variable": "SRCDS_CPORT",
|
||||
"default_value": "27005",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|regex:\/^(\\w{1,20})$\/",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Source TV",
|
||||
"description": "source TV",
|
||||
"env_variable": "SRCDS_STV",
|
||||
"default_value": "27020",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "The maximum amount of players allowed on your game server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Auto update the server on startup.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
69
bots/discord/README.md
Normal file
69
bots/discord/README.md
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
# Discord Bots
|
||||
|
||||
## Some of these bots support other services but are primarily Discord bots
|
||||
|
||||
### [Aoede](aoede)
|
||||
|
||||
[codetheweb/aoede](https://github.com/codetheweb/aoede)
|
||||
🎧 a self-hosted Spotify → Discord music bot
|
||||
|
||||
### [ATLauncher Discord Bot](atlbot)
|
||||
|
||||
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
|
||||
Their github has all the info you need
|
||||
|
||||
### [Bastion](bastion)
|
||||
|
||||
[TheBastionBot/Bastion](https://github.com/TheBastionBot/Bastion)
|
||||
Give awesome perks to your Discord server!
|
||||
|
||||
### [Corpbot](corpbot)
|
||||
|
||||
[corpnewt/CorpBot.py](https://github.com/corpnewt/CorpBot.py)
|
||||
A very clumsy python bot for discord
|
||||
|
||||
### [FragBot](fragbot)
|
||||
|
||||
[fragforce/fragbot](https://github.com/fragforce/fragbot)
|
||||
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
|
||||
|
||||
### [Game Server Watcher](game-server-watcher)
|
||||
|
||||
[a-sync/game-server-watcher](https://github.com/a-sync/game-server-watcher)
|
||||
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
|
||||
|
||||
### [JMusicBot](jmusicbot)
|
||||
|
||||
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
|
||||
A Discord music bot that's easy to set up and run yourself!
|
||||
|
||||
### [Muse](muse)
|
||||
|
||||
[codetheweb/muse](https://github.com/codetheweb/muse)
|
||||
🎧 a self-hosted midwestern Discord music bot that doesn't suck
|
||||
|
||||
### [parkertron](parkertron)
|
||||
|
||||
[parkervcp/parkertron](https://github.com/parkervcp/parkertron)
|
||||
The bot that runs as the pterodactyl `@Support Bot`
|
||||
|
||||
### [PixelBot](pixelbot)
|
||||
|
||||
[possatti/pixelbot](https://github.com/possatti/pixelbot)
|
||||
No longer actively developed.
|
||||
Was used to test python services.
|
||||
|
||||
### [RedBot](redbot)
|
||||
|
||||
[Cog-Creators/Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot)
|
||||
A multifunction Discord bot
|
||||
|
||||
### [Ree6](ree6)
|
||||
|
||||
[Ree6-Applications](https://github.com/Ree6-Applications/Ree6)
|
||||
All-in-one, open source and 100% free Discord Bot!
|
||||
|
||||
### [SinusBot](sinusbot)
|
||||
|
||||
[SinusBot](https://www.sinusbot.com/)
|
||||
Please Check their site for an in depth on the bot.
|
||||
28
bots/discord/aoede/README.md
Normal file
28
bots/discord/aoede/README.md
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
# Aoede
|
||||
|
||||
### Authors / Contributors
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/cleme29">
|
||||
<img src="https://avatars.githubusercontent.com/u/8092733" width="50px;" alt=""/><br /><sub><b>cleme29</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=cleme29" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=cleme29" title="Maintains">🔨</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
Special thanks to Red-Thirten for providing most of the installation script and to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one !
|
||||
|
||||
## Their [Github](https://github.com/codetheweb/aoede)
|
||||
|
||||
Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.
|
||||
|
||||
## Server Ports
|
||||
|
||||
There are no ports required for the Aoede bot
|
||||
92
bots/discord/aoede/egg-aoede.json
Normal file
92
bots/discord/aoede/egg-aoede.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": "2023-12-12T20:05:05+00:00",
|
||||
"name": "Aoede",
|
||||
"author": "contact@bldy.ovh",
|
||||
"description": "Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:ubuntu": "ghcr.io\/parkervcp\/yolks:ubuntu"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/aoede",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Invite me with\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "## Credits: Red-Thirten (https:\/\/github.com\/lilkingjr1) for providing most of the installation script\r\n## Credits to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one\r\napt-get update\r\napt-get install git curl jq cmake -y -qq\r\n\r\nGITHUB_PACKAGE=\"codetheweb\/aoede\"\r\n\r\n# Find GitHub download URL for Muse for specified version\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tarball_url')\r\n else\r\n echo -e \"Could not find version \\\"${VERSION}\\\" of Muse. Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\n fi\r\nfi\r\n\r\n# Download Aoede from GitHub & Extract\r\ncd \/mnt\/server\r\necho -e \"Downloading Aoede from GitHub...\"\r\ncurl -L ${DOWNLOAD_URL} -o aoede.tar.gz\r\necho -e \"Extracting Aoede from tarball...\"\r\ntar -xvzf aoede.tar.gz --strip-components=1\r\nrm aoede.tar.gz\r\n\r\n# Verify and clean up Aoede installation\r\nif [ ! -f Cargo.toml ]; then\r\n echo -e \"\\nFailed to download release: ${DOWNLOAD_URL}\\n\"\r\n exit 1\r\nfi\r\nrm -rf .dockerignore Dockerfile .gitignore .github\/\r\ncargo build --release\r\nmv target\/release\/aoede .\r\ncargo clean\r\n\r\n\r\necho -e \"\\nAoede Successfully Installed!\"",
|
||||
"container": "rust:1.74-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Token",
|
||||
"description": "Discord Bot Token",
|
||||
"env_variable": "DISCORD_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Username",
|
||||
"description": "Spotify Username",
|
||||
"env_variable": "SPOTIFY_USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Password",
|
||||
"description": "Spotify Password",
|
||||
"env_variable": "SPOTIFY_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Discord User ID",
|
||||
"description": "Discord user ID of the user you want Aoede to follow",
|
||||
"env_variable": "DISCORD_USER_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Autoplay",
|
||||
"description": "Autoplay similar songs when your music ends \r\nValue : true\/false",
|
||||
"env_variable": "SPOTIFY_BOT_AUTOPLAY",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Specify a version, for example: \"v0.7.0\"\r\nFor the latest version, type \"latest\"",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
9
bots/discord/atlbot/README.md
Normal file
9
bots/discord/atlbot/README.md
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
# ATLBot
|
||||
|
||||
## Their [Github](https://github.com/ATLauncher/discord-bot)
|
||||
|
||||
This is the code for our Discord bot which runs on the official ATLauncher Discord server
|
||||
|
||||
## Server Ports
|
||||
|
||||
There are no ports required for the atl bot
|
||||
52
bots/discord/atlbot/egg-a-t-l-bot.json
Normal file
52
bots/discord/atlbot/egg-a-t-l-bot.json
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-01T11:14:53+02:00",
|
||||
"name": "ATLBot",
|
||||
"author": "jfeldt19@gmail.com",
|
||||
"description": "ATLbot in ptero\r\n\r\nhttps:\/\/github.com\/ATLauncher\/discord-bot\/",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Nodejs 16": "ghcr.io\/parkervcp\/yolks:node_16"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "npm run start",
|
||||
"config": {
|
||||
"files": "{\r\n \"config\/local.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"discord.client_token\": \"{{server.build.env.CLIENT_TOKEN}}\",\r\n \"logging.level\": \"debug\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Bot started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install git openssl\r\n\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/ATLauncher\/discord-bot.git . \r\nfi\r\n\r\necho '{}' > config\/local.json\r\n\r\nnpm install --production\r\n\r\nnpm run build\r\n\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "node:16-bookworm",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "client_token",
|
||||
"description": "Get a discord token at https:\/\/discordapp.com\/developers\/",
|
||||
"env_variable": "CLIENT_TOKEN",
|
||||
"default_value": "get_your_own_token_from_discord_",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:75",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Node Environment",
|
||||
"description": "The node environment variable.\r\n\r\nNeeds to stay at \"development\" to log to console.",
|
||||
"env_variable": "NODE_ENV",
|
||||
"default_value": "development",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:20",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
26
bots/discord/bastion/README.md
Normal file
26
bots/discord/bastion/README.md
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
# Bastion
|
||||
|
||||
## From their [Github](https://github.com/TheBastionBot/Bastion)
|
||||
|
||||
Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities.
|
||||
|
||||
|
||||
## Running the bot
|
||||
|
||||
You need to enable both `Privileged Gateway Intents` for the bot to run.
|
||||
|
||||
Invite link: `https://discord.com/oauth2/authorize?client_id=INSERT_APP_ID_HERE&scope=bot&permissions=8`
|
||||
|
||||
## Server Ports
|
||||
|
||||
|
||||
| Port | default |
|
||||
|-----------------------|---------|
|
||||
| Bastion API Port | 8377 |
|
||||
|
||||
## Mongodb
|
||||
|
||||
Mongodb is automaticly running in the background. Leave Mongo URL to the default to use it. If you want to use a external mongodb server a connection string should look like: `mongodb+srv://<username>:<password>@<ip>/?retryWrites=true&w=majority`
|
||||
|
||||
## Startup cmd
|
||||
By default this should be `npm start` but if you want to register your slash commands set it to `npm run commands` it will activate the slash commands on discord's side. Then the server will crash, change it back to `npm run` to start the bot back up and have slash commands enabled.
|
||||
122
bots/discord/bastion/egg-bastion.json
Normal file
122
bots/discord/bastion/egg-bastion.json
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T14:04:19+02:00",
|
||||
"name": "Bastion",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Bastion": "ghcr.io\/parkervcp\/yolks:bot_bastion"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "{{STARTUP_CMD}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Ready\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\napt update\r\napt install -y build-essential libtool python3 git tar\r\n\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\/\r\n\r\nif [ -d \"\/mnt\/server\/mongodb\" ]\r\nthen\r\n cd \/mnt\/server\/\r\n echo \"backing up mongodb\"\r\n REINSTALL=true\r\n tar -czf mongodb_backup.tar.gz mongodb\/\r\n mv mongodb_backup.tar.gz \/tmp\r\nfi\r\n\r\ncd \/mnt\/server\r\nrm -rf * .git\/ .github\/ .env.example .eslintrc.yml .gitattributes .gitignore .npm\/\r\n\r\n\r\n## Clone repo\r\necho \"cloning Bastion bot\"\r\ngit clone -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\necho \"updating npm\"\r\nnpm install -g npm@latest\r\necho \"npm install --no-package-lock\"\r\nnpm install --no-package-lock\r\necho \"npm run build\"\r\nnpm run build\r\n\r\n## Move config files.\r\nmv settings.example.yaml settings.yaml\r\nrm -rf bastion.cmd .env.example bastion.sh scrips\/\r\n\r\n\r\nmkdir -p mongodb\/\r\nif [ \"$REINSTALL\" == \"true\" ]\r\nthen\r\n cd \/mnt\/server\r\n echo \"reinstall\"\r\n mv \/tmp\/mongodb_backup.tar.gz \/mnt\/server\r\n tar xf mongodb_backup.tar.gz\r\n rm mongodb_backup.tar.gz\r\nelse\r\n echo \"fresh install\"\r\nfi\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "node:20-bookworm",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Bot Token",
|
||||
"description": "The Bot Token you get from https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "BOT_TOKEN",
|
||||
"default_value": "GETABOTTOKEN",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:80",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Bot Client ID",
|
||||
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "BOT_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Mongo URL",
|
||||
"description": "use `mongodb:\/\/127.0.0.1:27017\/bastion` for using the build in mongodb server",
|
||||
"env_variable": "MONGO_URI",
|
||||
"default_value": "mongodb:\/\/127.0.0.1:27017\/bastion",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Music Activity",
|
||||
"description": "When enabled, Bastion updates the activity to the currently playing track",
|
||||
"env_variable": "BASTION_MUSIC_ACTIVITY",
|
||||
"default_value": "true",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Relay Direct Messages",
|
||||
"description": "When enabled, Bastion will relay any direct messages it receives to the owner of the bot application \/ team.",
|
||||
"env_variable": "BASTION_RELAY_DMS",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Safe Mode",
|
||||
"description": "When enabled, this disables usage of unsafe commands like `exec` and `eval`.",
|
||||
"env_variable": "UNSAFE_MODE",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Bastion API Port",
|
||||
"description": "Port used for Bastion API Server",
|
||||
"env_variable": "BASTION_API_PORT",
|
||||
"default_value": "8377",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:10",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Bastion API Auth",
|
||||
"description": "Auth for accessing the Bastion API Server.",
|
||||
"env_variable": "BASTION_API_AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:128",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Startup cmd",
|
||||
"description": "set to `npm start` if you just want to start the bot.\r\nset to `npm run commands` to activate the slash commands",
|
||||
"env_variable": "STARTUP_CMD",
|
||||
"default_value": "npm start",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:npm start,npm run commands",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
bots/discord/corpbot/README.md
Normal file
11
bots/discord/corpbot/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# CorpBot.py
|
||||
|
||||
## From their [Github](https://github.com/corpnewt/CorpBot.py)
|
||||
|
||||
A very clumsy python bot for discord
|
||||
|
||||
## Server Ports
|
||||
|
||||
No ports are required to run CorpBot. You can assign a random port to the bot.
|
||||
|
||||
### Mods/Plugins may require ports to be added to the server
|
||||
52
bots/discord/corpbot/egg-corp-bot.json
Normal file
52
bots/discord/corpbot/egg-corp-bot.json
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-01T11:18:44+02:00",
|
||||
"name": "CorpBot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A very clumsy python bot for discord \r\n\r\nhttps:\/\/github.com\/corpnewt\/CorpBot.py",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:python_3.8": "ghcr.io\/parkervcp\/yolks:python_3.8"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "\/usr\/local\/bin\/python Main.py",
|
||||
"config": {
|
||||
"files": "{\r\n \"settings_dict.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.TOKEN}}\",\r\n \"prefix\": \"{{server.build.env.PREFIX}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Logged in as\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install -y git gcc curl\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json -o settings_dict.json\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "python:3.8-slim-bookworm",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Discord Bot Token",
|
||||
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "TOKEN",
|
||||
"default_value": "GET_YOUR_OWN",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Command Prefix",
|
||||
"description": "The prefix for commands from the bot.",
|
||||
"env_variable": "PREFIX",
|
||||
"default_value": ".",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
4
bots/discord/corpbot/settings_dict.json
Normal file
4
bots/discord/corpbot/settings_dict.json
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
{
|
||||
"token": "your_token_here",
|
||||
"prefix": "your_custom_prefix_here"
|
||||
}
|
||||
8
bots/discord/dynamica/README.md
Normal file
8
bots/discord/dynamica/README.md
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# Dynamica
|
||||
|
||||
## Their [Github](https://github.com/dynamicabot/dynamica-v2)
|
||||
|
||||
An easy-to-use dynamic voice channel bot.
|
||||
|
||||
## Port
|
||||
You will manual have to change the web port in the src/main.ts on line 24.
|
||||
102
bots/discord/dynamica/egg-dynamica.json
Normal file
102
bots/discord/dynamica/egg-dynamica.json
Normal file
|
|
@ -0,0 +1,102 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T14:13:31+02:00",
|
||||
"name": "Dynamica",
|
||||
"author": "sebastian.pietschner@gmail.com",
|
||||
"description": "An easy-to-use dynamic voice channel bot.",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Nodejs 18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "npx prisma migrate deploy && yarn start",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Bot logged in as \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install tar curl jq git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nGITHUB_PACKAGE=\"DynamicaBot\/Dynamica-V2\"\r\n\r\n# Find GitHub download URL for Muse for specified version\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tarball_url')\r\n else\r\n echo -e \"Could not find version \\\"${VERSION}\\\" of Muse. Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\n fi\r\nfi\r\n\r\ncurl -sSL -o dynamica.tar.gz ${DOWNLOAD_URL}\r\ntar xvf dynamica.tar.gz --strip-components=1\r\nrm dynamica.tar.gz\r\n\r\n#curl -sSL -o tsconfig.json https:\/\/pteropaste.com\/xqhjja443pbm\r\n\r\nyarn add tsup --dev\r\nyarn install --frozen-lockfile\r\n\r\nyarn generate\r\nyarn build\r\n\r\nrm -rf .github\/ .vscode\/ Dockerfile partial.Dockerfile entrypoint.sh dynamica-egg.json\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "node:18-bookworm-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Database Path",
|
||||
"description": "The path in which to create the sqlite database.",
|
||||
"env_variable": "DATABASE_URL",
|
||||
"default_value": "file:\/home\/container\/dynamica\/db.sqlite",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Token",
|
||||
"description": "The token for the discord bot.",
|
||||
"env_variable": "TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Guild ID",
|
||||
"description": "Add only if using the bot in a single guild.",
|
||||
"env_variable": "GUILD_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Sentry DSN",
|
||||
"description": "The DSN for Sentry.",
|
||||
"env_variable": "SENTRY_DSN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MQTT URL",
|
||||
"description": "The URL for the MQTT broker.",
|
||||
"env_variable": "MQTT_URL",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MQTT Username",
|
||||
"description": "The username for the MQTT broker.",
|
||||
"env_variable": "MQTT_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "MQTT Password",
|
||||
"description": "The password for the MQTT broker.",
|
||||
"env_variable": "MQTT_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "string|nullable",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
11
bots/discord/fragbot/README.md
Normal file
11
bots/discord/fragbot/README.md
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
# fragbot
|
||||
|
||||
## Their [Github](https://github.com/fragforce/fragbot)
|
||||
|
||||
The golang based discord bot for fragforce.
|
||||
|
||||
Runs the fragforce `@fragbot`
|
||||
|
||||
## Server Ports
|
||||
|
||||
There are no ports required for fragbot
|
||||
42
bots/discord/fragbot/egg-fragbot.json
Normal file
42
bots/discord/fragbot/egg-fragbot.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": "2024-04-01T11:21:19+02:00",
|
||||
"name": "fragbot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "The fragforce discord bot.\r\n\r\nlocated at https:\/\/github.com\/fragforce\/fragbot",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"ghcr.io\/parkervcp\/yolks:alpine": "ghcr.io\/parkervcp\/yolks:alpine"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": ".\/fragbot",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.DISCORD_TOKEN}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Bot is now running\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "shutdown"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# fragbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\ncd\r\n\r\napk add --no-cache --update git\r\n\r\necho \"pulling the fragbot repo\"\r\n\r\ngit clone https:\/\/github.com\/fragforce\/fragbot.git\r\n\r\ncd fragbot\/\r\n\r\ngo mod download\r\n\r\necho \"building fragbot\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp fragbot \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n echo \"config file exists already\"\r\nelse\r\n cp -r \/root\/fragbot\/config.example.json \/mnt\/server\/config.json\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
|
||||
"container": "golang:1.12-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Discord Bot Token",
|
||||
"description": "The token that is to be used for the bot.",
|
||||
"env_variable": "DISCORD_TOKEN",
|
||||
"default_value": "ThisNeedsToBeChanged",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:128",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
22
bots/discord/game-server-watcher/README.md
Normal file
22
bots/discord/game-server-watcher/README.md
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
# Game Server Watcher
|
||||
|
||||
## From [Github](https://github.com/a-sync/game-server-watcher#readme)
|
||||
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
|
||||
|
||||
## Screenshots
|
||||
<img src="https://user-images.githubusercontent.com/14183614/162092529-e1645b44-2650-4893-8123-7ba187b1f51c.png" height="280"> <img src="https://user-images.githubusercontent.com/14183614/162092488-f28bd60c-88bf-4b1e-a31e-d7dca51d8c28.png" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/0461ad76-bb13-468c-a7b3-437d6a3cea63" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/ee0ef0de-83bc-42ae-8f64-62f481f6ba8f" height="280">
|
||||
|
||||
## Running the bot
|
||||
Refer to the wiki on how to acquire tokens for:
|
||||
* [steam](https://github.com/a-sync/game-server-watcher/wiki/Steam-Web-API-key)
|
||||
* [discord](https://github.com/a-sync/game-server-watcher/wiki/Discord-bot-token)
|
||||
* [telegram](https://github.com/a-sync/game-server-watcher/wiki/Telegram-bot-token)
|
||||
* [slack](https://github.com/a-sync/game-server-watcher/wiki/Slack-bot-token)
|
||||
|
||||
## Server Ports
|
||||
GSW Control Panel requires one port for http traffic.
|
||||
(It can be any port.)
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Web | 8081 |
|
||||
122
bots/discord/game-server-watcher/egg-game-server-watcher.json
Normal file
122
bots/discord/game-server-watcher/egg-game-server-watcher.json
Normal file
|
|
@ -0,0 +1,122 @@
|
|||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v2",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2024-04-02T14:15:38+02:00",
|
||||
"name": "Game Server Watcher",
|
||||
"author": "a-sync@devs.space",
|
||||
"description": "A simple discord\/telegram\/slack bot that can be hosted on a free service to monitor your game servers and players in style. \ud83d\ude0e",
|
||||
"features": null,
|
||||
"docker_images": {
|
||||
"Node.js 20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
|
||||
},
|
||||
"file_denylist": [],
|
||||
"startup": "env PORT={{SERVER_PORT}} \/usr\/local\/bin\/node \/home\/container\/dist\/server.js",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"starting loop...\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt-get update && apt-get install ca-certificates git -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages\r\n\r\n\r\ncd \/mnt\/server\r\n\r\ngit config --global --add safe.directory \/mnt\/server\r\ngit clone https:\/\/github.com\/a-sync\/game-server-watcher.git . || git pull\r\n\r\n\r\nnpm install --no-save && npm update gamedig && npm run build\r\nnpm prune --omit=dev\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
|
||||
"container": "node:20-bookworm-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "SECRET",
|
||||
"description": "Admin secret",
|
||||
"env_variable": "SECRET",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|min:8|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DATA_PATH",
|
||||
"description": "Writable folder for data storage",
|
||||
"env_variable": "DATA_PATH",
|
||||
"default_value": ".\/data\/",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|min:1|max:255",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "REFRESH_TIME_MINUTES",
|
||||
"description": "Game server info refresh interval in minutes",
|
||||
"env_variable": "REFRESH_TIME_MINUTES",
|
||||
"default_value": "2",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer|min:1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "DISCORD_BOT_TOKEN",
|
||||
"description": "Discord bot token",
|
||||
"env_variable": "DISCORD_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "TELEGRAM_BOT_TOKEN",
|
||||
"description": "Telegram bot token",
|
||||
"env_variable": "TELEGRAM_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "STEAM_WEB_API_KEY",
|
||||
"description": "Steam web API key",
|
||||
"env_variable": "STEAM_WEB_API_KEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "Debug Mode",
|
||||
"description": "Enable or disable debug mode.",
|
||||
"env_variable": "DBG",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|in:0,1",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SLACK_BOT_TOKEN",
|
||||
"description": "Slack bot token",
|
||||
"env_variable": "SLACK_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
},
|
||||
{
|
||||
"name": "SLACK_APP_TOKEN",
|
||||
"description": "Slack app token",
|
||||
"env_variable": "SLACK_APP_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string",
|
||||
"field_type": "text"
|
||||
}
|
||||
]
|
||||
}
|
||||
94
bots/discord/jmusicbot/README.md
Normal file
94
bots/discord/jmusicbot/README.md
Normal file
|
|
@ -0,0 +1,94 @@
|
|||
# JMusicBot
|
||||
|
||||
___
|
||||
|
||||
## Authors / Contributors
|
||||
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/jagrosh">
|
||||
<img src="https://avatars.githubusercontent.com/u/12754382" width="50px;" alt=""/><br /><sub><b>John Grosh</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/jagrosh/MusicBot/commits?author=jagrosh" title="Codes">💻</a>
|
||||
<a href="https://github.com/jagrosh/MusicBot/commits?author=jagrosh" title="Original Bot Creator">🤖</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/parkervcp">
|
||||
<img src="https://avatars.githubusercontent.com/u/1207679" width="50px;" alt=""/><br /><sub><b>parkervcp</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=parkervcp" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=parkervcp" title="Original Egg Creator">🥚</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Software-Noob">
|
||||
<img src="https://avatars.githubusercontent.com/u/10975908" width="50px;" alt=""/><br /><sub><b>Software-Noob</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Software-Noob" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Software-Noob" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Proxymiity">
|
||||
<img src="https://avatars.githubusercontent.com/u/25194496" width="50px;" alt=""/><br /><sub><b>Proxymiity</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Proxymiity" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Proxymiity" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=iamkubi" title="Contributor">💡</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
|
||||
## Bot Description & Features
|
||||
|
||||
From the developer's [Github](https://github.com/jagrosh/MusicBot):
|
||||
> A Discord music bot that's easy to set up and run yourself!
|
||||
|
||||
- Easy to run
|
||||
- Fast loading of songs
|
||||
- No external keys needed (besides a Discord Bot token)
|
||||
- Smooth playback
|
||||
- Server-specific setup for the "DJ" role that can moderate the music
|
||||
- Clean and beautiful menus
|
||||
- Supports many sites, including YouTube, Soundcloud, and more
|
||||
- Supports many online radio/streams
|
||||
- Supports local files
|
||||
- Playlist support (both web/youtube, and local)
|
||||
|
||||
___
|
||||
|
||||
## Configuration
|
||||
|
||||
- If you can, edit the Startup Variables before starting the bot, because otherwise it will fail to start.
|
||||
- Most settings found in `config.txt` can be edited via the Startup Variables. Advanced settings not listed can still be edited manually via the File Manager. Available Startup Variables will take precedent over manual edits.
|
||||
|
||||
___
|
||||
|
||||
## Server Ports
|
||||
|
||||
There are no ports required for JMusicBot.
|
||||
___
|
||||
|
||||
## Updating
|
||||
|
||||
Re-Installing the server via the panel will do the following:
|
||||
|
||||
1. Update the bot to the latest version.
|
||||
2. Update the `config.txt` file to the latest version, and place the old one at `config.txt-old`.
|
||||
3. Any local songs will remain and not be touched.
|
||||
183
bots/discord/jmusicbot/config.txt
Normal file
183
bots/discord/jmusicbot/config.txt
Normal file
|
|
@ -0,0 +1,183 @@
|
|||
/////////////////////////////////////////////////////////
|
||||
// Config for the JMusicBot //
|
||||
/////////////////////////////////////////////////////////
|
||||
// Any line starting with // is ignored //
|
||||
// You MUST set the token and owner //
|
||||
// All other items have defaults if you don't set them //
|
||||
// Open in Notepad++ for best results //
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// This sets the token for the bot to log in with
|
||||
// This MUST be a bot token (user tokens will not work)
|
||||
// If you don't know how to get a bot token, please see the guide here:
|
||||
// https://github.com/jagrosh/MusicBot/wiki/Getting-a-Bot-Token
|
||||
|
||||
token = BOT_TOKEN_HERE
|
||||
|
||||
|
||||
// This sets the owner of the bot
|
||||
// This needs to be the owner's ID (a 17-18 digit number)
|
||||
// https://github.com/jagrosh/MusicBot/wiki/Finding-Your-User-ID
|
||||
|
||||
owner = 0
|
||||
|
||||
|
||||
// This sets the prefix for the bot
|
||||
// The prefix is used to control the commands
|
||||
// If you use !!, the play command will be !!play
|
||||
// If you do not set this, the prefix will be a mention of the bot (@Botname play)
|
||||
|
||||
prefix = "@mention"
|
||||
|
||||
|
||||
// If you set this, it modifies the default game of the bot
|
||||
// Set this to NONE to have no game
|
||||
// Set this to DEFAULT to use the default game
|
||||
// You can make the game "Playing X", "Listening to X", or "Watching X"
|
||||
// where X is the title. If you don't include an action, it will use the
|
||||
// default of "Playing"
|
||||
|
||||
game = "DEFAULT"
|
||||
|
||||
|
||||
// If you set this, it will modify the default status of bot
|
||||
// Valid values: ONLINE IDLE DND INVISIBLE
|
||||
|
||||
status = ONLINE
|
||||
|
||||
|
||||
// If you set this to true, the bot will list the title of the song it is currently playing in its
|
||||
// "Playing" status. Note that this will ONLY work if the bot is playing music on ONE guild;
|
||||
// if the bot is playing on multiple guilds, this will not work.
|
||||
|
||||
songinstatus = false
|
||||
|
||||
|
||||
// If you set this, the bot will also use this prefix in addition to
|
||||
// the one provided above
|
||||
|
||||
altprefix = "NONE"
|
||||
|
||||
|
||||
// If you set these, it will change the various emojis
|
||||
|
||||
success = "🎶"
|
||||
warning = "💡"
|
||||
error = "🚫"
|
||||
loading = "⌚"
|
||||
searching = "🔎"
|
||||
|
||||
|
||||
// If you set this, you change the word used to view the help.
|
||||
// For example, if you set the prefix to !! and the help to cmds, you would type
|
||||
// !!cmds to see the help text
|
||||
|
||||
help = help
|
||||
|
||||
|
||||
// If you set this, the "nowplaying" command will show youtube thumbnails
|
||||
// Note: If you set this to true, the nowplaying boxes will NOT refresh
|
||||
// This is because refreshing the boxes causes the image to be reloaded
|
||||
// every time it refreshes.
|
||||
|
||||
npimages = false
|
||||
|
||||
|
||||
// If you set this, the bot will not leave a voice channel after it finishes a queue.
|
||||
// Keep in mind that being connected to a voice channel uses additional bandwith,
|
||||
// so this option is not recommended if bandwidth is a concern.
|
||||
|
||||
stayinchannel = false
|
||||
|
||||
|
||||
// This sets the maximum amount of seconds any track loaded can be. If not set or set
|
||||
// to any number less than or equal to zero, there is no maximum time length. This time
|
||||
// restriction applies to songs loaded from any source.
|
||||
|
||||
maxtime = 0
|
||||
|
||||
// This sets the amount of seconds the bot will stay alone on a voice channel until it
|
||||
// automatically leaves the voice channel and clears the queue. If not set or set
|
||||
// to any number less than or equal to zero, the bot won't leave when alone.
|
||||
|
||||
alonetimeuntilstop = 0
|
||||
|
||||
// This sets an alternative folder to be used as the Playlists folder
|
||||
// This can be a relative or absolute path
|
||||
|
||||
playlistsfolder = "Playlists"
|
||||
|
||||
|
||||
// By default, the bot will DM the owner if the bot is running and a new version of the bot
|
||||
// becomes available. Set this to false to disable this feature.
|
||||
|
||||
updatealerts = true
|
||||
|
||||
|
||||
// Changing this changes the lyrics provider
|
||||
// Currently available providers: "A-Z Lyrics", "Genius", "MusicMatch", "LyricsFreak"
|
||||
// At the time of writing, I would recommend sticking with A-Z Lyrics or MusicMatch,
|
||||
// as Genius tends to have a lot of non-song results and you might get something
|
||||
// completely unrelated to what you want.
|
||||
// If you are interested in contributing a provider, please see
|
||||
// https://github.com/jagrosh/JLyrics
|
||||
|
||||
lyrics.default = "A-Z Lyrics"
|
||||
|
||||
|
||||
// These settings allow you to configure custom aliases for all commands.
|
||||
// Multiple aliases may be given, separated by commas.
|
||||
//
|
||||
// Example 1: Giving command "play" the alias "p":
|
||||
// play = [ p ]
|
||||
//
|
||||
// Example 2: Giving command "search" the aliases "yts" and "find":
|
||||
// search = [ yts, find ]
|
||||
|
||||
aliases {
|
||||
// General commands
|
||||
settings = [ status ]
|
||||
|
||||
// Music commands
|
||||
lyrics = []
|
||||
nowplaying = [ np, current ]
|
||||
play = []
|
||||
playlists = [ pls ]
|
||||
queue = [ list ]
|
||||
remove = [ delete ]
|
||||
scsearch = []
|
||||
search = [ ytsearch ]
|
||||
shuffle = []
|
||||
skip = [ voteskip ]
|
||||
|
||||
// Admin commands
|
||||
prefix = [ setprefix ]
|
||||
setdj = []
|
||||
settc = []
|
||||
setvc = []
|
||||
|
||||
// DJ Commands
|
||||
forceremove = [ forcedelete, modremove, moddelete ]
|
||||
forceskip = [ modskip ]
|
||||
movetrack = [ move ]
|
||||
pause = []
|
||||
playnext = []
|
||||
repeat = []
|
||||
skipto = [ jumpto ]
|
||||
stop = []
|
||||
volume = [ vol ]
|
||||
}
|
||||
|
||||
// If you set this to true, it will enable the eval command for the bot owner. This command
|
||||
// allows the bot owner to run arbitrary code from the bot's account.
|
||||
//
|
||||
// WARNING:
|
||||
// This command can be extremely dangerous. If you don't know what you're doing, you could
|
||||
// cause horrific problems on your Discord server or on whatever computer this bot is running
|
||||
// on. Never run this command unless you are completely positive what you are running.
|
||||
//
|
||||
// DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT THIS DOES OR HOW TO USE IT
|
||||
// IF SOMEONE ASKS YOU TO ENABLE THIS, THERE IS AN 11/10 CHANCE THEY ARE TRYING TO SCAM YOU
|
||||
|
||||
eval=false
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Reference in a new issue