Merge branch 'master' into add/eugenServers

This commit is contained in:
Quinten 2023-12-27 16:13:33 +01:00 committed by GitHub
commit 916d12d525
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
281 changed files with 12098 additions and 1735 deletions

View File

@ -4,7 +4,7 @@
## Checklist for all submissions ## Checklist for all submissions
<!-- insert X into the brackets to mark it as done. You can click preview to make the links appear clickable. --> <!-- insert X into the brackets to mark it as done (i.e. [x]). You can click preview to make the links appear clickable. -->
* [ ] Have you followed the guidelines in our [Contributing document](https://github.com/parkervcp/eggs/blob/master/CONTRIBUTING.md)? * [ ] Have you followed the guidelines in our [Contributing document](https://github.com/parkervcp/eggs/blob/master/CONTRIBUTING.md)?
* [ ] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change? * [ ] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change?
@ -12,6 +12,12 @@
* [ ] Did you branch your changes and PR from that branch and not from your master branch? * [ ] Did you branch your changes and PR from that branch and not from your master branch?
* If not, why?: * If not, why?:
<!-- If this is an egg update fill these out -->
* [ ] You verify that the start command applied does not use a shell script
* [ ] If some script is needed then it is part of a current yolk or a PR to add one
* [ ] The egg was exported from the panel
<!-- You can erase the new egg submission template if you're not adding a completely new egg --> <!-- You can erase the new egg submission template if you're not adding a completely new egg -->
## New egg Submissions ## New egg Submissions
@ -22,3 +28,6 @@
* [ ] Did you PR the necessary changes to make it work? * [ ] Did you PR the necessary changes to make it work?
3. [ ] Have you added the egg to the main README.md and any other README files in subdirectories of the egg (e.g /game_eggs) according to the alphabetical order? 3. [ ] Have you added the egg to the main README.md and any other README files in subdirectories of the egg (e.g /game_eggs) according to the alphabetical order?
4. [ ] Have you added a unique README.md for the egg you are adding according to the alphabetical order? 4. [ ] Have you added a unique README.md for the egg you are adding according to the alphabetical order?
5. [ ] You verify that the start command applied does not use a shell script
* [ ] If some script is needed then it is part of a current yolk or a PR to add one
6. [ ] The egg was exported from the panel

3
.gitignore vendored
View File

@ -1,4 +1,5 @@
*.DS_Store *.DS_Store
node_modules/ node_modules/
.vuepress/* .vuepress/*
.vscode .vscode
.idea

View File

@ -4,17 +4,25 @@ You can contribute by either creating a new pull request or testing [existing pu
## General rules for eggs ## General rules for eggs
1. Keep it simple. 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. We don't need 8 miles of the install script.
2. Keep it small. 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. 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.
3. Use the stock images. 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. 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.
4. Don't be afraid to submit PR's to the egg repo. 6. Export eggs from the panel
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. 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 ### Sources for working on a new egg
@ -31,30 +39,30 @@ We have a collection of [existing install script snippets](https://github.com/pa
The Pterodactyl install process is fairly simple once you know it. The Pterodactyl install process is fairly simple once you know it.
```md ```md
1. Spin up install container 1. Spin up install container
Creates a new container using an install image that's run as root. 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. 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. 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. 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. It is regularly used to just download the files required. Such as server files and configs.
2. Stop and destroy install container 2. Stop and destroy install container
3. Start a new container with the server files in /home/container 3. Start a new container with the server files in /home/container
This is where the server is actually run. No root privileges. This is where the server is actually run. No root privileges.
Any dependencies installed during the install process are gone. Any dependencies installed during the install process are gone.
The container that is started should have everything you need. 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. No packages can be installed. Any required dependencies must exist in the used Docker image.
``` ```
## Step 2 ## Step 2
### Testing ### Testing
Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo. Make sure your install process is rock solid as eggs will be tested before they are merged.
I will make suggestions and changes at will. 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. This is to maintain a clean repo that others can pull and be fully aware of what is being done.
## Step 3 ## Step 3

View File

@ -28,15 +28,19 @@ If you are reading this it looks like you are looking to add an egg to your serv
**Note:** these are actual Discord bot eggs, NOT language eggs. The old language eggs (discord-js-generic, discord-py-generic, etc) have been moved to the [generic languages section](#generic-languages). **Note:** these are actual Discord bot eggs, NOT language eggs. The old language eggs (discord-js-generic, discord-py-generic, etc) have been moved to the [generic languages section](#generic-languages).
* [Aoede](/bots/discord/aoede) Rust
* [ATL Bot](/bots/discord/atlbot) Node JS * [ATL Bot](/bots/discord/atlbot) Node JS
* [Bastion](/bots/discord/bastion) Node JS * [Bastion](/bots/discord/bastion) Node JS
* [CorpBot](/bots/discord/corpbot) Python * [CorpBot](/bots/discord/corpbot) Python
* [Dynamica](/bots/discord/dynamica) Node JS * [Dynamica](/bots/discord/dynamica) Node JS
* [fragbot](/bots/discord/fragbot) Golang * [fragbot](/bots/discord/fragbot) Golang
* [Game Server Watcher](/bots/discord/game-server-watcher) Node JS
* [JMusicBot](/bots/discord/jmusicbot) Java * [JMusicBot](/bots/discord/jmusicbot) Java
* [Muse](/bots/discord/muse) Node JS
* [parkertron](/bots/discord/parkertron) Golang * [parkertron](/bots/discord/parkertron) Golang
* [pixel-bot](/bots/discord/pixelbot) Python * [pixel-bot](/bots/discord/pixelbot) Python
* [Redbot](/bots/discord/redbot) Python * [Redbot](/bots/discord/redbot) Python
* [Ree6](/bots/discord/ree6) Java
* [SinusBot](/bots/discord/sinusbot) * [SinusBot](/bots/discord/sinusbot)
[Other](/bots/other) [Other](/bots/other)
@ -54,12 +58,15 @@ If you are reading this it looks like you are looking to add an egg to your serv
## [Generic Languages](/generic) ## [Generic Languages](/generic)
* [C#](/generic/c%23/)
* [elixir](/generic/elixir/)
* [dart](/generic/dart/) * [dart](/generic/dart/)
* [deno](/generic/deno/) * [deno](/generic/deno/)
* [golang](/generic/golang/) * [golang](/generic/golang/)
* [java](/generic/java/) * [java](/generic/java/)
* [lua](/generic/lua/) * [lua](/generic/lua/)
* [nodejs](/generic/nodejs/) * [nodejs](/generic/nodejs/)
* [bun](/generic/bun/)
* [nodemon](/generic/nodemon/) * [nodemon](/generic/nodemon/)
* [python](/generic/python/) * [python](/generic/python/)
* [rust](/generic/rust/) * [rust](/generic/rust/)
@ -112,17 +119,27 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [MCGalaxy](game_eggs/classicube/mcgalaxy) * [MCGalaxy](game_eggs/classicube/mcgalaxy)
[Clone Hero](game_eggs/clone_hero)
[Eugen games](game_eggs/eugen) [CS2D](game_eggs/cs2d)
* [Steel Division 2](game_eggs/eugen/steel-division-2)
* [Wargame: Red Dragon](game_eggs/eugen/wargame-red-dragon) [Cube Engine](cubeengine)
* [Wargame: Red Dragon - patched](game_eggs/eugen/wargame-red-dragon-patched)
* [AssaultCube](cubeengine/assaultcube)
* [Cube 2: Sauerbraten](cubeengine/cube2)
[DDRaceNetwork](game_eggs/ddracenetwork)
[Doom](game_eggs/doom) [Doom](game_eggs/doom)
* [Zandronum](game_eggs/doom/zandronum) * [Zandronum](game_eggs/doom/zandronum)
[ET Legacy](game_eggs/enemy_territory/etlegacy) [ET Legacy](game_eggs/enemy_territory/etlegacy)
[Eugen games](game_eggs/eugen)
* [Steel Division 2](game_eggs/eugen/steel-division-2)
* [Wargame: Red Dragon](game_eggs/eugen/wargame-red-dragon)
* [Wargame: Red Dragon - patched](game_eggs/eugen/wargame-red-dragon-patched)
*
[FTL: Tachyon](game_eggs/ftl/tachyon) [FTL: Tachyon](game_eggs/ftl/tachyon)
[Factorio](game_eggs/factorio) [Factorio](game_eggs/factorio)
@ -142,42 +159,48 @@ If you are reading this it looks like you are looking to add an egg to your serv
* GTA SA * GTA SA
* [Multi Theft Auto](game_eggs/gta/mtasa) * [Multi Theft Auto](game_eggs/gta/mtasa)
* [SA-MP](game_eggs/gta/samp) * [SA-MP](game_eggs/gta/samp)
* [OpenMp](game_eggs/gta/openmp)
* GTA * GTA
* [GTAC](game_eggs/gta/gtac) * [GTAC](game_eggs/gta/gtac)
[Hogwarp](game_eggs/hogwarp)
[Kerbal Space Program](game_eggs/ksp)
[League Sandbox](game_eggs/leaguesandbox) [League Sandbox](game_eggs/leaguesandbox)
[Los Angeles Crimes](game_eggs/losangelescrimes) [Los Angeles Crimes](game_eggs/losangelescrimes)
[Mindustry](game_eggs/mindustry) [Mindustry](game_eggs/mindustry)
* [Mindustry](game_eggs/mindustry/mindustry)
[Minetest](game_eggs/minetest) (including MTG) [Minetest](game_eggs/minetest) (including MTG)
* [Minetest](game_eggs/minetest/minetest)
[Minecraft](game_eggs/minecraft) [Minecraft](game_eggs/minecraft)
* [Bedrock](game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console) * [Bedrock](game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows, mobile, console)
* [Bedrock](game_eggs/minecraft/bedrock/bedrock) * [Bedrock](game_eggs/minecraft/bedrock/bedrock)
* [gomint](game_eggs/minecraft/bedrock/gomint) * [gomint](game_eggs/minecraft/bedrock/gomint)
* [LiteLoaderBDS](game_eggs/bedrock/LiteLoader-bedrock) * [LiteLoaderBDS](game_eggs/bedrock/LiteLoader-bedrock)
* [Nukkit](game_eggs/minecraft/bedrock/nukkit) * [Nukkit](game_eggs/minecraft/bedrock/nukkit)
* [PocketMine MP](game_eggs/minecraft/bedrock/pocketmine_mp) * [PocketMine MP](game_eggs/minecraft/bedrock/pocketmine_mp)
* [PowerNukkitX](game_eggs/minecraft/bedrock/PowerNukkitX)
* [Java](game_eggs/minecraft/java) Servers for Java Minecraft * [Java](game_eggs/minecraft/java) Servers for Java Minecraft
* [CurseForge](game_eggs/minecraft/java/curseforge)
* [Cuberite](game_eggs/minecraft/java/cuberite) * [Cuberite](game_eggs/minecraft/java/cuberite)
* [Fabric](game_eggs/minecraft/java/fabric) * [Fabric](game_eggs/minecraft/java/fabric)
* [Feather](game_eggs/minecraft/java/feather) * [Feather](game_eggs/minecraft/java/feather)
* [Feed The Beast](game_eggs/minecraft/java/ftb) * [Feed The Beast](game_eggs/minecraft/java/ftb)
* [Forge](game_eggs/minecraft/java/forge) * [Forge](game_eggs/minecraft/java/forge)
* [Glowstone](game_eggs/minecraft/java/glowstone) * [Glowstone](game_eggs/minecraft/java/glowstone)
* [Limbo](game_eggs/minecraft/java/limbo)
* [Magma](game_eggs/minecraft/java/magma) * [Magma](game_eggs/minecraft/java/magma)
* [Modrinth](game_eggs/minecraft/java/modrinth)
* [Mohist](game_eggs/minecraft/java/mohist) * [Mohist](game_eggs/minecraft/java/mohist)
* [NanoLimbo](/game_eggs/minecraft/java/nanolimbo) * [NanoLimbo](game_eggs/minecraft/java/nanolimbo)
* [Paper](game_eggs/minecraft/java/paper) * [Paper](game_eggs/minecraft/java/paper)
* [Folia](game_eggs/minecraft/java/folia)
* [Purpur](game_eggs/minecraft/java/purpur) * [Purpur](game_eggs/minecraft/java/purpur)
* [Spigot](game_eggs/minecraft/java/spigot) * [Spigot](game_eggs/minecraft/java/spigot)
* [SpongeForge](game_eggs/minecraft/java/spongeforge) * [SpongeForge](game_eggs/minecraft/java/spongeforge)
@ -190,7 +213,6 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies * [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies
* [Java](game_eggs/minecraft/proxy/java) * [Java](game_eggs/minecraft/proxy/java)
* [FlameCord](game_eggs/minecraft/proxy/java/flamecord)
* [Travertine](game_eggs/minecraft/proxy/java/travertine) * [Travertine](game_eggs/minecraft/proxy/java/travertine)
* [Velocity](game_eggs/minecraft/proxy/java/velocity) * [Velocity](game_eggs/minecraft/proxy/java/velocity)
* [Waterfall](game_eggs/minecraft/proxy/java/waterfall) * [Waterfall](game_eggs/minecraft/proxy/java/waterfall)
@ -214,46 +236,70 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [RedM](game_eggs/rdr/redm) * [RedM](game_eggs/rdr/redm)
[Spacestation 14](game_eggs/spacestation_14)
[Rimworld](game_eggs/rimworld)
* [Open World](game_eggs/rimworld/open_world)
[SteamCMD Servers](game_eggs/steamcmd_servers) These eggs use SteamCMD to install [SteamCMD Servers](game_eggs/steamcmd_servers) These eggs use SteamCMD to install
* [7 Days to Die](game_eggs/steamcmd_servers/7_days_to_die) * [7 Days to Die](game_eggs/steamcmd_servers/7_days_to_die)
* [ARK: Survival Ascended](game_eggs/steamcmd_servers/ark_survival_ascended)
* [ARK: Survival Evolved](game_eggs/steamcmd_servers/ark_survival_evolved) * [ARK: Survival Evolved](game_eggs/steamcmd_servers/ark_survival_evolved)
* [Arma](game_eggs/steamcmd_servers/arma) * [Arma](game_eggs/steamcmd_servers/arma)
* [Arma 3](game_eggs/steamcmd_servers/arma/arma3) * [Arma 3](game_eggs/steamcmd_servers/arma/arma3)
* [Arma Reforger](game_eggs/steamcmd_servers/arma/arma_reforger) * [Arma Reforger](game_eggs/steamcmd_servers/arma/arma_reforger)
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa) * [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
* [Astro Colony](game_eggs/steamcmd_servers/astro_colony)
* [Astroneer](game_eggs/steamcmd_servers/astroneer)
* [Avorion](game_eggs/steamcmd_servers/avorion) * [Avorion](game_eggs/steamcmd_servers/avorion)
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma) * [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
* [BATTALION: Legacy](game_eggs/steamcmd_servers/battalion_legacy)
* [Black Mesa](game_eggs/steamcmd_servers/black_mesa) * [Black Mesa](game_eggs/steamcmd_servers/black_mesa)
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel) * [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
* [Colony Survival](game_eggs/steamcmd_servers/colony_survival)
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles) * [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
* [Core Keeper](game_eggs/steamcmd_servers/core_keeper)
* [Counter-Strike](game_eggs/steamcmd_servers/counter_strike/)
* [Counter-Strike: Source](game_eggs/steamcmd_servers/counter_strike/counter_strike_source/)
* [Craftopia](game_eggs/steamcmd_servers/craftopia) * [Craftopia](game_eggs/steamcmd_servers/craftopia)
* [Cryofall](game_eggs/steamcmd_servers/cryofall) * [Cryofall](game_eggs/steamcmd_servers/cryofall)
* [DayZ (Experimental)](game_eggs/steamcmd_servers/dayz-experimental) * [DayZ (Experimental)](game_eggs/steamcmd_servers/dayz-experimental)
* [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve) * [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve)
* [ECO](game_eggs/steamcmd_servers/eco) * [ECO](game_eggs/steamcmd_servers/eco)
* [Empyrion - Galactic Survival](game_eggs/steamcmd_servers/empyrion)
* [Fistful of Frags](game_eggs/steamcmd_servers/fof) * [Fistful of Frags](game_eggs/steamcmd_servers/fof)
* [Frozen Flame](game_eggs/steamcmd_servers/frozen_flame) * [Frozen Flame](game_eggs/steamcmd_servers/frozen_flame)
* [Ground Branch](game_eggs/steamcmd_servers/ground_branch)
* [HLDS Server](game_eggs/steamcmd_servers/hlds_server) * [HLDS Server](game_eggs/steamcmd_servers/hlds_server)
* [HLDS Vanilla](game_eggs/steamcmd_servers/hlds_server/vanilla) * [HLDS Vanilla](game_eggs/steamcmd_servers/hlds_server/vanilla)
* [ReHLDS](game_eggs/steamcmd_servers/hlds_server/rehlds) * [ReHLDS](game_eggs/steamcmd_servers/hlds_server/rehlds)
* [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast) * [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast)
* [HumanitZ](game_eggs/steamcmd_servers/humanitz)
* [Hurtworld](game_eggs/steamcmd_servers/hurtworld) * [Hurtworld](game_eggs/steamcmd_servers/hurtworld)
* [Icarus](game_eggs/steamcmd_servers/icarus) * [Icarus](game_eggs/steamcmd_servers/icarus)
* [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm) * [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm)
* [iosoccer](game_eggs/steamcmd_servers/iosoccer)
* [Killing Floor 2](game_eggs/steamcmd_servers/killing_floor_2) * [Killing Floor 2](game_eggs/steamcmd_servers/killing_floor_2)
* [Left 4 Dead](game_eggs/steamcmd_servers/left4dead) * [Left 4 Dead](game_eggs/steamcmd_servers/left4dead)
* [Left 4 Dead 2](game_eggs/steamcmd_servers/left4dead_2) * [Left 4 Dead 2](game_eggs/steamcmd_servers/left4dead_2)
* [Modiverse](game_eggs/steamcmd_servers/modiverse) * [Modiverse](game_eggs/steamcmd_servers/modiverse)
* [Mordhau](game_eggs/steamcmd_servers/mordhau) * [Mordhau](game_eggs/steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](game_eggs/steamcmd_servers/mount_blade_II_bannerlord)
* [Neos VR](game_eggs/steamcmd_servers/neosvr)
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih) * [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
* [No One Survived](game_eggs/steamcmd_servers/no_one_survived)
* [Onset](game_eggs/steamcmd_servers/onset) * [Onset](game_eggs/steamcmd_servers/onset)
* [Open Fortress](game_eggs/steamcmd_servers/open_fortress) * [Open Fortress](game_eggs/steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](game_eggs/steamcmd_servers/operation_harsh_doorstop)
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr) * [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
* [PixARK](game_eggs/steamcmd_servers/pixark) * [PixARK](game_eggs/steamcmd_servers/pixark)
* [Portal Knights](game_eggs/steamcmd_servers/portal_knights)
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum) * [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
* [Project Zomboid](game_eggs/steamcmd_servers/project_zomboid) * [Project Zomboid](game_eggs/steamcmd_servers/project_zomboid)
* [Quake Live](game_eggs/steamcmd_servers/quake_live) * [Quake Live](game_eggs/steamcmd_servers/quake_live)
* [Resonite](game_eggs/steamcmd_servers/resonite)
* [Rising World](game_eggs/steamcmd_servers/rising_world) * [Rising World](game_eggs/steamcmd_servers/rising_world)
* [Risk Of Rain 2](game_eggs/steamcmd_servers/risk_of_rain_2) * [Risk Of Rain 2](game_eggs/steamcmd_servers/risk_of_rain_2)
* [Rust](game_eggs/steamcmd_servers/rust) * [Rust](game_eggs/steamcmd_servers/rust)
@ -264,18 +310,22 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl) * [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl)
* [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated) * [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated)
* [exiled](game_eggs/steamcmd_servers/scpsl/exiled) * [exiled](game_eggs/steamcmd_servers/scpsl/exiled)
* [multiadmin](game_eggs/steamcmd_servers/scpsl/multiadmin)
* [Soldat](game_eggs/steamcmd_servers/soldat) * [Soldat](game_eggs/steamcmd_servers/soldat)
* [Sons of the Forest](game_eggs/steamcmd_servers/sonsoftheforest)
* [Space Engineers](game_eggs/steamcmd_servers/space_engineers) * [Space Engineers](game_eggs/steamcmd_servers/space_engineers)
* [default](game_eggs/steamcmd_servers/space_engineers/default) * [default](game_eggs/steamcmd_servers/space_engineers/default)
* [torch](game_eggs/steamcmd_servers/space_engineers/torch) * [torch](game_eggs/steamcmd_servers/space_engineers/torch)
* [Squad](game_eggs/steamcmd_servers/squad) * [Squad](game_eggs/steamcmd_servers/squad)
* [Starbound](game_eggs/steamcmd_servers/starbound) * [Starbound](game_eggs/steamcmd_servers/starbound)
* [Stationeers](game_eggs/steamcmd_servers/stationeers) * [Stationeers](game_eggs/steamcmd_servers/stationeers)
* [Stationeers Vanilla](game_eggs/steamcmd_servers/stationeers/stationeers_vanilla)
* [Stationeers BepInEx](game_eggs/steamcmd_servers/stationeers/stationeers_bepinex)
* [Stormworks: Build and Rescue](game_eggs/steamcmd_servers/stormworks) * [Stormworks: Build and Rescue](game_eggs/steamcmd_servers/stormworks)
* [Subnautica: Nitrox Mod](game_eggs/steamcmd_servers/subnautica_nitrox_mod) * [Subnautica: Nitrox Mod](game_eggs/steamcmd_servers/subnautica_nitrox_mod)
* [Sven Co-op](game_eggs/steamcmd_servers/svencoop) * [Sven Co-op](game_eggs/steamcmd_servers/svencoop)
* [Swords 'n Magic and Stuff](game_eggs/steamcmd_servers/swords_'n_Magic_and_Stuff)
* [The Forest](game_eggs/steamcmd_servers/the_forest) * [The Forest](game_eggs/steamcmd_servers/the_forest)
* [The Front](game_eggs/steamcmd_servers/thefront)
* [The Isle](game_eggs/steamcmd_servers/the_isle) * [The Isle](game_eggs/steamcmd_servers/the_isle)
* [Evrima](game_eggs/steamcmd_servers/the_isle/evrima) * [Evrima](game_eggs/steamcmd_servers/the_isle/evrima)
* [Team Fortress 2 Classic](game_eggs/steamcmd_servers/team_fortress_2_classic) * [Team Fortress 2 Classic](game_eggs/steamcmd_servers/team_fortress_2_classic)
@ -285,10 +335,14 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Euro Truck Simulator 2](game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/) * [Euro Truck Simulator 2](game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/)
* [Unturned](game_eggs/steamcmd_servers/unturned) * [Unturned](game_eggs/steamcmd_servers/unturned)
* [V Rising](game_eggs/steamcmd_servers/v_rising) * [V Rising](game_eggs/steamcmd_servers/v_rising)
* [V Rising Vanilla](game_eggs/steamcmd_servers/v_rising/v_rising_vanilla)
* [V Rising BepInex](game_eggs/steamcmd_servers/v_rising/v_rising_bepinex)
* [Valheim](game_eggs/steamcmd_servers/valheim) * [Valheim](game_eggs/steamcmd_servers/valheim)
* [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla) * [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](game_eggs/steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus) * [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus)
[Teeworlds](game_eggs/teeworlds) [Teeworlds](game_eggs/teeworlds)
* [Teeworlds](game_eggs/teeworlds/teeworlds) * [Teeworlds](game_eggs/teeworlds/teeworlds)
@ -312,6 +366,8 @@ If you are reading this it looks like you are looking to add an egg to your serv
[Xonotic](game_eggs/xonotic/xonotic) [Xonotic](game_eggs/xonotic/xonotic)
[YuzuEmu](game_eggs/yuzu-emu)
[FoundryVTT](game_eggs/FoundryVTT) [FoundryVTT](game_eggs/FoundryVTT)
## [Monitoring](/monitoring/) ## [Monitoring](/monitoring/)
@ -330,6 +386,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [minio](/storage/minio) * [minio](/storage/minio)
### SFTP Storage Share ("Empty Egg")
* [SFTP Storage Share](/storage/sftp_storage_share)
## [Software](/software/) ## [Software](/software/)
### Code Server ### Code Server
@ -340,6 +400,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Elasticsearch](/software/elasticsearch) * [Elasticsearch](/software/elasticsearch)
### Folding@Home
* [Folding@Home](/software/foldingathome)
### Gitea ### Gitea
* [Gitea](/software/gitea) * [Gitea](/software/gitea)
@ -356,6 +420,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [languagetool](/software/languagetool) * [languagetool](/software/languagetool)
### Meilisearch
* [Meilisearch](/software/meilisearch)
### Owncast ### Owncast
* [owncast](/software/owncast) * [owncast](/software/owncast)
@ -368,6 +436,10 @@ If you are reading this it looks like you are looking to add an egg to your serv
* [Reposilite](/software/reposilite) * [Reposilite](/software/reposilite)
### Uptime Kuma
* [Uptime Kuma](/software/uptime-kuma)
### Yarr ### Yarr
* [yarr](/software/yarr) * [yarr](/software/yarr)

View File

@ -2,6 +2,11 @@
## Some of these bots support other services but are primarily 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](atlbot)
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot) [ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
@ -22,11 +27,21 @@ A very clumsy python bot for discord
[fragforce/fragbot](https://github.com/fragforce/fragbot) [fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now 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) ### [JMusicBot](jmusicbot)
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot) [jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
A Discord music bot that's easy to set up and run yourself! 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) ### [parkertron](parkertron)
[parkervcp/parkertron](https://github.com/parkervcp/parkertron) [parkervcp/parkertron](https://github.com/parkervcp/parkertron)
@ -43,6 +58,11 @@ Was used to test python services.
[Cog-Creators/Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot) [Cog-Creators/Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot)
A multifunction Discord bot 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](sinusbot)
[SinusBot](https://www.sinusbot.com/) [SinusBot](https://www.sinusbot.com/)

View 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

View 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"
}
]
}

View File

@ -4,9 +4,6 @@
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. 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.
## Install notes
There will be a tar error on first install. You can safly ignore this.
## Running the bot ## Running the bot

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-12-15T16:23:16+01:00", "exported_at": "2023-03-29T10:33:50+02:00",
"name": "Bastion", "name": "Bastion",
"author": "parker@parkervcp.com", "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", "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",
@ -22,7 +22,7 @@
}, },
"scripts": { "scripts": {
"installation": { "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 python git tar\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\ntar -czf mongodb_back.tar.gz mongodb\/\r\nmv mongodb_back.tar.gz \/tmp\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 \"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 bastion.cmd .env.example bastion.sh\r\n\r\n\r\nmkdir 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 \"-----------------------------------------\"", "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:18-bullseye", "container": "node:18-bullseye",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -31,7 +31,7 @@
{ {
"name": "Bot Token", "name": "Bot Token",
"description": "The Bot Token you get from https:\/\/discordapp.com\/developers\/applications\/", "description": "The Bot Token you get from https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "TESSERACT_BOT_TOKEN", "env_variable": "BOT_TOKEN",
"default_value": "GETABOTTOKEN", "default_value": "GETABOTTOKEN",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
@ -41,7 +41,7 @@
{ {
"name": "Bot Client ID", "name": "Bot Client ID",
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/", "description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "TESSERACT_BOT_ID", "env_variable": "BOT_ID",
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
@ -51,7 +51,7 @@
{ {
"name": "Mongo URL", "name": "Mongo URL",
"description": "use `mongodb:\/\/127.0.0.1:27017\/bastion` for using the build in mongodb server", "description": "use `mongodb:\/\/127.0.0.1:27017\/bastion` for using the build in mongodb server",
"env_variable": "TESSERACT_MONGO_URI", "env_variable": "MONGO_URI",
"default_value": "mongodb:\/\/127.0.0.1:27017\/bastion", "default_value": "mongodb:\/\/127.0.0.1:27017\/bastion",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
@ -81,7 +81,7 @@
{ {
"name": "Safe Mode", "name": "Safe Mode",
"description": "When enabled, this disables usage of unsafe commands like `exec` and `eval`.", "description": "When enabled, this disables usage of unsafe commands like `exec` and `eval`.",
"env_variable": "TESSERACT_UNSAFE_MODE", "env_variable": "UNSAFE_MODE",
"default_value": "false", "default_value": "false",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
@ -119,4 +119,4 @@
"field_type": "text" "field_type": "text"
} }
] ]
} }

View File

@ -1,5 +1,8 @@
# Dynamica # Dynamica
### Their [Github](https://github.com/dynamicabot/dynamica) ## Their [Github](https://github.com/dynamicabot/dynamica-v2)
This is a discord bot for dynamically managing voice channels. 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.

View File

@ -1,29 +1,29 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-13T10:34:52+11:00", "exported_at": "2023-08-18T17:01:43+02:00",
"name": "Dynamica", "name": "Dynamica",
"author": "sebastian.pietschner@gmail.com", "author": "sebastian.pietschner@gmail.com",
"description": "The dynamica discord bot", "description": "An easy-to-use dynamic voice channel bot.",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_16" "Nodejs 18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
], },
"file_denylist": [], "file_denylist": [],
"startup": "yarn deploy && yarn prisma migrate deploy && yarn start", "startup": "npx prisma migrate deploy && yarn start",
"config": { "config": {
"files": "{}", "files": "{}",
"startup": "{\r\n \"done\": \"Ready! Logged in as \"\r\n}", "startup": "{\r\n \"done\": \"Bot logged in as \"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "^C" "stop": "^^C"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "apt-get update\r\napt-get install openssl git -y -qq\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/dynamicabot\/dynamica.git .;\r\nfi;\r\nyarn install --frozen-lockfile", "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:lts-buster-slim", "container": "node:18-bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -35,7 +35,8 @@
"default_value": "file:\/home\/container\/dynamica\/db.sqlite", "default_value": "file:\/home\/container\/dynamica\/db.sqlite",
"user_viewable": true, "user_viewable": true,
"user_editable": false, "user_editable": false,
"rules": "required|string" "rules": "required|string",
"field_type": "text"
}, },
{ {
"name": "Token", "name": "Token",
@ -44,16 +45,58 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string" "rules": "required|string",
"field_type": "text"
}, },
{ {
"name": "Client ID", "name": "Guild ID",
"description": "The client ID of your discord bot.", "description": "Add only if using the bot in a single guild.",
"env_variable": "CLIENT_ID", "env_variable": "GUILD_ID",
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|size:18" "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"
} }
] ]
} }

View 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 |

View 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-12-06T09:05:57+00:00",
"name": "Game Server Watcher",
"author": "a-sync@devs.space",
"description": "A simple discord\/telegram\/slack bot that can be hosted on a free service to monitor your game servers and players in style. \ud83d\ude0e",
"features": null,
"docker_images": {
"Node.js 20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
},
"file_denylist": [],
"startup": "env PORT={{SERVER_PORT}} \/usr\/local\/bin\/node \/home\/container\/dist\/server.js",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"starting loop...\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt-get update && apt-get install ca-certificates git -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages\r\ncd \/mnt\/server\r\ngit config --global --add safe.directory \/mnt\/server\r\ngit clone https:\/\/github.com\/a-sync\/game-server-watcher.git . || git pull\r\nnpm install && npm update gamedig && npm run build\r\nnpm prune --omit=dev",
"container": "node:20-bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "SECRET",
"description": "Admin secret",
"env_variable": "SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:8|max:255",
"field_type": "text"
},
{
"name": "DATA_PATH",
"description": "Writable folder for data storage",
"env_variable": "DATA_PATH",
"default_value": ".\/data\/",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:1|max:255",
"field_type": "text"
},
{
"name": "REFRESH_TIME_MINUTES",
"description": "Game server info refresh interval in minutes",
"env_variable": "REFRESH_TIME_MINUTES",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:1",
"field_type": "text"
},
{
"name": "DISCORD_BOT_TOKEN",
"description": "Discord bot token",
"env_variable": "DISCORD_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "TELEGRAM_BOT_TOKEN",
"description": "Telegram bot token",
"env_variable": "TELEGRAM_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "STEAM_WEB_API_KEY",
"description": "Steam web API key",
"env_variable": "STEAM_WEB_API_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Debug Mode",
"description": "Enable or disable debug mode.",
"env_variable": "DBG",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|in:0,1",
"field_type": "text"
},
{
"name": "SLACK_BOT_TOKEN",
"description": "Slack bot token",
"env_variable": "SLACK_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "SLACK_APP_TOKEN",
"description": "Slack app token",
"env_variable": "SLACK_APP_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}

View File

@ -1,16 +1,17 @@
{ {
"_comment": "Pterodactyl JMusicBot Egg ~ parkervcp, Software-Noob, Proxymiity, and Red-Thirten ~ 2021-11-29", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2023-09-20T21:17:10+02:00",
"name": "JMusicBot", "name": "JMusicBot",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "A Discord music bot that's easy to set up and run yourself!", "description": "A Discord music bot that's easy to set up and run yourself!",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_16" "ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
], },
"file_denylist": [], "file_denylist": [],
"startup": "java -Dnogui=true -jar JMusicBot.jar", "startup": "java -Dnogui=true -jar JMusicBot.jar",
"config": { "config": {
@ -21,8 +22,8 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE and VERSION\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nGITHUB_PACKAGE=\"jagrosh\/MusicBot\"\r\nCONFIG_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/jmusicbot\/config.txt\"\r\nPLAYLIST_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/jmusicbot\/example_playlist.txt\"\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"No Github user set. Using anonymous API call...\"\r\nelse\r\n echo -e \"User and OAuth token set.\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n# get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_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_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i config)\r\n else\r\n echo -e \"Defaulting to the latest release.\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n## JMusicBot Setup\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\ncd \/mnt\/server\r\necho -e \"\\nInstalling\/Updating JMusicBot...\\n\"\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n echo -e \"Updating JMusicBot.jar to latest version...\"\r\n echo -e '\\t(Old version can be found at \"JMusicBot.jar-old\")'\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\necho -e \"Running: curl -sSLo JMusicBot.jar ${DOWNLOAD_LINK}\\n\"\r\ncurl -sSLo JMusicBot.jar ${DOWNLOAD_LINK}\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"Updating config.txt to latest version...\"\r\n echo -e '\\t(Old version can be found at \"config.txt-old\")'\r\n mv -f config.txt config.txt-old\r\nfi\r\necho -e \"Running: curl -sSLo config.txt ${CONFIG_LINK}\\n\"\r\ncurl -sSLo config.txt ${CONFIG_LINK}\r\n\r\n[ ! -d Playlists ] && mkdir Playlists\r\ncd Playlists\r\nif [ -f example_playlist.txt ]; then\r\n echo -e \"example_playlist.txt already exists. Skipping default download.\"\r\nelse\r\n echo -e \"example_playlist.txt not found. Downloading default example_playlist...\"\r\n echo -e \"Running: curl -sSLo example_playlist.txt ${PLAYLIST_LINK}\"\r\n curl -sSLo example_playlist.txt ${PLAYLIST_LINK}\r\nfi\r\n\r\necho -e \"\\nJMusicBot Successfully Installed!\"", "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nCONFIG_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/jmusicbot\/config.txt\"\r\nPLAYLIST_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/jmusicbot\/example_playlist.txt\"\r\n\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/jagrosh\/MusicBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/jagrosh\/MusicBot\/releases\")\r\nMATCH=JMusicBot\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\n## JMusicBot Setup\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\ncd \/mnt\/server\r\necho -e \"\\nInstalling\/Updating JMusicBot...\\n\"\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n echo -e \"Updating JMusicBot.jar to latest version...\"\r\n echo -e '\\t(Old version can be found at \"JMusicBot.jar-old\")'\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\necho -e \"Running: curl -sSLo JMusicBot.jar ${DOWNLOAD_URL}\\n\"\r\ncurl -sSLo JMusicBot.jar ${DOWNLOAD_URL}\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"Updating config.txt to latest version...\"\r\n echo -e '\\t(Old version can be found at \"config.txt-old\")'\r\n mv -f config.txt config.txt-old\r\nfi\r\necho -e \"Running: curl -sSLo config.txt ${CONFIG_LINK}\\n\"\r\ncurl -sSLo config.txt ${CONFIG_LINK}\r\n\r\n[ ! -d Playlists ] && mkdir Playlists\r\ncd Playlists\r\nif [ -f example_playlist.txt ]; then\r\n echo -e \"example_playlist.txt already exists. Skipping default download.\"\r\nelse\r\n echo -e \"example_playlist.txt not found. Downloading default example_playlist...\"\r\n echo -e \"Running: curl -sSLo example_playlist.txt ${PLAYLIST_LINK}\"\r\n curl -sSLo example_playlist.txt ${PLAYLIST_LINK}\r\nfi\r\n\r\necho -e \"\\nJMusicBot Successfully Installed!\"",
"container": "debian:buster-slim", "container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "\/bin\/bash" "entrypoint": "\/bin\/bash"
} }
}, },
@ -31,10 +32,11 @@
"name": "[REQUIRED] Discord Bot Token", "name": "[REQUIRED] Discord Bot Token",
"description": "The token for your Discord bot. Learn how to obtain a token and configure your bot application properly here: https:\/\/jmusicbot.com\/getting-a-bot-token\/", "description": "The token for your Discord bot. Learn how to obtain a token and configure your bot application properly here: https:\/\/jmusicbot.com\/getting-a-bot-token\/",
"env_variable": "BOT_TOKEN", "env_variable": "BOT_TOKEN",
"default_value": "You need to get a token", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string" "rules": "required|string",
"field_type": "text"
}, },
{ {
"name": "[REQUIRED] Bot Owner ID", "name": "[REQUIRED] Bot Owner ID",
@ -43,7 +45,8 @@
"default_value": "Change This To Your Discord User ID", "default_value": "Change This To Your Discord User ID",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|digits:18" "rules": "required|digits_between:17,18",
"field_type": "text"
}, },
{ {
"name": "Bot Prefix", "name": "Bot Prefix",
@ -52,7 +55,8 @@
"default_value": "@mention", "default_value": "@mention",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:20" "rules": "nullable|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Bot Alternate Prefix", "name": "Bot Alternate Prefix",
@ -61,7 +65,8 @@
"default_value": "NONE", "default_value": "NONE",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Bot Default Game", "name": "Bot Default Game",
@ -70,7 +75,8 @@
"default_value": "DEFAULT", "default_value": "DEFAULT",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:20" "rules": "nullable|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Bot Default Status", "name": "Bot Default Status",
@ -79,7 +85,8 @@
"default_value": "ONLINE", "default_value": "ONLINE",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:ONLINE,IDLE,DND,INVISIBLE" "rules": "required|string|in:ONLINE,IDLE,DND,INVISIBLE",
"field_type": "text"
}, },
{ {
"name": "Bot Show Song in Status", "name": "Bot Show Song in Status",
@ -88,7 +95,8 @@
"default_value": "false", "default_value": "false",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:true,false" "rules": "required|string|in:true,false",
"field_type": "text"
}, },
{ {
"name": "Bot Show Images for \"Now Playing\"", "name": "Bot Show Images for \"Now Playing\"",
@ -97,7 +105,8 @@
"default_value": "false", "default_value": "false",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:true,false" "rules": "required|string|in:true,false",
"field_type": "text"
}, },
{ {
"name": "Bot Stay In Channel", "name": "Bot Stay In Channel",
@ -106,7 +115,8 @@
"default_value": "false", "default_value": "false",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:true,false" "rules": "required|string|in:true,false",
"field_type": "text"
}, },
{ {
"name": "Bot Alone Time Until Disconnect", "name": "Bot Alone Time Until Disconnect",
@ -115,7 +125,8 @@
"default_value": "0", "default_value": "0",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|integer" "rules": "required|integer",
"field_type": "text"
}, },
{ {
"name": "Bot Max Song Length", "name": "Bot Max Song Length",
@ -124,7 +135,8 @@
"default_value": "0", "default_value": "0",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|integer" "rules": "required|integer",
"field_type": "text"
} }
] ]
} }

View File

@ -0,0 +1,43 @@
# Muse
### Authors / Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/TubaApollo">
<img src="https://avatars.githubusercontent.com/u/86665265" width="50px;" alt=""/><br /><sub><b>TubaApollo</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=TubaApollo" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=TubaApollo" title="Maintains">🔨</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=lilkingjr1" title="Contributor">💡</a>
</td>
<td align="center">
<a href="https://github.com/QuintenQVD0">
<img src="https://avatars.githubusercontent.com/u/67589015" width="50px;" alt=""/><br /><sub><b>QuintenQVD0</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=QuintenQVD0" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=QuintenQVD0" title="Contributor">💡</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
## Their [Github](https://github.com/codetheweb/muse)
Muse is a highly-opinionated midwestern self-hosted Discord music bot that doesn't suck.
## Server Ports
There are no ports required for the Muse bot

View 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-09-20T20:25:51+02:00",
"name": "Muse",
"author": "hello@apollo.moe",
"description": "\ud83c\udfa7 a self-hosted midwestern Discord music bot that doesn't suck",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_16": "ghcr.io\/parkervcp\/yolks:nodejs_16"
},
"file_denylist": [],
"startup": "npm start",
"config": {
"files": "{\r\n \".env\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"DISCORD_TOKEN\": \"DISCORD_TOKEN={{env.discord_token}}\",\r\n \"DATA_DIR\": \"DATA_DIR={{env.data_dir}}\",\r\n \"YOUTUBE_API_KEY\": \"YOUTUBE_API_KEY={{env.api_key}}\",\r\n \"SPOTIFY_CLIENT_ID\": \"SPOTIFY_CLIENT_ID={{env.client_id}}\",\r\n \"SPOTIFY_CLIENT_SECRET\": \"SPOTIFY_CLIENT_SECRET={{env.client_secret}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Running version \"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "## Credits: Red-Thirten (https:\/\/github.com\/lilkingjr1) for providing most of the installation script\r\napt-get update\r\napt-get install git curl jq -y -qq\r\n\r\nGITHUB_PACKAGE=\"codetheweb\/muse\"\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 Muse from GitHub & Extract\r\ncd \/mnt\/server\r\necho -e \"Downloading Muse from GitHub...\"\r\ncurl -L ${DOWNLOAD_URL} -o muse.tar.gz\r\necho -e \"Extracting Muse from tarball...\"\r\ntar -xvzf muse.tar.gz --strip-components=1\r\nrm muse.tar.gz\r\n\r\n# Verify and clean up Muse installation\r\nif [ ! -f .env.example ]; then\r\n echo -e \"\\nFailed to download release: ${DOWNLOAD_URL}\\n\"\r\n exit 1\r\nfi\r\ncp .env.example .env\r\nrm -rf .dockerignore Dockerfile .gitignore .github\/\r\nyarn install --prod #--frozen-lockfile\r\n#sed -i 's\/of filterWrapper[)]\/of filterWrapper|| [])\/g' \/mnt\/server\/node_modules\/ytsr\/lib\/utils.js\r\n\r\necho -e \"\\nMuse Successfully Installed!\"",
"container": "node:lts-bullseye-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": "Data directory",
"description": "Default: .\/data",
"env_variable": "data_dir",
"default_value": ".\/data",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "YouTube API Key",
"description": "You can get it here: https:\/\/console.developers.google.com\/",
"env_variable": "api_key",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Spotify Client ID",
"description": "You can get it here: https:\/\/developer.spotify.com\/dashboard\/applications",
"env_variable": "client_id",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Spotify Client Secret",
"description": "You can get it here: https:\/\/developer.spotify.com\/dashboard\/applications",
"env_variable": "client_secret",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Version",
"description": "Specify a version, for example: \"v2.4.1\"\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"
}
]
}

View File

@ -1,26 +1,31 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1" "version": "PTDL_v2",
"update_url": null
}, },
"exported_at": "2020-04-03T12:50:58-04:00", "exported_at": "2023-02-19T13:09:14+01:00",
"name": "parkertron", "name": "parkertron",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron", "description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron",
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_parkertron", "features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:bot_parkertron": "ghcr.io\/parkervcp\/yolks:bot_parkertron"
},
"file_denylist": [],
"startup": ".\/parkertron", "startup": ".\/parkertron",
"config": { "config": {
"files": "{}", "files": "{}",
"startup": "{\r\n \"done\": \"Bot is now running\"\r\n}", "startup": "{\r\n \"done\": \"Bot is now running\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "logs": "{}",
"stop": "shutdown" "stop": "shutdown"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/ash\r\n# parkertron 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 curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"pulling the parkertron pterodactyl branch\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\ngo mod download\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \/mnt\/server\/configs ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp -r \/root\/parkertron\/configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"", "script": "#!\/bin\/bash\r\n# parkertron 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\napt update\r\n\r\napt install -y tesseract-ocr tesseract-ocr-eng libtesseract-dev\r\n\r\necho \"pulling the parkertron git repo\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \/mnt\/server\/configs ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp -r \/root\/parkertron\/configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
"container": "golang:1.14-alpine", "container": "golang:1.19-bullseye",
"entrypoint": "ash" "entrypoint": "bash"
} }
}, },
"variables": [] "variables": []
} }

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-11-06T11:14:23+01:00", "exported_at": "2023-08-05T10:50:21+02:00",
"name": "Red", "name": "Red",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot", "description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot",
@ -22,8 +22,8 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# red-discordbot install script\r\n\r\n## install deps\r\nmkdir -p \/usr\/share\/man\/man1\r\napt update\r\napt -y install git ca-certificates dnsutils iproute2 make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev git openjdk-11-jre\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/redbot\/config.json -o \/mnt\/server\/.config\/Red-DiscordBot\/config.json\r\nfi\r\n\r\necho -e \"install finished\"", "script": "#!\/bin\/bash\r\n# red-discordbot install script\r\n\r\n## install deps\r\nmkdir -p \/usr\/share\/man\/man1\r\napt update\r\napt -y install git ca-certificates dnsutils iproute2 make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev git openjdk-17-jre-headless\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\npip install --upgrade pip\r\nsu - container -c 'pip install -U pip wheel'\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/redbot\/config.json -o \/mnt\/server\/.config\/Red-DiscordBot\/config.json\r\nfi\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
"container": "python:3.8-slim", "container": "python:3.11-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -47,6 +47,16 @@
"user_editable": true, "user_editable": true,
"rules": "required|string", "rules": "required|string",
"field_type": "text" "field_type": "text"
},
{
"name": "Owner",
"description": "Owner of the Bot to use special commands",
"env_variable": "OWNER",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:30",
"field_type": "text"
} }
] ]
} }

View File

@ -0,0 +1,73 @@
# Ree6
___
## Authors / Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/dxssucuk">
<img src="https://avatars.githubusercontent.com/u/53257574" width="50px;" alt=""/><br /><sub><b>Presti</b></sub>
</a>
<br />
<a href="https://github.com/Ree6-Applications/Ree6/commits?author=dxssucuk" title="Codes">💻</a>
<a href="https://github.com/Ree6-Applications/Ree6/commits?author=dxssucuk" 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/QuintenQVD0">
<img src="https://avatars.githubusercontent.com/u/67589015" width="50px;" alt=""/><br /><sub><b>QuintenQVD0</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=QuintenQVD0" title="Codes">💻</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
___
## Bot Description & Features
From the developer's [Github](https://github.com/Ree6-Applications/Ree6):
> Ree6 is an all-in-one Discord Bot maintained by Presti, which started as an alternative of Mee6 to provide a lot of features that are hidden behind a paywall or subscription.
- Contains almost every feature Mee6 has.
- Has a open Source Webinterface.
- Provides advanced Audit-Logging.
- Has built in post notifications (Twitter, Instagram, YouTube, Reddit and Twitch).
- Built-in simple Ticket System.
- And more!
___
## Configuration
- You will need to modify the config.yml to even start the bot.
___
## Server Ports
There are no ports required for Ree6.
___
## Updating
Re-Installing the server via the panel will do the following:
1. Update the bot to the latest version.
## API keys
This bot uses a lot of api keys. It will print some errors to the console if you don't have some filled in but the bot should still function as normal with the api keys you entered.

View File

@ -0,0 +1,128 @@
# ################################
# # #
# # Ree6 Config File #
# # by Presti #
# # #
# ################################
#
# Do not change this!
config:
version: 3.0.0
creation: 1686731674683
# HikariCP Configuration
hikari:
# SQL Configuration
sql:
user: root
db: root
pw: yourpw
host: localhost
port: 3306
# Misc Configuration
misc:
storage: sqlite # Possible entries: sqlite, mariadb, postgresql, h2, h2-server
storageFile: storage/Ree6.db
createEmbeddedServer: false # Should an instance of an embedded Server be created? Only used for H2-Server.
poolSize: 10
# Discord Application and overall Bot Configuration, used for OAuth, Bot Authentication and customization.
bot:
tokens:
release: ReleaseTokenhere # Token used when set to release build.
beta: BetaTokenhere # Token used when set to beta build.
dev: DevTokenhere # Token used when set to dev build.
# Configuration for the Bot itself.
misc:
status: ree6.de | %guilds% Servers. (%shard%) # The Status of the Bot.
feedbackChannelId: 0 # The Channel used for Feedback.
ownerId: <YOUR DISCORD ID> # The ID of the Bot Owner. Change this to yours!
predefineInformation: | # Predefined Information for the AI.
You are Ree6 a Discord bot.
invite: https://invite.ree6.de # The Invite Link of the Bot.
support: https://support.ree6.de # The Support Server Link of the Bot.
github: https://github.ree6.de # The GitHub Link of the Bot.
website: https://ree6.de # The Website Link of the Bot.
webinterface: https://cp.ree6.de # The Webinterface Link of the Bot.
recording: https://cp.ree6.de/external/recording # The Recording Link of the Bot.
twitchAuth: https://cp.ree6.de/external/twitch # The Twitch Authentication Link of the Bot.
advertisement: powered by Tube-hosting # The Advertisement in Embed Footers and the rest.
name: Ree6 # The Name of the Bot.
shards: 1 # The shard amount of the Bot. Check out https://anidiots.guide/understanding/sharding/#sharding for more information.
# Customize the active modules in Ree6.
modules:
moderation: true # Enable the moderation module.
music: true # Enable the music module.
fun: true # Enable the fun commands.
community: true # Enable the community commands.
economy: true # Enable the economy commands.
level: true # Enable the level module.
nsfw: true # Enable the nsfw module.
info: true # Enable the info commands.
hidden: true # Enable the hidden commands.
logging: true # Enable the logging module.
notifier: true # Enable the notifier module.
streamtools: true # Enable the Stream-tools module.
temporalvoice: true # Enable the Temporal-voice module.
tickets: true # Enable the Tickets module.
suggestions: true # Enable the suggestions module.
customcommands: true # Enable the custom Commands module.
customevents: true # Enable the custom Events module.
ai: true # Enable the AI module.
addons: false # Enable the Addons module.
news: true # Enable the news command/module.
games: true # Enable the Games module.
reactionroles: true # Enable the reaction-roles module.
slashcommands: true # Enable the slash-commands support.
messagecommands: true # Enable the message-commands support.
# Heartbeat Configuration, for status reporting
heartbeat:
url: none # The URL to the Heartbeat-Server
interval: 60
dagpi:
apitoken: DAGPI.xyz API-Token # Your Dagpi.xyz API-Token, for tweet image generation!
amari:
apitoken: Amari API-Token # Your Amari API-Token, for Amari Level imports!
openai:
apiToken: OpenAI API-Token # Your OpenAI API-Token, for ChatGPT!
apiUrl: https://api.openai.com/v1/chat/completions # The URL to the OpenAI API.
model: gpt-3.5-turbo-0301 # The Model used for the OpenAI API.
sentry:
dsn: yourSentryDSNHere # Your Sentry DSN, for error reporting!
# Spotify Application Configuration, used to parse Spotify Tracks/Playlists to YouTube search queries.
spotify:
client:
id: yourspotifyclientid
secret: yourspotifyclientsecret
# Twitch Application Configuration, used for the StreamTools and Twitch Notifications.
twitch:
client:
id: yourtwitchclientidhere
secret: yourtwitchclientsecrethere
# Twitter Application Configuration, used for the Twitter Notifications.
twitter:
bearer: yourTwitterBearerToken
# Reddit Application Configuration, used for the Reddit Notification.
reddit:
client:
id: yourredditclientid
secret: yourredditclientsecret
# Instagram Application Configuration, used for the Instagram Notification.
instagram:
username: yourInstagramUsername
password: yourInstagramPassword

View File

@ -0,0 +1,422 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-06-14T13:03:27+02:00",
"name": "Ree6",
"author": "presti@presti.me",
"description": "All-in-one, open source and 100% free Discord Bot!",
"features": null,
"docker_images": {
"Java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
},
"file_denylist": [],
"startup": "java -Dnogui=true -jar Ree6.jar",
"config": {
"files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"hikari.sql.user\": \"{{server.build.env.DATABASE_USER}}\",\r\n \"hikari.sql.db\": \"{{server.build.env.DATABASE_DB}}\",\r\n \"hikari.sql.pw\": \"{{server.build.env.DATABASE_PW}}\",\r\n \"hikari.sql.host\": \"{{server.build.env.DATABASE_HOST}}\",\r\n \"hikari.sql.port\": \"{{server.build.env.DATABASE_PORT}}\",\r\n \"hikari.misc.storage\": \"{{server.build.env.DATABASE_TYP}}\",\r\n \"hikari.misc.storageFile\": \"{{server.build.env.DATABASE_FILE}}\",\r\n \"hikari.misc.poolSize\": \"{{server.build.env.DATABASE_POOL}}\",\r\n \"hikari.misc.createEmbeddedServer\": \"{{server.build.env.DATABASE_EMBEDDED}}\",\r\n \"heartbeat.url\": \"{{server.build.env.HEARTBEAT_URL}}\",\r\n \"heartbeat.interval\": \"{{server.build.env.HEARTBEAT_INTERVAL}}\",\r\n \"dagpi.apitoken\": \"{{server.build.env.DAGPI_TOKEN}}\",\r\n \"amari.apitoken\": \"{{server.build.env.AMARI_TOKEN}}\",\r\n \"sentry.dsn\": \"{{server.build.env.SENTRY_DSN}}\",\r\n \"spotify.client.id\": \"{{server.build.env.SPOTIFY_CLIENT_ID}}\",\r\n \"spotify.client.secret\": \"{{server.build.env.SPOTIFY_CLIENT_SECRET}}\",\r\n \"twitch.client.id\": \"{{server.build.env.TWITCH_CLIENT_ID}}\",\r\n \"twitch.client.secret\": \"{{server.build.env.TWITCH_CLIENT_SECRET}}\",\r\n \"twitter.consumer.key\": \"{{server.build.env.TWITTER_CONSUMER_ID}}\",\r\n \"twitter.consumer.secret\": \"{{server.build.env.TWITTER_CONSUMER_SECRET}}\",\r\n \"twitter.access.key\": \"{{server.build.env.TWITTER_ACCESS_ID}}\",\r\n \"twitter.access.secret\": \"{{server.build.env.TWITTER_ACCESS_SECRET}}\",\r\n \"reddit.client.id\": \"{{server.build.env.REDDIT_CLIENT_ID}}\",\r\n \"reddit.client.secret\": \"{{server.build.env.REDDIT_CLIENT_SECRET}}\",\r\n \"instagram.username\": \"{{server.build.env.INSTAGRAM_USERNAME}}\",\r\n \"instagram.password\": \"{{server.build.env.INSTAGRAM_PASSWORD}}\",\r\n \"bot.tokens.release\": \"{{server.build.env.BOT_TOKEN}}\",\r\n \"openai.apiToken\": \"{{server.build.env.AI_TOKEN}}\",\r\n \"openai.apiUrl\": \"{{server.build.env.AI_URL}}\",\r\n \"openai.model\": \"{{server.build.env.AI_MODEL}}\",\r\n \"bot.misc.status\": \"{{server.build.env.MISC_STATUS}}\",\r\n \"bot.misc.feedbackChannelId\": \"{{server.build.env.MISC_FEEDBACK}}\",\r\n \"bot.misc.ownerId\": \"{{server.build.env.MISC_OWNER}}\",\r\n \"bot.misc.predefineInformation\": \"{{server.build.env.MISC_PREDEF}}\",\r\n \"bot.misc.invite\": \"{{server.build.env.MISC_INVITE}}\",\r\n \"bot.misc.support\": \"{{server.build.env.MISC_SUPPORT}}\",\r\n \"bot.misc.website\": \"{{server.build.env.MISC_WEB}}\",\r\n \"bot.misc.webinterface\": \"{{server.build.env.MISC_INTERFACE}}\",\r\n \"bot.misc.record\": \"{{server.build.env.MISC_RECORD}}\",\r\n \"bot.misc.twitchAuth\": \"{{server.build.env.MISC_TWITCH}}\",\r\n \"bot.misc.advertisement\": \"{{server.build.env.MISC_ADV}}\",\r\n \"bot.misc.name\": \"{{server.build.env.MISC_NAME}}\",\r\n \"bot.misc.shards\": \"{{server.build.env.MISC_SHARD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Finished Loading\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE and VERSION\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\napt update\r\napt install -y jq curl\r\n\r\n\r\nCONFIG_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/ree6\/config.yml\"\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/Ree6-Applications\/Ree6\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/Ree6-Applications\/Ree6\/releases\")\r\nMATCH=jar-with-dependencies.jar\r\n\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"${MATCH}\" | head -1 )\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i \"${MATCH}\" | head -1)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i *.jar)\r\n fi\r\nfi\r\n\r\n## Ree6 Setup\r\n[ ! -d \/mnt\/server ] && mkdir -p \/mnt\/server\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncd \/mnt\/server\r\necho -e \"\\nInstalling\/Updating Ree6...\\n\"\r\n\r\nif [ -f Ree6.jar ]; then\r\n echo -e \"Updating Ree6.jar to latest version...\"\r\n echo -e '\\t(Old version can be found at \"Ree6.jar-old\")'\r\n mv -f Ree6.jar Ree6.jar-old\r\nfi\r\n\r\necho -e \"Running: curl -sSL -o Ree6.jar ${DOWNLOAD_LINK}\\n\"\r\ncurl -sSL -o Ree6.jar ${DOWNLOAD_LINK}\r\n\r\nif [ -f config.yml ]; then\r\n echo -e \"Updating config.yml to latest version...\"\r\n echo -e '\\t(Old version can be found at \"config.yml-old\")'\r\n mv -f config.yml config.yml-old\r\nfi\r\n\r\necho -e \"Running: curl -sSL -o config.yml ${CONFIG_LINK}\\n\"\r\ncurl -sSL -o config.yml ${CONFIG_LINK}\r\n \r\n\r\necho -e \"\\nRee6 Successfully Installed!\"",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "[REQUIRED] Discord Bot Token",
"description": "The token for your Discord bot. Learn how to obtain a token and configure your bot application properly here: https:\/\/jmusicbot.com\/getting-a-bot-token\/",
"env_variable": "BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Dagpi token",
"description": "Your Dagpi.xyz API-Token, for tweet image generation!",
"env_variable": "DAGPI_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Sentry DSN",
"description": "Your Sentry DSN, for error reporting!",
"env_variable": "SENTRY_DSN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Spotify Client Id",
"description": "Spotify Application Configuration, used to parse Spotify Tracks\/Playlists to YouTube search queries.",
"env_variable": "SPOTIFY_CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Spotify Client Secret",
"description": "Spotify Application Configuration, used to parse Spotify Tracks\/Playlists to YouTube search queries.",
"env_variable": "SPOTIFY_CLIENT_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Heartbeat Url",
"description": "The URL to the Heartbeat-Server",
"env_variable": "HEARTBEAT_URL",
"default_value": "none",
"user_viewable": true,
"user_editable": true,
"rules": "string",
"field_type": "text"
},
{
"name": "Heartbeat Interval",
"description": "The interval between the heartbeats.",
"env_variable": "HEARTBEAT_INTERVAL",
"default_value": "60",
"user_viewable": true,
"user_editable": true,
"rules": "integer",
"field_type": "text"
},
{
"name": "Amari Token",
"description": "Your Amari API-Token, for Amari Level imports!",
"env_variable": "AMARI_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitch Client Id",
"description": "Twitch Application Configuration, used for the StreamTools and Twitch Notifications.",
"env_variable": "TWITCH_CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitch Client Secret",
"description": "Twitch Application Configuration, used for the StreamTools and Twitch Notifications.",
"env_variable": "TWITCH_CLIENT_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitter Bearer Key",
"description": "Twitter Application Configuration, used for the Twitter Notifications.",
"env_variable": "TWITTER_BEARER",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Reddit Client Id",
"description": "Reddit Application Configuration, used for the Reddit Notification.",
"env_variable": "REDDIT_CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Reddit Client Secret",
"description": "Reddit Application Configuration, used for the Reddit Notification.",
"env_variable": "REDDIT_CLIENT_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Instagram Username",
"description": "Instagram Application Configuration, used for the Instagram Notification.",
"env_variable": "INSTAGRAM_USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Instagram Password",
"description": "Instagram Application Configuration, used for the Instagram Notification.",
"env_variable": "INSTAGRAM_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "SQL Username",
"description": "Username for the SQL connection.",
"env_variable": "DATABASE_USER",
"default_value": "root",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:32",
"field_type": "text"
},
{
"name": "SQL Database",
"description": "Database for the SQL Connection",
"env_variable": "DATABASE_DB",
"default_value": "root",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:64",
"field_type": "text"
},
{
"name": "SQL Password",
"description": "Password for the SQL connection.",
"env_variable": "DATABASE_PW",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "SQL Port",
"description": "Port for the SQL connection.",
"env_variable": "DATABASE_PORT",
"default_value": "3306",
"user_viewable": true,
"user_editable": true,
"rules": "integer",
"field_type": "text"
},
{
"name": "Database Typ",
"description": "The Typ of the Database Ree6 should use!\r\nPossible typs:\r\n- mariadb\r\n- sqlite\r\n- h2\r\n- postgres",
"env_variable": "DATABASE_TYP",
"default_value": "sqlite",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:mariadb,sqlite,postgres,postregsql,h2",
"field_type": "text"
},
{
"name": "Database Storagefile",
"description": "The location of the storagefile if sqlite is being used.",
"env_variable": "DATABASE_FILE",
"default_value": "storage\/Ree6.db",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "[DEVELOPER-STUFF] Database Poolsize",
"description": "The Database connection pool size!",
"env_variable": "DATABASE_POOL",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "Database host",
"description": "The Host address of the Database connection.",
"env_variable": "DATABASE_HOST",
"default_value": "localhost",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "OpenAI Token",
"description": "Your Authentication token that should be used in the AI API calls.",
"env_variable": "AI_TOKEN",
"default_value": "OpenAI API-Token",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "OpenAI Url",
"description": "The URL that should receive the API calls.",
"env_variable": "AI_URL",
"default_value": "https:\/\/api.openai.com\/v1\/chat\/completions",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "OpenAI Model",
"description": "The AI model that should be used in the API calls.",
"env_variable": "AI_MODEL",
"default_value": "gpt-3.5-turbo-0301",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "Activity Status",
"description": "The Activity status of the Bot that will be shown.",
"env_variable": "MISC_STATUS",
"default_value": "ree6.de | %guilds% Servers. (%shard%)",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Feedback Channel",
"description": "The Channel Id of the Feedback channel.",
"env_variable": "MISC_FEEDBACK",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "integer",
"field_type": "text"
},
{
"name": "[DEVELOPER-STUFF] Bot Owner Id",
"description": "The ID of the Bot Owner, this will be used internally on some checks.",
"env_variable": "MISC_OWNER",
"default_value": "321580743488831490",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "Invite Link",
"description": "The Invite link to invite the Bot.",
"env_variable": "MISC_INVITE",
"default_value": "https:\/\/invite.ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Predefined Information for AI",
"description": "The Information for the AI.",
"env_variable": "MISC_PREDEF",
"default_value": "You are Ree6 a Discord bot.",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Support Link",
"description": "The Url link for users to receive support.",
"env_variable": "MISC_SUPPORT",
"default_value": "https:\/\/support.ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Website",
"description": "The Url to the Website of the Bot.",
"env_variable": "MISC_WEB",
"default_value": "https:\/\/ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Webinterface",
"description": "The Url to the Webinterface.",
"env_variable": "MISC_INTERFACE",
"default_value": "https:\/\/cp.ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Record Url",
"description": "The Url that uses can access to get their recording.",
"env_variable": "MISC_RECORD",
"default_value": "https:\/\/cp.ree6.de\/external\/recording",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitch Url",
"description": "The Url used to connect a Twitch Account with the Ree6 System.",
"env_variable": "MISC_TWITCH",
"default_value": "https:\/\/cp.ree6.de\/external\/twitch",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Advertisment",
"description": "The Advertisement in Embed Footers and the rest.",
"env_variable": "MISC_ADV",
"default_value": "powered by Tube-hosting",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Name",
"description": "The Name of the Bot.",
"env_variable": "MISC_NAME",
"default_value": "Ree6",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Shards",
"description": "The amount of shards that should be created.",
"env_variable": "MISC_SHARD",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
}
]
}

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-11-04T12:46:17+01:00", "exported_at": "2023-08-14T15:15:05+02:00",
"name": "Sinusbot", "name": "Sinusbot",
"author": "support@pterodactyl.io", "author": "support@pterodactyl.io",
"description": "Musicbot for Discord and Teamspeak.", "description": "Musicbot for Discord and Teamspeak.",
@ -22,7 +22,7 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# Sinusbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install ca-certificates bzip2 wget tar curl jq\r\napt -q clean all\r\n\r\n#Create needed directories\r\nmkdir -p \/mnt\/server\/TeamSpeak3-Client-linux_amd64\/plugins\r\nmkdir \/mnt\/server\/youtube-dlp\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\n\r\nif [ \"${PRE_RELEASE}\" == \"1\" ]; then\r\necho \"pre\"\r\nDOWNLOAD_URL=$(curl -sSL https:\/\/forum.sinusbot.com\/threads\/upcoming-changes.8659\/ | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\" | sort -u | grep pre\/)\r\nwget -qO - ${DOWNLOAD_URL} | tar xj \r\nelse\r\necho \"release\"\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\nfi\r\n\r\n#Download Latest TeamSpeak Client\r\nTS_VERSION=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.version')\r\nTS_DL_LINK=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.mirrors.\"teamspeak.com\"')\r\n\r\necho -e \"downloading teamspeak version ${TS_VERSION}\"\r\necho -e \"running 'wget ${TS_DL_LINK}'\"\r\n\r\nwget ${TS_DL_LINK}\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\n\r\n## Cleaning up \r\n\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dlp\/youtube-dlp\"' >> config.ini\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download youtube-dlp\r\ncd \/mnt\/server\/youtube-dlp\r\nwget https:\/\/github.com\/yt-dlp\/yt-dlp\/releases\/latest\/download\/yt-dlp -O youtube-dlp\r\nchmod a+rx youtube-dlp\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "script": "#!\/bin\/bash\r\n# Sinusbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install ca-certificates bzip2 wget tar curl jq\r\napt -q clean all\r\n\r\n#Create needed directories\r\nmkdir -p \/mnt\/server\/TeamSpeak3-Client-linux_amd64\/plugins\r\nmkdir \/mnt\/server\/youtube-dlp\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\n\r\n\r\n#Download Latest TeamSpeak Client\r\n#TS_VERSION=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.version')\r\n#TS_DL_LINK=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.mirrors.\"teamspeak.com\"')\r\n\r\n# Sinusbot is not yet updated...\r\nTS_VERSION=3.5.6\r\nTS_DL_LINK=https:\/\/files.teamspeak-services.com\/releases\/client\/3.5.6\/TeamSpeak3-Client-linux_amd64-3.5.6.run\r\n\r\necho -e \"downloading teamspeak version ${TS_VERSION}\"\r\necho -e \"running 'wget ${TS_DL_LINK}'\"\r\n\r\nwget ${TS_DL_LINK}\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\n\r\n## Cleaning up \r\n\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dlp\/youtube-dlp\"' >> config.ini\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download youtube-dlp\r\ncd \/mnt\/server\/youtube-dlp\r\nwget https:\/\/github.com\/yt-dlp\/yt-dlp\/releases\/latest\/download\/yt-dlp -O youtube-dlp\r\nchmod a+rx youtube-dlp\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -37,16 +37,6 @@
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20", "rules": "required|string|max:20",
"field_type": "text" "field_type": "text"
},
{
"name": "Pre release",
"description": "Download the pre-release version?",
"env_variable": "PRE_RELEASE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|boolean",
"field_type": "text"
} }
] ]
} }

View File

@ -4,13 +4,14 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-10-02T18:28:42+02:00", "exported_at": "2023-09-02T23:24:58+00:00",
"name": "PhantomBot", "name": "PhantomBot",
"author": "mail@wuffy.eu", "author": "mail@wuffy.eu",
"description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.", "description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.",
"features": null, "features": null,
"docker_images": { "docker_images": {
"ghcr.io\/parkervcp\/yolks:java_11": "ghcr.io\/parkervcp\/yolks:java_11" "Java 16 [DEPRECATED]": "ghcr.io\/parkervcp\/yolks:java_16",
"Java 19": "ghcr.io\/parkervcp\/yolks:java_19"
}, },
"file_denylist": [], "file_denylist": [],
"startup": "java --add-opens java.base\/java.lang=ALL-UNNAMED -Djava.security.policy=config\/security -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar PhantomBot.jar", "startup": "java --add-opens java.base\/java.lang=ALL-UNNAMED -Djava.security.policy=config\/security -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar PhantomBot.jar",
@ -30,7 +31,7 @@
"variables": [ "variables": [
{ {
"name": "Version", "name": "Version",
"description": "latest = Latest Stable\r\nmaster = latest Github", "description": "latest = Latest Stable\r\nmaster = latest Github\r\n3.9.0.7 = Latest known working with Java 16",
"env_variable": "RELEASE_VERSION", "env_variable": "RELEASE_VERSION",
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
@ -109,4 +110,4 @@
"field_type": "text" "field_type": "text"
} }
] ]
} }

View File

@ -1,17 +1,17 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-13T15:19:16+01:00", "exported_at": "2023-04-23T18:47:53+02:00",
"name": "SogeBot", "name": "SogeBot",
"author": "info@goover.de", "author": "eggs@goover.dev",
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/", "description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_16" "ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
], },
"file_denylist": [], "file_denylist": [],
"startup": "npm start", "startup": "npm start",
"config": { "config": {
@ -22,8 +22,8 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#\/bin\/bash\r\n# Installscript for sogeBot | Author: info@goover.de\r\n\r\nexport DEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt install -y curl unzip sqlite3 jq wget python3 build-essential ca-certificates\r\n\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\nchown -R root:root \/mnt\r\nMATCH=sogeBot\r\ncd \/mnt\/server\r\n\r\n#Backup database & config\r\nmkdir -p .backup\r\ncp -f .env \/mnt\/server\/.backup\r\ncp -f sogebot.db \/mnt\/server\/.backup\r\n\r\n#delete old dir's to prevent errors on update\r\nrm -fR dest\r\nrm -fR public\r\nrm -fR node-modules\r\nrm -fR tools\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"Downloading from $DOWNLOAD_LINK\"\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH-*.zip\r\nrm -fR $MATCH-*.zip\r\n\r\necho \"--------------------------------------------------------------------------\"\r\necho \"Installing dependencies, this will take some time so sit back and relax...\"\r\necho \"IGNORE WARNINGS. THESE ARE NOT ERRORS !!!\"\r\necho \"--------------------------------------------------------------------------\"\r\n\r\nnpm ci 2>&1 | tee npmlog.txt\r\n\r\necho -e \"install completed\"\r\nexit 0", "script": "#\/bin\/bash\r\n# Installscript for sogeBot | Author: eggs@goover.dev\r\n\r\nexport DEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt install -y curl unzip jq python3 build-essential ca-certificates\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\nchown -R root:root \/mnt\r\n\r\n#Backup database & config\r\nmkdir -p .backup\r\ncp -f .env \/mnt\/server\/.backup\r\ncp -f sogebot.db \/mnt\/server\/.backup\r\n\r\n#delete old dir's to prevent errors on update\r\nrm -fR dest\r\nrm -fR public\r\nrm -fR node-modules\r\nrm -fR tools\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\")\r\nMATCH=sogeBot\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"Downloading from $DOWNLOAD_LINK\"\r\ncurl -sSL -o sogeBot.zip ${DOWNLOAD_LINK}\r\n\r\nunzip -o sogeBot.zip\r\nrm -rf sogeBot.zip\r\n\r\n\r\necho \"--------------------------------------------------------------------------\"\r\necho \"Installing dependencies, this will take some time so sit back and relax...\"\r\necho \"IGNORE WARNINGS. THESE ARE NOT ERRORS !!!\"\r\necho \"--------------------------------------------------------------------------\"\r\n\r\nnpm install -g npm@8\r\n\r\nnpm install --verbose --force\r\n\r\necho -e \"install completed\"\r\nexit 0",
"container": "node:16-bullseye-slim", "container": "node:18-bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -35,7 +35,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
} }
] ]
} }

View File

@ -1,13 +1,18 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1" "version": "PTDL_v2",
"update_url": null
}, },
"exported_at": "2019-11-06T18:52:33-05:00", "exported_at": "2023-12-19T09:54:17+01:00",
"name": "MariaDB", "name": "MariaDB 10.3",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.", "description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.",
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb", "features": null,
"docker_images": {
"MariaDB 10.3": "ghcr.io\/parkervcp\/yolks:mariadb_10.3"
},
"file_denylist": [],
"startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root", "startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root",
"config": { "config": {
"files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}", "files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}",
@ -23,4 +28,4 @@
} }
}, },
"variables": [] "variables": []
} }

View File

@ -1,17 +1,17 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-05-08T21:54:05+02:00", "exported_at": "2023-12-12T15:32:12+01:00",
"name": "Postgres", "name": "Postgres 14",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "A default Postgres install that is not really editable.", "description": "A default Postgres install that is not really editable.",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/parkervcp\/yolks:postgres_14" "ghcr.io\/parkervcp\/yolks:postgres_14": "ghcr.io\/parkervcp\/yolks:postgres_14"
], },
"file_denylist": [], "file_denylist": [],
"startup": "postgres -D \/home\/container\/postgres_db\/", "startup": "postgres -D \/home\/container\/postgres_db\/",
"config": { "config": {
@ -35,7 +35,8 @@
"default_value": "pterodactyl", "default_value": "pterodactyl",
"user_viewable": true, "user_viewable": true,
"user_editable": false, "user_editable": false,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Superuser Password", "name": "Superuser Password",
@ -44,7 +45,8 @@
"default_value": "Pl3453Ch4n63M3!", "default_value": "Pl3453Ch4n63M3!",
"user_viewable": true, "user_viewable": true,
"user_editable": false, "user_editable": false,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
} }
] ]
} }

View 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": "2023-12-12T15:33:25+01:00",
"name": "Postgres 16",
"author": "parker@parkervcp.com",
"description": "A default Postgres install that is not really editable.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:postgres_16": "ghcr.io\/parkervcp\/yolks:postgres_16"
},
"file_denylist": [],
"startup": "postgres -D \/home\/container\/postgres_db\/",
"config": {
"files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#port =\": \"port = {{server.build.default.port}}\",\r\n \"#external_pid_file =\": \"external_pid_file = '\/home\/container\/postgres_db\/run\/postgres.pid'\",\r\n \"#unix_socket_directories =\": \"unix_socket_directories = '\/home\/container\/postgres_db\/run\/'\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"database system is ready to accept connections\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U \"$PGUSER\" --pwfile=<(echo \"$PGPASSWORD\")'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\n## Add default \"allow from all\" auth rule to pg_hba\r\nif ! grep -q \"# Custom rules\" \"\/mnt\/server\/postgres_db\/pg_hba.conf\"; then\r\n echo -e \"# Custom rules\\nhost all all 0.0.0.0\/0 md5\" >> \"\/mnt\/server\/postgres_db\/pg_hba.conf\"\r\nfi\r\n\r\necho -e \"Done\"",
"container": "postgres:16-alpine",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Superuser Name",
"description": "The username for the postgres superuser",
"env_variable": "PGUSER",
"default_value": "pterodactyl",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Superuser Password",
"description": "The postgres super user password with a strong default.\r\nYou should be generating new ones for each server.\r\nIf you don't then users can hit other users DB's",
"env_variable": "PGPASSWORD",
"default_value": "Pl3453Ch4n63M3!",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}

View File

@ -18,17 +18,15 @@ The description of the server usually provided by the game/server maker.
<!--Make a note if the user needs to get any keys or other items to run/use the server--> <!--Make a note if the user needs to get any keys or other items to run/use the server-->
Due to rate limiting the console on the panel, it cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log. Due to rate limiting the console on the panel, it cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log.
## Minimum RAM warning ## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
Minimum required memory to run the server. | | Bare Minimum | Recommended |
<!--Example: 2GB is recommended. 4GB+ is preferred--> |---------|---------|---------|
| Processor | *Main info (32/64 bit or ARM support)* | *More info about egg's preferred processor* |
## Minumim Sorage warning | RAM | *Minimum amount of RAM (in MiB/GiB)* | *Recommended amount of RAM (in MiB/GiB)* |
| Storage | *Minimum amount of Storage (in MiB/GiB)* | *Recommended amount of Storage (in MiB/GiB)* |
Minimum required storage to run the server. | Network | *Minimum network speed (in Mbit/s)* | *Recommended network speed (in Mbit/s)* |
<!--Example: 10GB is recommended. 25GB+ is preferred--> | Game Ownership | *Can the server start without it?* | *Is it needed for any other features?* |
<!--Make a note if the install script would require more then the above amounts-->
## Server Ports ## Server Ports

View File

@ -1,28 +1,28 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-11-13T13:06:21-08:00", "exported_at": "2023-01-31T11:59:34+01:00",
"name": "Foundry VTT", "name": "Foundry VTT",
"author": "pterodactyl@demi.cloud", "author": "pterodactyl@demi.cloud",
"description": "Foundry VTT is a standalone application built for experiencing multiplayer tabletop RPGs using a feature-rich and modern self-hosted application where your players connect directly through the browser.", "description": "Foundry VTT is a standalone application built for experiencing multiplayer tabletop RPGs using a feature-rich and modern self-hosted application where your players connect directly through the browser.",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_17" "ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
], },
"file_denylist": [], "file_denylist": [],
"startup": "node .\/app\/resources\/app\/main.js --dataPath=\"\/home\/container\/data\"", "startup": "node .\/app\/resources\/app\/main.js --dataPath=\"\/home\/container\/data\"",
"config": { "config": {
"files": "{\r\n \"data\/Config\/options.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"language\": \"{{server.build.env.FOUNDRY_LANGUAGE}}\",\r\n \"updateChannel\": \"{{server.build.env.UPDATE_CHANNEL}}\"\r\n }\r\n }\r\n}", "files": "{\r\n \"data\/Config\/options.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"language\": \"{{server.build.env.FOUNDRY_LANGUAGE}}\",\r\n \"updateChannel\": \"{{server.build.env.UPDATE_CHANNEL}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server started and listening on port\"\r\n}", "startup": "{\r\n \"done\": \"Server started and listening on port\"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "^c" "stop": "^C"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# FoundryVTT install script\r\n#\r\n# Server Files: \/mnt\/server\r\ndeclare -r DIR_ROOT=\"\/mnt\/server\"\r\ndeclare -r DIR_APP=\"${DIR_ROOT}\/app\"\r\ndeclare -r DIR_DATA=\"${DIR_ROOT}\/data\"\r\ndeclare -r ZIP_FILE_NAME=\"foundryvtt.zip\"\r\n\r\nmain() {\r\n apt update\r\n apt install -y unzip\r\n\r\n printf \"\\nBuilding directory structure...\\n\"\r\n mkdir -p \"${DIR_ROOT}\/data\/Config\"\r\n mkdir -p \"${DIR_ROOT}\/app\"\r\n # shellcheck disable=SC2164\r\n cd \"${DIR_APP}\"\r\n printf \"\\nDownloading FoundryVTT files...\\n\"\r\n wget \"${TIMED_URL}\" -O \"${ZIP_FILE_NAME}\"\r\n printf \"\\nunzipping FoundryVTT files...\\n\"\r\n unzip \"${ZIP_FILE_NAME}\" -d \"${DIR_APP}\"\r\n rm \"${ZIP_FILE_NAME}\"\r\n\r\n printf \"\\nGenerating default configuration...\\n\"\r\n cat <<EOF >\"${DIR_DATA}\/Config\/options.json\"\r\n{\r\n \"port\": 30000,\r\n \"upnp\": false,\r\n \"fullscreen\": false,\r\n \"hostname\": null,\r\n \"localHostname\": null,\r\n \"routePrefix\": null,\r\n \"sslCert\": null,\r\n \"sslKey\": null,\r\n \"awsConfig\": null,\r\n \"dataPath\": \"\/home\/container\/data\",\r\n \"passwordSalt\": null,\r\n \"proxySSL\": false,\r\n \"proxyPort\": null,\r\n \"minifyStaticFiles\": true,\r\n \"updateChannel\": \"release\",\r\n \"language\": \"en.core\",\r\n \"upnpLeaseDuration\": null,\r\n \"world\": null\r\n} \r\nEOF\r\n printf \"Installation Done.\\n\"\r\n}\r\nmain \"@\"", "script": "#!\/bin\/bash\r\n# FoundryVTT install script\r\n#\r\n# Server Files: \/mnt\/server\r\ndeclare -r DIR_ROOT=\"\/mnt\/server\"\r\ndeclare -r DIR_APP=\"${DIR_ROOT}\/app\"\r\ndeclare -r DIR_DATA=\"${DIR_ROOT}\/data\"\r\ndeclare -r ZIP_FILE_NAME=\"foundryvtt.zip\"\r\n\r\nmain() {\r\n apt update\r\n apt install -y unzip\r\n\r\n printf \"\\nBuilding directory structure...\\n\"\r\n mkdir -p \"${DIR_ROOT}\/data\/Config\"\r\n mkdir -p \"${DIR_ROOT}\/app\"\r\n # shellcheck disable=SC2164\r\n cd \"${DIR_APP}\"\r\n printf \"\\nDownloading FoundryVTT files...\\n\"\r\n wget \"${TIMED_URL}\" -O \"${ZIP_FILE_NAME}\"\r\n printf \"\\nunzipping FoundryVTT files...\\n\"\r\n unzip \"${ZIP_FILE_NAME}\" -d \"${DIR_APP}\"\r\n #rm \"${ZIP_FILE_NAME}\"\r\n\r\n printf \"\\nGenerating default configuration...\\n\"\r\n cat <<EOF >\"${DIR_DATA}\/Config\/options.json\"\r\n{\r\n \"port\": 30000,\r\n \"upnp\": false,\r\n \"fullscreen\": false,\r\n \"hostname\": null,\r\n \"localHostname\": null,\r\n \"routePrefix\": null,\r\n \"sslCert\": null,\r\n \"sslKey\": null,\r\n \"awsConfig\": null,\r\n \"dataPath\": \"\/home\/container\/data\",\r\n \"passwordSalt\": null,\r\n \"proxySSL\": false,\r\n \"proxyPort\": null,\r\n \"minifyStaticFiles\": true,\r\n \"updateChannel\": \"release\",\r\n \"language\": \"en.core\",\r\n \"upnpLeaseDuration\": null,\r\n \"world\": null\r\n} \r\nEOF\r\n printf \"Installation Done.\\n\"\r\n}\r\nmain \"@\"",
"container": "ghcr.io\/pterodactyl\/installers:debian", "container": "ghcr.io\/pterodactyl\/installers:debian",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -35,7 +35,8 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|url" "rules": "required|url",
"field_type": "text"
}, },
{ {
"name": "Language", "name": "Language",
@ -44,7 +45,8 @@
"default_value": "en.core", "default_value": "en.core",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "string|max:20" "rules": "string|max:20",
"field_type": "text"
}, },
{ {
"name": "Update Channel", "name": "Update Channel",
@ -53,7 +55,8 @@
"default_value": "release", "default_value": "release",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "string|max:256" "rules": "string|max:256",
"field_type": "text"
} }
] ]
} }

View File

@ -14,6 +14,16 @@
* [MCGalaxy](classicube/mcgalaxy) * [MCGalaxy](classicube/mcgalaxy)
[Clone Hero](clone_hero)
[CS2D](cs2d)
[Cube Engine](cubeengine)
* [AssaultCube](cubeengine/assaultcube)
* [Cube 2: Sauerbraten](cubeengine/cube2)
[DDRaceNetwork](ddracenetwork/)
[Doom](doom) [Doom](doom)
* [Zandronum](doom/zandronum) * [Zandronum](doom/zandronum)
@ -23,7 +33,7 @@
* [Vanilla](factorio/factorio) * [Vanilla](factorio/factorio)
* [ModUpdate](factorio/factorio-modupdate) * [ModUpdate](factorio/factorio-modupdate)
* [Clusterio](game_eggs/factorio/clusterio) * [Clusterio](factorio/clusterio)
[FTL: Tachyon](ftl/tachyon) [FTL: Tachyon](ftl/tachyon)
@ -38,10 +48,15 @@
* GTA SA * GTA SA
* [Multi Theft Auto](gta/mtasa) * [Multi Theft Auto](gta/mtasa)
* [SA-MP](gta/samp) * [SA-MP](gta/samp)
* [OpenMp](gta/openmp)
* GTA * GTA
* [GTAC](gta/gtac) * [GTAC](gta/gtac)
[Hogwarp](hogwarp)
[Kerbal Space Program](ksp)
[Los Angeles Crimes](losangelescrimes) [Los Angeles Crimes](losangelescrimes)
[League Sandbox](leaguesandbox) [League Sandbox](leaguesandbox)
@ -53,23 +68,24 @@
* [Bedrock](minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console) * [Bedrock](minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
* [Bedrock](minecraft/bedrock/bedrock) * [Bedrock](minecraft/bedrock/bedrock)
* [gomint](minecraft/bedrock/gomint) * [gomint](minecraft/bedrock/gomint)
* [LiteLoaderBDS](minecraft/bedrock/LiteLoader-bedrock) * [LiteLoaderBDS](bedrock/LiteLoader-bedrock)
* [Nukkit](minecraft/bedrock/nukkit) * [Nukkit](minecraft/bedrock/nukkit)
* [PocketMine MP](minecraft/bedrock/pocketmine_mp) * [PocketMine MP](minecraft/bedrock/pocketmine_mp)
* [Java](minecraft/java) Servers for Java Minecraft * [Java](minecraft/java) Servers for Java Minecraft
* [CurseForge](minecraft/java/curseforge)
* [Cuberite](minecraft/java/cuberite) * [Cuberite](minecraft/java/cuberite)
* [CusreForge Generic](minecraft/java/forge/curseforge-generic)
* [Fabric](minecraft/java/fabric) * [Fabric](minecraft/java/fabric)
* [Feather](minecraft/java/feather) * [Feather](minecraft/java/feather)
* [Feed The Beast](minecraft/java/ftb)
* [Forge](minecraft/java/forge) * [Forge](minecraft/java/forge)
* [Glowstone](minecraft/java/glowstone) * [Glowstone](minecraft/java/glowstone)
* [Feed The Beast](minecraft/java/ftb) * [Limbo](minecraft/java/limbo)
* [Krypton](/minecraft/java/krypton)
* [Magma](minecraft/java/magma) * [Magma](minecraft/java/magma)
* [Mohist](minecraft/java/mohist) * [Mohist](minecraft/java/mohist)
* [NanoLimbo](/minecraft/java/nanolimbo) * [NanoLimbo](minecraft/java/nanolimbo)
* [Paper](minecraft/java/paper) * [Paper](minecraft/java/paper)
* [Folia](minecraft/java/folia)
* [Purpur](minecraft/java/purpur) * [Purpur](minecraft/java/purpur)
* [Spigot](minecraft/java/spigot) * [Spigot](minecraft/java/spigot)
* [SpongeForge](minecraft/java/spongeforge) * [SpongeForge](minecraft/java/spongeforge)
@ -77,18 +93,19 @@
* [Technic](minecraft/java/technic) * [Technic](minecraft/java/technic)
* [VanillaCord](minecraft/java/vanillacord) * [VanillaCord](minecraft/java/vanillacord)
* [Crossplay](minecraft/crossplay/) servers for crossplay between Bedrock and Java edition
* [Purpur-GeyserMC-Floodgate](minecraft/crossplay/purpur-geysermc-floodgate/)
* [Proxies](minecraft/proxy) Minecraft Server Proxies * [Proxies](minecraft/proxy) Minecraft Server Proxies
* [Java](minecraft/proxy/java)
* [Travertine](minecraft/proxy/java/travertine)
* [Velocity](minecraft/proxy/java/velocity)
* [Waterfall](minecraft/proxy/java/waterfall)
* [Bedrock](minecraft/proxy/bedrock) * [Bedrock](minecraft/proxy/bedrock)
* [Waterdog PE](minecraft/proxy/bedrock/waterdog_pe) * [Waterdog PE](minecraft/proxy/bedrock/waterdog_pe)
* [Cross Platform](minecraft/proxy/cross_platform) * [Cross Platform](minecraft/proxy/cross_platform)
* [GeyserMC](minecraft/proxy/cross_platform/geyser) * [GeyserMC](minecraft/proxy/cross_platform/geyser)
* [Waterdog](minecraft/proxy/cross_platform/waterdog) * [Waterdog](minecraft/proxy/cross_platform/waterdog)
* [Java](minecraft/proxy/java)
* [FlameCord](minecraft/proxy/java/flamecord)
* [Travertine](minecraft/proxy/java/travertine)
* [Velocity](minecraft/proxy/java/velocity)
* [VIAaas](minecraft/proxy/java/viaaas)
* [Waterfall](minecraft/proxy/java/waterfall)
[Minetest](minetest) (including MTG) [Minetest](minetest) (including MTG)
@ -104,46 +121,72 @@
* [RedM](rdr/redm) * [RedM](rdr/redm)
[Spacestation 14](spacestation_14)
[Rimworld](rimworld)
* [Open World](rimworld/open_world)
[Starmade](starmade) [Starmade](starmade)
[SteamCMD Servers](steamcmd_servers) These eggs use SteamCMD to install [SteamCMD Servers](steamcmd_servers) These eggs use SteamCMD to install
* [7 Days to Die](steamcmd_servers/7_days_to_die) * [7 Days to Die](steamcmd_servers/7_days_to_die)
* [ARK: Survival Ascended](steamcmd_servers/ark_survival_ascended)
* [ARK: Survival Evolved](steamcmd_servers/ark_survival_evolved) * [ARK: Survival Evolved](steamcmd_servers/ark_survival_evolved)
* [Arma](steamcmd_servers/arma) * [Arma](steamcmd_servers/arma)
* [Arma 3](steamcmd_servers/arma/arma3) * [Arma 3](steamcmd_servers/arma/arma3)
* [Arma Reforger](steamcmd_servers/arma/arma_reforger) * [Arma Reforger](steamcmd_servers/arma/arma_reforger)
* [Assetto Corsa](steamcmd_servers/assetto_corsa) * [Assetto Corsa](steamcmd_servers/assetto_corsa)
* [Astro Colony](steamcmd_servers/astro_colony)
* [Astroneer](steamcmd_servers/astroneer)
* [Avorion](steamcmd_servers/avorion) * [Avorion](steamcmd_servers/avorion)
* [Barotrauma](steamcmd_servers/barotrauma) * [Barotrauma](steamcmd_servers/barotrauma)
* [BATTALION: Legacy](steamcmd_servers/battalion_legacy)
* [Black Mesa](steamcmd_servers/black_mesa) * [Black Mesa](steamcmd_servers/black_mesa)
* [Citadel: Forged with Fire](steamcmd_servers/citadel) * [Citadel: Forged with Fire](steamcmd_servers/citadel)
* [Colony Survival](steamcmd_servers/colony_survival)
* [Conan Exiles](steamcmd_servers/conan_exiles) * [Conan Exiles](steamcmd_servers/conan_exiles)
* [Core Keeper](steamcmd_servers/core_keeper)
* [Counter-Strike](steamcmd_servers/counter_strike/)
* [Counter-Strike: Source](steamcmd_servers/counter_strike/counter_strike_source/)
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
* [CryoFall](steamcmd_servers/cryofall) * [CryoFall](steamcmd_servers/cryofall)
* [DayZ (Experimental)](steamcmd_servers/dayz-experimental) * [DayZ (Experimental)](steamcmd_servers/dayz-experimental)
* [Don't Starve Together](steamcmd_servers/dont_starve) * [Don't Starve Together](steamcmd_servers/dont_starve)
* [ECO](steamcmd_servers/eco) * [ECO](steamcmd_servers/eco)
* [Empyrion - Galactic Survival](steamcmd_servers/empyrion)
* [Fistful of Frags](steamcmd_servers/fof) * [Fistful of Frags](steamcmd_servers/fof)
* [Frozen Flame](steamcmd_servers/frozen_flame)
* [Ground Branch](steamcmd_servers/ground_branch)
* [HLDS Server](steamcmd_servers/hlds_server) * [HLDS Server](steamcmd_servers/hlds_server)
* [HLDS Vanilla](steamcmd_servers/hlds_server/vanilla) * [HLDS Vanilla](steamcmd_servers/hlds_server/vanilla)
* [ReHLDS](steamcmd_servers/hlds_server/rehlds) * [ReHLDS](steamcmd_servers/hlds_server/rehlds)
* [Holdfast: Nations At War](steamcmd_servers/holdfast) * [Holdfast: Nations At War](steamcmd_servers/holdfast)
* [HumanitZ](steamcmd_servers/humanitz)
* [Hurtworld](steamcmd_servers/hurtworld) * [Hurtworld](steamcmd_servers/hurtworld)
* [Icarus](steamcmd_servers/icarus) * [Icarus](steamcmd_servers/icarus)
* [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm) * [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm)
* [iosoccer](steamcmd_servers/iosoccer)
* [Killing Floor 2](steamcmd_servers/killing_floor_2) * [Killing Floor 2](steamcmd_servers/killing_floor_2)
* [Left 4 Dead](steamcmd_servers/left4dead) * [Left 4 Dead](steamcmd_servers/left4dead)
* [Left 4 Dead 2](steamcmd_servers/left4dead_2) * [Left 4 Dead 2](steamcmd_servers/left4dead_2)
* [Modiverse](steamcmd_servers/modiverse) * [Modiverse](steamcmd_servers/modiverse)
* [Mordhau](steamcmd_servers/mordhau) * [Mordhau](steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](steamcmd_servers/mount_blade_II_bannerlord)
* [Neos VR](steamcmd_servers/neosvr)
* [No More Room in Hell](steamcmd_servers/nmrih) * [No More Room in Hell](steamcmd_servers/nmrih)
* [No One Survived](steamcmd_servers/no_one_survived)
* [Onset](steamcmd_servers/onset) * [Onset](steamcmd_servers/onset)
* [Open Fortress](steamcmd_servers/open_fortress) * [Open Fortress](steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](steamcmd_servers/operation_harsh_doorstop)
* [Pavlov VR](steamcmd_servers/pavlov_vr) * [Pavlov VR](steamcmd_servers/pavlov_vr)
* [PixARK](steamcmd_servers/pixark) * [PixARK](steamcmd_servers/pixark)
* [Portal Knights](steamcmd_servers/portal_knights)
* [Post Scriptum](steamcmd_servers/post_scriptum) * [Post Scriptum](steamcmd_servers/post_scriptum)
* [Project Zomboid](steamcmd_servers/project_zomboid) * [Project Zomboid](steamcmd_servers/project_zomboid)
* [Quake Live](steamcmd_servers/quake_live) * [Quake Live](steamcmd_servers/quake_live)
* [Resonite](steamcmd_servers/resonite)
* [Rising World](steamcmd_servers/rising_world) * [Rising World](steamcmd_servers/rising_world)
* [Legacy Java](steamcmd_servers/rising_world/legacy) * [Legacy Java](steamcmd_servers/rising_world/legacy)
* [Unity](steamcmd_servers/rising_world/unity) * [Unity](steamcmd_servers/rising_world/unity)
@ -156,19 +199,23 @@
* [SCP: Secret Laboratory](steamcmd_servers/scpsl) * [SCP: Secret Laboratory](steamcmd_servers/scpsl)
* [Dedicated](steamcmd_servers/scpsl/dedicated) * [Dedicated](steamcmd_servers/scpsl/dedicated)
* [Exiled](steamcmd_servers/scpsl/exiled) * [Exiled](steamcmd_servers/scpsl/exiled)
* [Multiadmin](steamcmd_servers/scpsl/multiadmin)
* [Soldat](steamcmd_servers/soldat) * [Soldat](steamcmd_servers/soldat)
* [Sons of the Forest](steamcmd_servers/sonsoftheforest)
* [Space Engineers](steamcmd_servers/space_engineers) * [Space Engineers](steamcmd_servers/space_engineers)
* [default](steamcmd_servers/space_engineers/default) * [default](steamcmd_servers/space_engineers/default)
* [torch](steamcmd_servers/space_engineers/torch) * [torch](steamcmd_servers/space_engineers/torch)
* [Squad](steamcmd_servers/squad) * [Squad](steamcmd_servers/squad)
* [Starbound](steamcmd_servers/starbound) * [Starbound](steamcmd_servers/starbound)
* [Stationeers](steamcmd_servers/stationeers) * [Stationeers](steamcmd_servers/stationeers)
* [Stationeers Vanilla](steamcmd_servers/stationeers/stationeers_vanilla)
* [Stationeers BepInEx](steamcmd_servers/stationeers/stationeers_bepinex)
* [Stormworks: Build and Rescue](steamcmd_servers/stormworks) * [Stormworks: Build and Rescue](steamcmd_servers/stormworks)
* [Subnautica: Nitrox Mod](steamcmd_servers/subnautica_nitrox_mod) * [Subnautica: Nitrox Mod](steamcmd_servers/subnautica_nitrox_mod)
* [Sven Co-op](steamcmd_servers/svencoop) * [Sven Co-op](steamcmd_servers/svencoop)
* [Swords 'n Magic and Stuff](steamcmd_servers/swords_'n_Magic_and_Stuff)
* [Team Fortress 2 Classic](steamcmd_servers/team_fortress_2_classic) * [Team Fortress 2 Classic](steamcmd_servers/team_fortress_2_classic)
* [The Forest](steamcmd_servers/the_forest) * [The Forest](steamcmd_servers/the_forest)
* [The Front](steamcmd_servers/thefront)
* [The Isle](steamcmd_servers/the_isle) * [The Isle](steamcmd_servers/the_isle)
* [Evrima](steamcmd_servers/the_isle/evrima) * [Evrima](steamcmd_servers/the_isle/evrima)
* [Tower Unite](steamcmd_servers/tower_unite) * [Tower Unite](steamcmd_servers/tower_unite)
@ -177,9 +224,12 @@
* [Euro Truck Simulator 2](steamcmd_servers/truck-simulator/euro-truck-simulator2/) * [Euro Truck Simulator 2](steamcmd_servers/truck-simulator/euro-truck-simulator2/)
* [Unturned](steamcmd_servers/unturned) * [Unturned](steamcmd_servers/unturned)
* [V Rising](steamcmd_servers/v_rising) * [V Rising](steamcmd_servers/v_rising)
* [V Rising Vanilla](steamcmd_servers/v_rising/v_rising_vanilla)
* [V Rising BepInex](steamcmd_servers/v_rising/v_rising_bepinex)
* [Valheim](steamcmd_servers/valheim) * [Valheim](steamcmd_servers/valheim)
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
* [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla) * [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
[Teeworlds](teeworlds) [Teeworlds](teeworlds)
@ -200,4 +250,6 @@
[Xonotic](xonotic/xonotic) [Xonotic](xonotic/xonotic)
[YuzuEmu](yuzu-emu)
[FoundryVTT](FoundryVTT) [FoundryVTT](FoundryVTT)

View File

@ -1,17 +1,18 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-07-23T12:00:05+03:00", "exported_at": "2023-03-04T15:04:21+01:00",
"name": "Among Us - Impostor Server", "name": "Among Us - Impostor Server",
"author": "info@goover.de", "author": "eggs@goover.dev",
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2022.4.19, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.", "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, "features": null,
"images": [ "docker_images": {
"ghcr.io/parkervcp/yolks:dotnet_6" "Dotnet_7": "ghcr.io\/parkervcp\/yolks:dotnet_7",
], "Dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
},
"file_denylist": [], "file_denylist": [],
"startup": ".\/Impostor.Server", "startup": ".\/Impostor.Server",
"config": { "config": {
@ -22,20 +23,21 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install wget curl jq unzip tar redis-server file ca-certificates apt-utils\r\nGITHUB_PACKAGE=Impostor\/Impostor\r\nexport HOME=\/mnt\/server\r\ncd $HOME\r\n\r\n## get release info and download links\r\nLATEST_RELEASE=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/latest)\r\necho -e \"Latest release is $LATEST_RELEASE\"\r\nLATEST_VERSION_TAG=$(echo $LATEST_RELEASE | sed -e 's\/.*\"tag_name\":\"\\([^\"]*\\)\".*\/\\1\/')\r\n\r\n# Remove the first letter v from the version tag that is not present in the download URL\r\nLATEST_VERSION=$(echo $LATEST_VERSION_TAG | cut -c 2-)\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/v$LATEST_VERSION\/Impostor-Server_${LATEST_VERSION}_linux-x64.tar.gz\"\r\nelse \r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/v$VERSION\/Impostor-Server_${VERSION}_linux-x64.tar.gz\"\r\nfi\r\n\r\necho -e \"\\nDownloading from $DOWNLOAD_LINK\"\r\ncurl -L $DOWNLOAD_LINK -o Impostor-Server-linux-x64.tar.gz\r\n\r\ntar xvf Impostor-Server-linux-x64.tar.gz\r\nrm Impostor-Server-linux-x64.tar.gz\r\nchmod +x Impostor.Server\r\n\r\necho -e \"\\nInstall completed\"", "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": "debian:buster-slim", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
"variables": [ "variables": [
{ {
"name": "Download Version", "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", "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", "env_variable": "VERSION",
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:30" "rules": "required|string|max:30",
"field_type": "text"
} }
] ]
} }

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-11-07T17:26:47+01:00", "exported_at": "2023-12-05T18:28:42+01:00",
"name": "BeamMP Servers", "name": "BeamMP Servers",
"author": "noah@noahserver.online", "author": "noah@noahserver.online",
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.", "description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
@ -15,14 +15,14 @@
"file_denylist": [], "file_denylist": [],
"startup": ".\/BeamMP-Server", "startup": ".\/BeamMP-Server",
"config": { "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.NAME}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\"\r\n }\r\n }\r\n}", "files": "{\r\n \"ServerConfig.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Name =\": \"Name = \\\"{{env.NAME}}\\\"\",\r\n \"Port =\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTHKEY}}\\\"\",\r\n \"Private =\": \"Private = {{env.PRIVATE}}\",\r\n \"MaxPlayers =\": \"MaxPlayers = {{server.build.env.MAX_PLAYERS}}\",\r\n \"Description =\": \"Description = \\\"{{env.DESCRIPTION}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\",\r\n \"LogChat =\": \"LogChat = {{env.LOGCHAT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}", "startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "^C" "stop": "exit"
}, },
"scripts": { "scripts": {
"installation": { "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\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-linux | 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 \"[HTTP]\r\n# Recommended to keep enabled. With SSL the server will serve https and requires valid key and cert files\r\nUseSSL = true\r\n# Enables the internal HTTP server\r\nHTTPServerEnabled = false\r\nSSLKeyPath = \\\".\/.ssl\/HttpServer\/key.pem\\\"\r\nHTTPServerPort = 8080\r\nSSLCertPath = \\\".\/.ssl\/HttpServer\/cert.pem\\\"\r\n\r\n[General]\r\n# If SendErrors is `true`, the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to `false`\r\nSendErrorsShowMessage = true\r\nName = \\\"BeamMP Server\\\"\r\nPort = 30814\r\nResourceFolder = \\\"Resources\\\"\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = \\\"\\\"\r\nPrivate = true\r\nMaxPlayers = 10\r\nDebug = false\r\nDescription = \\\"BeamMP Default Description\\\"\r\nMaxCars = 1\r\nMap = \\\"\/levels\/gridmap_v2\/info.json\\\"\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrors = true\" > ServerConfig.toml\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"", "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\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-linux | 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 \"[HTTP]\r\n# Recommended to keep enabled. With SSL the server will serve https and requires valid key and cert files\r\nUseSSL = true\r\n# Enables the internal HTTP server\r\nHTTPServerEnabled = false\r\nSSLKeyPath = \\\".\/.ssl\/HttpServer\/key.pem\\\"\r\nHTTPServerPort = 8080\r\nSSLCertPath = \\\".\/.ssl\/HttpServer\/cert.pem\\\"\r\n\r\n[General]\r\n# If SendErrors is `true`, the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to `false`\r\nSendErrorsShowMessage = true\r\nName = \\\"BeamMP Server\\\"\r\nPort = 30814\r\nResourceFolder = \\\"Resources\\\"\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = \\\"\\\"\r\nPrivate = true\r\nMaxPlayers = 10\r\nDebug = false\r\nLogChat = true\r\nDescription = \\\"BeamMP Default Description\\\"\r\nMaxCars = 1\r\nMap = \\\"\/levels\/gridmap_v2\/info.json\\\"\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrors = true\" > ServerConfig.toml\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian", "container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -35,7 +35,17 @@
"default_value": "BeamMP Server", "default_value": "BeamMP Server",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:64", "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" "field_type": "text"
}, },
{ {
@ -45,12 +55,12 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:8", "rules": "required|string|max:12",
"field_type": "text" "field_type": "text"
}, },
{ {
"name": "Authentication Key", "name": "Authentication Key",
"description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/beamng-mp.com\/k\/dashboard", "description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/keymaster.beammp.com",
"env_variable": "AUTHKEY", "env_variable": "AUTHKEY",
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
@ -75,7 +85,7 @@
"default_value": "false", "default_value": "false",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string", "rules": "required|string|in:true,false",
"field_type": "text" "field_type": "text"
}, },
{ {
@ -85,7 +95,7 @@
"default_value": "1", "default_value": "1",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|integer|max:4", "rules": "required|integer|max:10",
"field_type": "text" "field_type": "text"
}, },
{ {
@ -98,6 +108,16 @@
"rules": "required|string|max:64", "rules": "required|string|max:64",
"field_type": "text" "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"
},
{ {
"name": "Match", "name": "Match",
"description": "The match we have to do on there github package.\r\n\r\nCurrently, they have a special build for debian 11, what is the docker image we use.\r\nGo to https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases if the version you want has an asset \"debian\" then select \"Server-debian\" if not then \"Server-linux\"", "description": "The match we have to do on there github package.\r\n\r\nCurrently, they have a special build for debian 11, what is the docker image we use.\r\nGo to https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases if the version you want has an asset \"debian\" then select \"Server-debian\" if not then \"Server-linux\"",
@ -109,4 +129,4 @@
"field_type": "text" "field_type": "text"
} }
] ]
} }

View File

@ -0,0 +1,31 @@
# Clone Hero
## From their [Site](https://clonehero.net/)
## [Documentation](https://wiki.clonehero.net/books/guides-and-tutorials/page/online-multiplayer#bkmrk-hosting-a-standalone)
## Minimum RAM warning
Minimum required memory to run the server.
80MiB is recommended. 2GB+ is preferred
## Minumim Sorage warning
Minimum required storage to run the server.
100MiB is recommended. 2GiB+ is preferred
## Server Ports
Ports required to run the server.
| Port | default |
|---------|---------|
| Game | 14242 |
### Notes
<!--Notes about the server ports.-->
14242 is the default port, but any port can be used.

View File

@ -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": "2023-11-30T10:24:33+01:00",
"name": "Clone Hero",
"author": "josdekurk@gmail.com",
"description": "Clone Hero is a classic instrument based rhythm game for Windows, Mac, Linux, and Android. It's playable with any 5 or 6 fret guitar controller, any midi drum kit, any game controller and even your keyboard! Jam out with Drums, 5-fret Guitar, or 6-fret Guitar online or local!",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/Server -l {{LOG_LEVEL}} -n \"{{SERVER_DISPLAY_NAME}}\" -p {{SERVER_PORT}} -a 0.0.0.0 $([[ -z \"${SERVER_PASSWORD}\" ]] && echo -np || echo \"-ps ${SERVER_PASSWORD}\")",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Server running...\"\r\n}",
"logs": "{}",
"stop": "^c"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl unzip jq\r\n\r\n## get release info and download links\r\nV=$(curl -s https:\/\/clonehero.net\/ | grep -i \"Latest version\" | grep -oP '(?<=<b>).+?(?=<\\\/b>)' | sed -e 's\/^[[:space:]]*\/\/' -e 's\/[[:space:]]*$\/\/') #v1.0.0.4080\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/clonehero-game\/releases\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/clonehero-game\/releases\/releases\")\r\nMATCH=CloneHero-standalone_server\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i server)\r\n fi\r\nfi\r\n\r\n\r\nV=$(curl -s https:\/\/clonehero.net\/ | grep -i \"Latest version\" | grep -oP '(?<=<b>).+?(?=<\\\/b>)' | sed -e 's\/^[[:space:]]*\/\/' -e 's\/[[:space:]]*$\/\/') #v1.0.0.4080\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho \"Running: curl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}\"\r\ncurl -sSL -o ChStandaloneServer.zip ${DOWNLOAD_URL}\r\n\r\nunzip -o ChStandaloneServer.zip\r\nrm ChStandaloneServer.zip\r\n\r\nmv ChStandaloneServer-${V}-final\/${ARCH}\/* .\r\nrm -rf ChStandaloneServer-${V}-final\/\r\n\r\nchmod +x Server\r\n\r\n\r\nif [ ! -f \/mnt\/server\/settings.ini ]\r\nthen\r\n\tcurl -sSL -o settings.ini https:\/\/pastebin.com\/raw\/rhcv0hvi\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server name",
"description": "The name of the server",
"env_variable": "SERVER_DISPLAY_NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:80",
"field_type": "text"
},
{
"name": "Server password",
"description": "The password of the server",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|regex:\/^[a-zA-Z0-9_]+$\/",
"field_type": "text"
},
{
"name": "Log level",
"description": "Set max logging level",
"env_variable": "LOG_LEVEL",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:0,1,2,3,4",
"field_type": "text"
},
{
"name": "Version",
"description": "The version of Clone Hero you want to install.\r\nExample: V1.0.0.4080 or latest",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}

35
game_eggs/cs2d/README.md Normal file
View File

@ -0,0 +1,35 @@
# CS2D
## From their [Site](https://www.cs2d.com/index.php)
## [Documentation](https://www.cs2d.com/serverhosting.php)
## Install notes
This egg only supports downloading the latest releases
## Minimum RAM warning
Minimum required memory to run the server.
1GB is recommended. 2GB+ is preferred
## Minumim Sorage warning
Minimum required storage to run the server.
600Mib is recommended. 2GB+ is preferred
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 36963 |
### Notes
<!--Notes about the server ports.-->
36963 is the default port, but any port can be used.

View File

@ -0,0 +1,62 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-06-20T12:12:15+02:00",
"name": "CS2D",
"author": "josdekurk@gmail.com",
"description": "Plant and defuse bombs, rescue hostages or accomplish new missions like capture the flag or domination! Use a huge arsenal of weapons and equipment including crazy stuff like portal guns, lasers, RPGs, turrets and much more! You can even build things!",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/games:source": "ghcr.io\/parkervcp\/games:source"
},
"file_denylist": [],
"startup": ".\/cs2d_dedicated",
"config": {
"files": "{\r\n \"sys\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"sv_hostport \": \"sv_hostport {{server.build.default.port}}\",\r\n \"sv_name\": \"sv_name {{server.build.env.SERVER_NAME}}\",\r\n \"sv_password\": \"sv_password {{server.build.env.SERVER_PASSWORD}}\",\r\n \"sv_maxplayers\": \"sv_maxplayers {{server.build.env.SERVER_PLAYERS}}\"\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\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nv=$(curl -s https:\/\/www.cs2d.com\/download.php | grep -Eo \"https?:\/\/\\S+?\\\"\" | grep -i \"get.php?get=cs2d_\" | grep -i \"linux\") # https:\/\/www.unrealsoftware.de\/get.php?get=cs2d_1013_linux.zip\"\r\nn=$(echo ${v#*=} | sed 's\/\"\/\/' ) # cs2d_1013_linux.zip\r\n\r\nc=$(curl -s https:\/\/www.unrealsoftware.de\/get.php?get=${n} | grep -o '<a class=\"l_dl\" href=\"get.php?.*\">' | cut -f2 -d \"<\" | awk '{print $3}' | grep -o '\"[^\"]*\"') # \"get.php?get=cs2d_1013_linux.zip&amp;p=1&amp;cid=15745\"\r\ncid=$(echo ${c\/\/\\\"\/} | cut -f4 -d '=') #15745\r\n\r\nDOWNLOAD_URL=\"https:\/\/www.unrealsoftware.de\/get.php?get=${n}&p=1&cid=${cid}\"\r\n\r\necho \"${DOWNLOAD_URL}\"\r\n\r\ncurl -sSL -o client.zip \"${DOWNLOAD_URL}\"\r\n\r\nunzip -o client.zip\r\nrm client.zip\r\n\r\ncurl -sSL -o dedicated.zip \"https:\/\/www.unrealsoftware.de\/files_pub\/cs2d_dedicated_linux.zip\"\r\nunzip -o dedicated.zip\r\nrm dedicated.zip\r\n\r\nchmod +x cs2d_dedicated\r\n\r\necho \"install finished\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "",
"env_variable": "SERVER_NAME",
"default_value": "CS2D Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"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": "SERVER_PLAYERS",
"default_value": "12",
"user_viewable": true,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
}
]
}

View File

@ -0,0 +1,30 @@
# AssaultCube
[assault.cubers.net](https://assault.cubers.net/)
AssaultCube is a FREE, multiplayer, first-person shooter game, based on the CUBE engine.
Taking place in realistic environments, with fast, arcade gameplay, it's addictive and fun!
With efficient bandwidth usage, it's low-latency and can even run over a 56 Kbps connection.
It's tiny too, weighing in at a lightweight about 50 MB package available for Windows, Mac and Linux.
On the correct settings, it can even run on old hardware (Pentium III and above).
---
## Server Ports
Ports required to run the server.
| Port | default |
|---------|---------|
| Game | 28763 |
| Game +1 | 28764 |
The second port is only used for the server master list to be able to update the server info. (Description, player count, etc.)
**Must be Game +1!**
### Notes
<!--Notes about the server ports.-->
28763 & 28764 is the default ports, but any port can be used.

View File

@ -0,0 +1,112 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-07-30T10:56:35+02:00",
"name": "AssaultCube",
"author": "holeintheseat@gmail.com",
"description": "AssaultCube is a FREE, multiplayer, first-person shooter game, based on the CUBE engine.\r\n\r\nTaking place in realistic environments, with fast, arcade gameplay, it's addictive and fun!",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/bin_unix\/linux_64_server -Y{{ASSAULT_SERVER_KEY}} -n\"{{ASSAULT_SERVER_DESCRIPTION}}\" -o\"{{ASSAULT_SERVER_MOTD}}\" -c{{ASSAULT_SERVER_MAXPLAYERS}} -x{{ASSAULT_SERVER_ADMINPASSWORD}} -f{{SERVER_PORT}} -p{{ASSAULT_SERVER_PLAYERPASSWORD}} -m{{ASSAULT_SERVER_MASTERSERVER}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"dedicated server started, waiting for clients...\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# AssaultCube Server Egg (By HoleInTheSeat) <|-|> (https:\/\/assault.cubers.net\/)\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n#######-|Dependencies|-#######\r\napt update\r\napt -y install tar make bzip2 build-essential clang libclang-dev libclang1 llvm llvm-dev clang-tools libz-dev curl jq\r\n\r\n#######-|Downloading files|-#######\r\ncd \/mnt\/server\r\n## get release info and download links\r\n\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/assaultcube\/AC\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/assaultcube\/AC\/releases\")\r\nMATCH=tar.bz2\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 | head -1)\r\n fi\r\nfi\r\n\r\n\r\ncurl -sSL -o AssaultCube.tar.bz2 ${DOWNLOAD_URL}\r\ntar -xf AssaultCube.tar.bz2\r\nrm AssaultCube.tar.bz2\r\n\r\n#######-|Setting Up Server|-#######\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nrm -rf bin_win32\/ *.sh\r\n\r\nif [ \"$(uname -m)\" = \"x86_64\" ]; then\r\n echo -e \"x86 System\"\r\nelse\r\n cd \/mnt\/server\/source\/src\r\n make server_install\r\nfi\r\n#######-|Insert Server Authkey|-#######\r\ncd \/mnt\/server\r\nsed -i 's\/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\/{{ASSAULT_SERVER_KEY}}\/' .\/config\/servercmdline.txt\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Auth Key",
"description": "You must provide your own key for the server to register on the masterserver.\r\nTo generate a key you can run the client and issue the command:\r\n\r\n authkey new server \r\n \r\nSee: (https:\/\/assault.cubers.net\/docs\/server.html)",
"env_variable": "ASSAULT_SERVER_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|required|string|max:64",
"field_type": "text"
},
{
"name": "Server Description",
"description": "",
"env_variable": "ASSAULT_SERVER_DESCRIPTION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:512",
"field_type": "text"
},
{
"name": "Message of the Day",
"description": "",
"env_variable": "ASSAULT_SERVER_MOTD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:512",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Set the limit on amount of players able to join (MAX 16)",
"env_variable": "ASSAULT_SERVER_MAXPLAYERS",
"default_value": "16",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|integer|max:16",
"field_type": "text"
},
{
"name": "Admin Password",
"description": "",
"env_variable": "ASSAULT_SERVER_ADMINPASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:512|min:5",
"field_type": "text"
},
{
"name": "Player Password",
"description": "Password need to join the server.",
"env_variable": "ASSAULT_SERVER_PLAYERPASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:512",
"field_type": "text"
},
{
"name": "Master Server",
"description": "Forces the server to register with the hostname or IP address of a different masterserver.\r\nThe default is ms.cubers.net\r\nIf you want your server to be hidden and not report to the masterserver, use -mlocalhost",
"env_variable": "ASSAULT_SERVER_MASTERSERVER",
"default_value": "ms.cubers.net",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:512",
"field_type": "text"
},
{
"name": "Version",
"description": "The version of the engine you want to download.",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}

View File

@ -0,0 +1,24 @@
# Cube 2: Sauerbraten
[sauerbraten.org](http://sauerbraten.org/)
Cube 2: Sauerbraten is a free multiplayer & singleplayer first person shooter, the successor of the Cube FPS.
Much like the original Cube, the aim of this game is fun, old school deathmatch gameplay and also to allow map/geometry editing to be done cooperatively in-game.
## Server Ports
Ports required to run the server.
| Port | default |
|---------|---------|
| Game | 28785 |
| Game +1 | 28786 |
The second port is only used for the server master list to be able to update the server info. (Description, player count, etc.)
**Must be Game +1!**
### Notes
<!--Notes about the server ports.-->
28785 & 28786 is the default ports, but any port can be used.
Port 28784 must be available for pinging servers over a LAN to work.

View File

@ -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": "2023-07-30T11:20:16+02:00",
"name": "Cube 2: Sauerbraten",
"author": "holeintheseat@gmail.com",
"description": "Cube 2: Sauerbraten is a free multiplayer & singleplayer first person shooter, the successor of the Cube FPS.\r\nMuch like the original Cube, the aim of this game is fun, old school deathmatch gameplay and also to allow map\/geometry editing to be done cooperatively in-game.",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/bin_unix\/linux_64_server -j{{SERVER_PORT}} -n{{CUBE_SERVERDESCRIPTION}} -c{{CUBE_MAXPLAYERS}} -m{{CUBE_MASTERSERVER}} -p{{CUBE_ADMINPASSWORD}}",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"dedicated server started, waiting for clients...\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# AssaultCube Server Egg (By HoleInTheSeat) <|-|> (https:\/\/assault.cubers.net\/)\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update \r\n#######-|Dependencies|-#######\r\napt -y install tar curl bzip2\r\n#######-|Downloading files|-#######\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\necho -e \"\\n\"\r\necho -e \"\\n\"\r\necho -e \"###############################################\"\r\necho -e \"## Downloading and unarchiving Sauerbraten ##\"\r\necho -e \"## THIS WILL TAKE A WHILE. PLEASE BE PATIENT ##\"\r\necho -e \"###############################################\"\r\necho -e \"\\n\"\r\necho -e \"\\n\"\r\ncurl -sSL -o sauerbraten_2020_12_29_linux.tar.bz2 https:\/\/cfhcable.dl.sourceforge.net\/project\/sauerbraten\/sauerbraten\/2020_11_29\/sauerbraten_2020_12_29_linux.tar.bz2\r\ntar -xf sauerbraten_2020_12_29_linux.tar.bz2 -strip-components=1\r\nrm sauerbraten_2020_12_29_linux.tar.bz2\r\nchmod +x bin_unix\/linux_64_server\r\n\r\n#######-|Alert Completion|-#######\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:stable",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Description",
"description": "",
"env_variable": "CUBE_SERVERDESCRIPTION",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:512",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Sets the max number of clients to N. The default is 4. If you want to set it higher, be aware that bandwidth usage almost doubles with each extra client, so only do this if the server runs on a serious pipe (not your home DSL or Cable connection).",
"env_variable": "CUBE_MAXPLAYERS",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|max:16",
"field_type": "text"
},
{
"name": "Master Server",
"description": "Sets the master server to use for either server (registering) and client (updating) to S. (default: sauerbraten.org).",
"env_variable": "CUBE_MASTERSERVER",
"default_value": "sauerbraten.org",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:512",
"field_type": "text"
},
{
"name": "Admin Password",
"description": "",
"env_variable": "CUBE_ADMINPASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:512",
"field_type": "text"
}
]
}

View File

@ -0,0 +1,20 @@
# DDRaceNetwork
## From their [Website](https://ddnet.org/downloads/)
DDraceNetwork (DDNet) is an actively maintained version of DDRace, a Teeworlds modification with a unique cooperative gameplay..
## Installation/System Requirements
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | Almost any proccessor will work | -|
| RAM | 100 MiB | 256 MiB |
| Storage | 70 MiB | 1024 MiB |
| Network | Any reasonable speed |- |
| Game Ownership | Not needed | The game is free, and server doesn't need the game to work. |
## Server Ports
| Port | default |
|---------|---------|
| Game | 8303 |

View File

@ -0,0 +1,82 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-07-01T12:47:31+02:00",
"name": "DDRaceNetwork",
"author": "diedyesterdaywashere@gmail.com",
"description": "DDraceNetwork (DDNet) is an actively maintained version of DDRace, a Teeworlds modification with a unique cooperative gameplay.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/DDNet-Server",
"config": {
"files": "{\r\n \"data\/autoexec_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"sv_port\": \"sv_port {{server.build.default.port}}\",\r\n \"sv_name\": \"sv_name \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"password\": \"password \\\"{{server.build.env.SERVER_PASSWORD}}\\\"\",\r\n \"sv_map\": \"sv_map \\\"{{server.build.env.SERVER_MAP}}\\\"\",\r\n \"sv_register\": \"sv_register {{server.build.env.SERVER_REGISTER}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \" server name is \"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\napt update\r\napt -y install curl xz-utils tar\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n A=$(curl -sSL https:\/\/ddnet.org\/downloads\/ | grep -io '<a href=['\"'\"'\"][^\"'\"'\"']*['\"'\"'\"]' | grep linux_x86_64.tar.xz | awk '{print $2}' |cut -c7- | sed 's\/.$\/\/' | head -1)\r\n DOWNLOAD_URL=https:\/\/ddnet.org\/downloads\/${A}\r\nelse\r\n A=$(curl -sSL https:\/\/ddnet.org\/downloads\/ | grep -io '<a href=['\"'\"'\"][^\"'\"'\"']*['\"'\"'\"]' | grep linux_x86_64.tar.xz | awk '{print $2}' |cut -c7- | sed 's\/.$\/\/' | grep -i ${VERSION})\r\n DOWNLOAD_URL=https:\/\/ddnet.org\/downloads\/${A}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\ncurl -sSL -o ddnet_linux_x86_64.tar.xz ${DOWNLOAD_URL}\r\ntar -xf ddnet_linux_x86_64.tar.xz --strip-components=1\r\nrm ddnet_linux_x86_64.tar.xz\r\n\r\ncd \/mnt\/server\/data\r\nsed -i 's\/#\\(sv_port [0-9]\\+\\)\/\\1\/' autoexec_server.cfg\r\n\r\ncd \/mnt\/server\r\necho \"# Check \/data\/autoexec_config.cfg for more info!\" >> myServerconfig.cfg\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:bullseye-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Game Version",
"description": "Latest is the default, put \"nightly\" for beta, or enter the version number, for example \"17.0\".",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Server name",
"description": "The name of the server",
"env_variable": "SERVER_NAME",
"default_value": "My DDNet server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Server password",
"description": "Password for joining the server, empty for no password",
"env_variable": "SERVER_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:64",
"field_type": "text"
},
{
"name": "Server map",
"description": "Map to start server with",
"env_variable": "SERVER_MAP",
"default_value": "Tutorial",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Register server",
"description": "Register the server to the server list.\r\n0 is disabled\r\nipv4 is enabled listening ipv4",
"env_variable": "SERVER_REGISTER",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:0,ipv4",
"field_type": "text"
}
]
}

View File

@ -18,3 +18,5 @@ ET: Legacy requires a single port
| Port | default | | Port | default |
|---------|---------| |---------|---------|
| Game | 27960 | | Game | 27960 |
|---------|---------|
| Server | 27950 |

View File

@ -24,3 +24,7 @@ Factorio requires a single port
| Port | default | | Port | default |
|---------|---------| |---------|---------|
| Game | 34197 | | Game | 34197 |
## ARM64
There is a factorio egg for ARM64 machines that uses the box64 emulator.
If you are on **AMD64** Like most of you download the normal non ARM64 egg!

View File

@ -0,0 +1,192 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-11-18T10:08:36+01:00",
"name": "Factorio ARM64",
"author": "parker@parkervcp.com",
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
"features": null,
"docker_images": {
"Box64": "ghcr.io\/parkervcp\/yolks:box64"
},
"file_denylist": [],
"startup": "if [ ! -f \".\/saves\/{{SAVE_NAME}}.zip\" ]; then box64 .\/bin\/x64\/factorio --create .\/saves\/{{SAVE_NAME}}.zip --map-gen-settings data\/map-gen-settings.json --map-settings data\/map-settings.json; fi;\r\nbox64 .\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server saves\/{{SAVE_NAME}}.zip",
"config": {
"files": "{\r\n \"data\/server-settings.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"description\": \"{{server.build.env.SERVER_DESC}}\",\r\n \"max_players\": \"{{server.build.env.MAX_SLOTS}}\",\r\n \"username\": \"{{server.build.env.SERVER_USERNAME}}\",\r\n \"token\": \"{{server.build.env.SERVER_TOKEN}}\",\r\n \"autosave_interval\": \"{{server.build.env.SAVE_INTERVAL}}\",\r\n \"autosave_slots\": \"{{server.build.env.SAVE_SLOTS}}\",\r\n \"afk_autokick_interval\": \"{{server.build.env.AFK_KICK}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Hosting game at\"\r\n}",
"logs": "{}",
"stop": "\/quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y curl tar xz-utils jq\r\n\r\nVERSION_JSON=$(curl -sSL https:\/\/factorio.com\/api\/latest-releases)\r\n\r\nlatest_stable=$(echo $VERSION_JSON | jq -r '.stable.headless')\r\nlatest_experimental=$(echo $VERSION_JSON | jq -r '.experimental.headless')\r\n\r\nif [ -z \"${FACTORIO_VERSION}\" ] || [ \"${FACTORIO_VERSION}\" == \"latest\" ]; then\r\n DL_VERSION=$latest_stable\r\nelif [ \"${FACTORIO_VERSION}\" == \"experimental\" ]; then\r\n DL_VERSION=$latest_experimental\r\nelse\r\n DL_VERSION=${FACTORIO_VERSION}\r\nfi\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}' \\n\"\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}\r\n\r\ntar -xf factorio-${DL_VERSION} --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}\r\n\r\nif [ -e data\/map-gen-settings.json ]; then\r\n echo \"map-gen exists\"\r\nelse\r\n echo \"copying map-gen default settings\"\r\n mv data\/map-gen-settings.example.json data\/map-gen-settings.json\r\nfi\r\n\r\nif [ -e data\/server-settings.json ]; then\r\n echo \"server settings exists\"\r\nelse\r\n echo \"copying server default settings\"\r\n mv data\/server-settings.example.json data\/server-settings.json\r\nfi\r\n\r\nif [ -e map-settings.json ]; then\r\n echo \"map settings exists\"\r\nelse\r\n echo \"copying map default settings\"\r\n mv data\/map-settings.example.json data\/map-settings.json\r\nfi\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Factorio Version",
"description": "Which version of Factorio to install and use.",
"env_variable": "FACTORIO_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,12",
"field_type": "text"
},
{
"name": "Maximum Slots",
"description": "Total number of slots to allow on the server.",
"env_variable": "MAX_SLOTS",
"default_value": "20",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
},
{
"name": "Save Name",
"description": "The save name for the server.",
"env_variable": "SAVE_NAME",
"default_value": "gamesave",
"user_viewable": true,
"user_editable": true,
"rules": "alpha_dash|between:1,100",
"field_type": "text"
},
{
"name": "Server Token",
"description": "Your factorio.com token, it is required for your server to be visible in the public server list.",
"env_variable": "SERVER_TOKEN",
"default_value": "undefined",
"user_viewable": true,
"user_editable": true,
"rules": "alpha_num|max:100",
"field_type": "text"
},
{
"name": "Server Name",
"description": "Name of the game as it will appear in the game listing",
"env_variable": "SERVER_NAME",
"default_value": "Factorio Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100",
"field_type": "text"
},
{
"name": "Server Description",
"description": "Description of the game that will appear in the listing.",
"env_variable": "SERVER_DESC",
"default_value": "Description",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:200",
"field_type": "text"
},
{
"name": "Server Username",
"description": "Username used for the server",
"env_variable": "SERVER_USERNAME",
"default_value": "unnamed",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:40",
"field_type": "text"
},
{
"name": "Auto Save Interval",
"description": "Time between auto saves specified in minutes",
"env_variable": "SAVE_INTERVAL",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
},
{
"name": "Auto Save Slots",
"description": "The number of auto saves to keep.",
"env_variable": "SAVE_SLOTS",
"default_value": "5",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
},
{
"name": "AFK Kick",
"description": "Time specified in minutes to kick AFK players.\r\n0 is off",
"env_variable": "AFK_KICK",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
},
{
"name": "BOX64_DYNAREC_SAFEFLAGS",
"description": "",
"env_variable": "BOX64_DYNAREC_SAFEFLAGS",
"default_value": "0",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:0",
"field_type": "text"
},
{
"name": "BOX64_DYNAREC_BIGBLOCK",
"description": "",
"env_variable": "BOX64_DYNAREC_BIGBLOCK",
"default_value": "2",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:2",
"field_type": "text"
},
{
"name": "BOX64_DYNAREC_FORWARD",
"description": "",
"env_variable": "BOX64_DYNAREC_FORWARD",
"default_value": "1024",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:1024",
"field_type": "text"
},
{
"name": "BOX64_DYNAREC_CALLRET",
"description": "",
"env_variable": "BOX64_DYNAREC_CALLRET",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:1",
"field_type": "text"
},
{
"name": "BOX64_DYNAREC_FASTROUND",
"description": "",
"env_variable": "BOX64_DYNAREC_FASTROUND",
"default_value": "0",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:0",
"field_type": "text"
},
{
"name": "BOX64_DYNAREC_ALIGNED_ATOMICS",
"description": "",
"env_variable": "BOX64_DYNAREC_ALIGNED_ATOMICS",
"default_value": "1",
"user_viewable": false,
"user_editable": false,
"rules": "required|numeric|in:1",
"field_type": "text"
}
]
}

View File

@ -1,31 +1,42 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-02-09T11:53:05-08:00", "exported_at": "2023-02-23T17:52:24+01:00",
"name": "Tachyon", "name": "Tachyon",
"author": "alex.chang-lam@protonmail.com", "author": "alex.chang-lam@protonmail.com",
"description": "A multiplayer version of FTL.", "description": "A multiplayer version of FTL.",
"features": null, "features": null,
"images": [ "docker_images": {
"quay.io\/pterodactyl\/core:java-11" "Java_11": "ghcr.io\/pterodactyl\/yolks:java_11"
], },
"file_denylist": "", "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar TachyonsCEServer.jar", "startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar TachyonsCEServer.jar",
"config": { "config": {
"files": "{}", "files": "{\r\n \"config.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"SERVER_PORT=\": \"SERVER_PORT={{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"[Server] SERVER STARTED.\",\r\n \"userInteraction\": []\r\n}", "startup": "{\r\n \"done\": \"[Server] SERVER STARTED.\"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "\/exit" "stop": "\/exit"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=Dav-Edward\/TachyonsCE\r\nMATCH=TachyonsCE\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\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" != \"Not Found\" ] && [[ -z \"${VERSION}\" || \"${VERSION}\" == \"latest\" ]]; then\r\n echo -e \"grabbing latest version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" == \"Not Found\" ]; then\r\n ## emergency fallback if latest isn't found\r\n ## grabs the latest release even it it's a pre-release\r\n echo -e \"grabbing latest pre-release\"\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})\r\nelse\r\n echo -e \"grabbing version $VERSION\"\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\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -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##*\/}\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#pull version and format folder name for renaming\r\nFOLDER=$(echo ${LATEST_JSON} | jq .tag_name | tr -d 'v\"')\r\n\r\n#move all server files out\r\ncp -r .\/TachyonsCE_${FOLDER}\/server\/* \/mnt\/server\r\n\r\n#remove zip and unneeded client-side and dev files\r\nrm -rf TachyonsCE_${FOLDER}\r\nrm ${VALIDATED_URL##*\/}\r\n\r\nchmod +x TachyonsCEServer.jar", "script": "#!\/bin\/bash\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\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/Dav-Edward\/TachyonsCE\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/Dav-Edward\/TachyonsCE\/releases\")\r\nMATCH=TachyonsCE\r\n\r\nif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" != \"Not Found\" ] && [[ -z \"${VERSION}\" || \"${VERSION}\" == \"latest\" ]]; then\r\n echo -e \"grabbing latest version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" == \"Not Found\" ]; then\r\n ## emergency fallback if latest isn't found\r\n ## grabs the latest release even it it's a pre-release\r\n echo -e \"grabbing latest pre-release\"\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})\r\nelse\r\n echo -e \"grabbing version $VERSION\"\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\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl --progress-bar -sSL -o ${DOWNLOAD_URL##*\/} ${DOWNLOAD_URL}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exeting\"\r\n exit 2 \r\nfi\r\n\r\n#move all server files out\r\nmv .\/server\/* .\/\r\n\r\n#remove zip and unneeded client-side and dev files\r\nrm -rf server\/ JRE\/ client\/ *.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:buster-slim", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
"variables": [] "variables": [
{
"name": "Version",
"description": "",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
}
]
} }

View File

@ -20,6 +20,9 @@ alt:V Multiplayer a third-party multiplayer modification for Grand Theft Auto: V
[GTA SA:MP](https://www.sa-mp.com/) [GTA SA:MP](https://www.sa-mp.com/)
SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm). SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).
[OpenMp](https://www.open.mp/)
A multiplayer mod for Grand Theft Auto: San Andreas that is fully backwards compatible with San Andreas Multiplayer.
[MTA SA](https://mtasa.com/) [MTA SA](https://mtasa.com/)
What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more. What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.

File diff suppressed because one or more lines are too long

View File

@ -1,5 +1,10 @@
# FiveM # FiveM
## Supported architecture
FiveM **ONLY** supports **amd64**. **arm64** is **NOT** supported (like Oracle free cloud)
## Note on FiveM support from Pteroadactyl ## Note on FiveM support from Pteroadactyl
Pterodactyl will not be providing support for FiveM. You are free to run a FiveM server but no support will be provided in the Pterodactyl Discord, check the discord annoucement below for details. Pterodactyl will not be providing support for FiveM. You are free to run a FiveM server but no support will be provided in the Pterodactyl Discord, check the discord annoucement below for details.

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-07-19T11:53:00-04:00", "exported_at": "2023-02-19T12:54:36+01:00",
"name": "FiveM", "name": "FiveM",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM", "description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
@ -22,7 +22,7 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils file jq\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${FIVEM_VERSION}\" == \"recommended\" ]] || [[ -z ${FIVEM_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\nelif [[ \"${FIVEM_VERSION}\" == \"latest\" ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${CFX_VERSION})\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to recommedned as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"Skipping downloading default server config file as one already exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\nmkdir -p logs\/\r\n\r\necho \"install complete\"", "script": "#!\/bin\/bash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils file jq\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/\r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\nCHANGELOGS_PAGE=$(curl -sSL https:\/\/changelogs-live.fivem.net\/api\/changelog\/versions\/linux\/server)\r\n\r\nif [[ \"${FIVEM_VERSION}\" == \"recommended\" ]] || [[ -z ${FIVEM_VERSION} ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\nelif [[ \"${FIVEM_VERSION}\" == \"latest\" ]]; then\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.latest_download')\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\/*.tar.xz\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep -i \"${FIVEM_VERSION}\" | grep -o =.* | tr -d '=')\r\n if [[ \"${VERSION_LINK}\" == \"\" ]]; then\r\n echo -e \"defaulting to recommedned as the version requested was invalid.\"\r\n DOWNLOAD_LINK=$(echo $CHANGELOGS_PAGE | jq -r '.recommended_download')\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"Skipping downloading default server config file as one already exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >>server.cfg\r\nfi\r\n\r\nmkdir -p logs\/\r\n\r\necho \"install complete\"",
"container": "ghcr.io\/parkervcp\/installers:debian", "container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -60,7 +60,7 @@
}, },
{ {
"name": "fivem version", "name": "fivem version",
"description": "The fivem version that is to be installed. Invalid versions will default to recommended.\r\n\r\nAn example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can get the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/", "description": "The fivem version that is to be installed. Invalid versions will default to recommended.\r\n\r\nAn example is `6013-d8ae399d15680da569022f57ab7f2474d307c821`\r\n\r\nYou can get the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
"env_variable": "FIVEM_VERSION", "env_variable": "FIVEM_VERSION",
"default_value": "recommended", "default_value": "recommended",
"user_viewable": true, "user_viewable": true,
@ -70,7 +70,7 @@
}, },
{ {
"name": "Download Link", "name": "Download Link",
"description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz", "description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/6013-d8ae399d15680da569022f57ab7f2474d307c821\/fx.tar.xz",
"env_variable": "DOWNLOAD_URL", "env_variable": "DOWNLOAD_URL",
"default_value": "", "default_value": "",
"user_viewable": false, "user_viewable": false,

View File

@ -1,4 +1,4 @@
### AUTOMATICALY SET BY PTERODACTYL ### ### AUTOMATICALLY SET BY PTERODACTYL ###
# Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only. # Only change the IP if you're using a server with multiple network interfaces, otherwise change the port only.
endpoint_add_tcp "0.0.0.0:30120" endpoint_add_tcp "0.0.0.0:30120"
endpoint_add_udp "0.0.0.0:30120" endpoint_add_udp "0.0.0.0:30120"

View File

@ -1,29 +1,29 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-05-25T15:27:15+02:00", "exported_at": "2023-11-13T18:18:13+01:00",
"name": "Multi Theft Auto", "name": "Multi Theft Auto",
"author": "info@six-gaming.com", "author": "info@six-gaming.com",
"description": "What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.", "description": "What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/parkervcp\/yolks:ubuntu" "ghcr.io\/parkervcp\/games:mta": "ghcr.io\/parkervcp\/games:mta"
], },
"file_denylist": [], "file_denylist": [],
"startup": ".\/mta-server64 --port {{SERVER_PORT}} --httpport {{SERVER_WEBPORT}} -n", "startup": ".\/mta-server64 --port {{SERVER_PORT}} --httpport {{SERVER_WEBPORT}} -n",
"config": { "config": {
"files": "{}", "files": "{}",
"startup": "{\r\n \"done\": \"Server started and is ready to accept connections\"\r\n}", "startup": "{\r\n \"done\": \"Server started and is ready to accept connections\"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "logs": "{}",
"stop": "shutdown" "stop": "shutdown"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -L -o multitheftauto_linux_x64.tar.gz https:\/\/linux.mtasa.com\/dl\/multitheftauto_linux_x64.tar.gz\r\ncurl -L -o mta-baseconfig.tar.gz https:\/\/linux.mtasa.com\/dl\/baseconfig.tar.gz\r\ncurl -L -o mtasa-resources-latest.zip http:\/\/mirror.mtasa.com\/mtasa\/resources\/mtasa-resources-latest.zip\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xvf multitheftauto_linux_x64.tar.gz\r\ncp -rf multitheftauto_linux_x64\/* \/mnt\/server\r\n\r\nif [ ! -f \/mnt\/server\/x64\/libmysqlclient.so.16 ]; then\r\n curl -L http:\/\/nightly.mtasa.com\/files\/libmysqlclient.so.16 -o \/mnt\/server\/x64\/libmysqlclient.so.16\r\nfi\r\n\r\nmkdir -p \/mnt\/server\/mods\/deathmatch\/resources\r\nunzip -o -d \/mnt\/server\/mods\/deathmatch\/resources mtasa-resources-latest.zip\r\n\r\nmkdir -p \/mnt\/server-conf\r\ntar -xvf mta-baseconfig.tar.gz\r\ncp -rf baseconfig\/* \/mnt\/server\/mods\/deathmatch\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\necho \"done\"", "script": "#!\/bin\/bash\r\n\r\ncd \/tmp\r\ncurl -L -o multitheftauto_linux_x64.tar.gz https:\/\/linux.mtasa.com\/dl\/multitheftauto_linux_x64.tar.gz\r\ncurl -L -o mta-baseconfig.tar.gz https:\/\/linux.mtasa.com\/dl\/baseconfig.tar.gz\r\ncurl -L -o mtasa-resources-latest.zip http:\/\/mirror.mtasa.com\/mtasa\/resources\/mtasa-resources-latest.zip\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xvf multitheftauto_linux_x64.tar.gz\r\ncp -rf multitheftauto_linux_x64\/* \/mnt\/server\r\n\r\nif [ ! -f \/mnt\/server\/x64\/libmysqlclient.so.16 ]; then\r\n curl -L http:\/\/nightly.mtasa.com\/files\/libmysqlclient.so.16 -o \/mnt\/server\/x64\/libmysqlclient.so.16\r\nfi\r\n\r\nmkdir -p \/mnt\/server\/mods\/deathmatch\/resources\r\nunzip -o -d \/mnt\/server\/mods\/deathmatch\/resources mtasa-resources-latest.zip\r\n\r\ntar -xvf mta-baseconfig.tar.gz\r\ncp -rf baseconfig\/* \/mnt\/server\/mods\/deathmatch\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ubuntu:18.04", "container": "ghcr.io\/parkervcp\/installers:ubuntu",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -35,7 +35,8 @@
"default_value": "22005", "default_value": "22005",
"user_viewable": true, "user_viewable": true,
"user_editable": false, "user_editable": false,
"rules": "required|numeric" "rules": "required|numeric",
"field_type": "text"
} }
] ]
} }

View File

@ -0,0 +1,10 @@
# OpenMp
The [OpenMp](https://www.open.mp/) GTA San Andreas dedicated server
## Server Ports
| Port | default |
|---------|---------|
| Game | 25570 |

View File

@ -0,0 +1,93 @@
{
"announce": true,
"artwork": {
"cdn": "",
"enable": true,
"models_path": "models"
},
"chat_input_filter": true,
"enable_query": true,
"game": {
"allow_interior_weapons": true,
"chat_radius": 200.0,
"death_drop_amount": 0,
"gravity": 0.008,
"group_player_objects": false,
"lag_compensation_mode": 1,
"map": "",
"mode": "",
"nametag_draw_radius": 70.0,
"player_marker_draw_radius": 250.0,
"player_marker_mode": 1,
"time": 12,
"use_all_animations": false,
"use_chat_radius": false,
"use_entry_exit_markers": true,
"use_instagib": false,
"use_manual_engine_and_lights": false,
"use_nametag_los": true,
"use_nametags": true,
"use_player_marker_draw_radius": false,
"use_player_ped_anims": false,
"use_stunt_bonuses": true,
"use_vehicle_friendly_fire": false,
"use_zone_names": false,
"vehicle_respawn_time": 10000,
"weather": 10
},
"language": "",
"logging": {
"enable": true,
"log_chat": true,
"log_cookies": false,
"log_deaths": true,
"log_queries": false,
"log_sqlite": false,
"log_sqlite_queries": false,
"timestamp_format": "[%Y-%m-%dT%H:%M:%S%z]",
"use_prefix": true,
"use_timestamp": true
},
"max_bots": 0,
"max_players": 50,
"name": "open.mp server",
"network": {
"acks_limit": 3000,
"aiming_sync_rate": 30,
"allow_037_clients": true,
"bind": "",
"cookie_reseed_time": 300000,
"in_vehicle_sync_rate": 30,
"limits_ban_time": 60000,
"message_hole_limit": 3000,
"messages_limit": 500,
"minimum_connection_time": 0,
"mtu": 576,
"multiplier": 10,
"on_foot_sync_rate": 30,
"player_marker_sync_rate": 2500,
"player_timeout": 10000,
"port": 7777,
"public_addr": "",
"stream_radius": 200.0,
"stream_rate": 1000,
"time_sync_rate": 30000,
"use_lan_mode": false
},
"password": "",
"pawn": {
"legacy_plugins": [],
"main_scripts": [
"test 1"
],
"side_scripts": []
},
"rcon": {
"allow_teleport": false,
"enable": false,
"password": "changeme"
},
"sleep": 5.0,
"use_dyn_ticks": true,
"website": "open.mp"
}

View 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": "2023-07-01T11:37:31+02:00",
"name": "OpenMP",
"author": "vedrancappone@gmail.com",
"description": "A multiplayer mod for Grand Theft Auto: San Andreas that is fully backwards compatible with San Andreas Multiplayer.",
"features": null,
"docker_images": {
"Samp": "ghcr.io\/parkervcp\/games:samp"
},
"file_denylist": [],
"startup": ".\/omp-server",
"config": {
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"network.port\": \"{{server.build.default.port}}\",\r\n \"rcon.password\": \"{{server.build.env.RCON_PASSWORD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"started on port\"\r\n}",
"logs": "{}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\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\/openmultiplayer\/open.mp\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/openmultiplayer\/open.mp\/releases\")\r\nMATCH=open.mp-linux-x86-dynssl\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 -linux-x86 | head -1)\r\n fi\r\nfi\r\n\r\necho \"running: curl -sSL -o openmp.tar.gz ${DOWNLOAD_URL}\"\r\ncurl -sSL -o openmp.tar.gz ${DOWNLOAD_URL}\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf openmp.tar.gz --strip-components=1 -C \/mnt\/server\/\r\n\r\ncd \/mnt\/server || exit\r\n\r\necho \"creating default config\"\r\n\r\nif [ -e config.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default OpenMp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/openmp\/config.json >> config.json\r\nfi\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "RCON Password",
"description": "The password for RCON",
"env_variable": "RCON_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "Version",
"description": "The version you want to install",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}

View File

@ -1,3 +1,3 @@
# SA:MP # SA:MP
The [SA:MP](https://www.sa-mp.com/) GTA San Andreas dedicated server The [SA:MP](https://www.sa-mp.mp/) GTA San Andreas dedicated server

View File

@ -1,26 +1,52 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1" "version": "PTDL_v2",
"update_url": null
}, },
"exported_at": "2020-10-28T13:03:46+00:00", "exported_at": "2023-10-19T18:53:04+02:00",
"name": "SA-MP", "name": "SA-MP",
"author": "bl4ckspr4y@protonmail.com", "author": "bl4ckspr4y@protonmail.com",
"description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).", "description": "SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rockstar Games Grand Theft Auto: San Andreas (tm).",
"image": "ghcr.io\/parkervcp\/games:samp", "features": null,
"docker_images": {
"Samp": "ghcr.io\/parkervcp\/games:samp"
},
"file_denylist": [],
"startup": ".\/samp03svr", "startup": ".\/samp03svr",
"config": { "config": {
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port {{server.build.default.port}}\"\r\n }\r\n }\r\n}", "files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port {{server.build.default.port}}\",\r\n \"rcon_password\": \"rcon_password {{server.build.env.RCON_PASS}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Started server on \",\r\n \"userInteraction\": []\r\n}", "startup": "{\r\n \"done\": \"Started server on \"\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"samp.log\"\r\n}", "logs": "{}",
"stop": "^C" "stop": "^^C"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl unzip lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o samp.tar.gz http:\/\/files.sa-mp.com\/samp037svr_R2-1.tar.gz\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf samp.tar.gz -C \/mnt\/server\/\r\ncp -r \/mnt\/server\/samp03\/* \/mnt\/server\r\nrm -rf \/mnt\/server\/samp03\/\r\ncd \/mnt\/server\r\nsed -i '3d' \/mnt\/server\/server.cfg\r\necho \"rcon_password changemeplease\" >> \/mnt\/server\/server.cfg\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server", "script": "#!\/bin\/bash\r\n\r\n# Check if VERSION is set and starts with an uppercase \"R\"\r\nif [[ -n \"$VERSION\" && \"$VERSION\" == R* ]]; then\r\n VERSION=\"0.3.7\"\r\n echo \"Updated VERSION: $VERSION\"\r\nfi\r\n\r\ncd \/tmp || exit\r\necho \"running: curl -sSL -o samp.tar.gz https:\/\/sampcenter.com\/download\/server\/linux\/${VERSION}.tar.gz\"\r\ncurl -sSL -o samp.tar.gz https:\/\/sampcenter.com\/download\/server\/linux\/${VERSION}.tar.gz\r\n\r\nmkdir -p \/mnt\/server\r\ntar -xzvf samp.tar.gz --strip-components=1 -C \/mnt\/server\/\r\n\r\ncd \/mnt\/server || exit\r\n\r\nsed -i '3d' \/mnt\/server\/server.cfg\r\necho \"rcon_password ${RCON_PASS}\" >> \/mnt\/server\/server.cfg\r\n\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ubuntu:16.04", "container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
"variables": [] "variables": [
{
"name": "Version",
"description": "Example: if the download url is https:\/\/sampcenter.com\/download\/server\/linux\/0.3.7.tar.gz then the variable should be: `0.3.7`",
"env_variable": "Version",
"default_value": "0.3.7",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "Rcon password",
"description": "The password used for rcon",
"env_variable": "RCON_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
}
]
} }

View File

@ -0,0 +1,19 @@
# HogWarp
HogWarp is a Work In Progress mod that adds Multiplayer functionality to Hogwarts Legacy, similar to FiveM for GTAV
This Mod requires a API key only obtainable through their Discord, see the Startup Variable **API KEY** for more info.
- Some features of the mod (Public servers / higher player counts) require a Patreon level. See their Patreon here: https://www.patreon.com/tiltedphoques
Plugins as of now **do not work** as Wine and Winetricks will break the DLL it runs off of. This will likely stay the case until a full Linux release
## Server Port
| Port | default |
|---------|---------|
| Game | 11778 |
## Hardware Requirements
| Storage | RAM | CPU |
|---------|---------|-----|
| 1.5GiB | 250MiB | 🥔 |

View 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-11-14T12:12:21-05:00",
"name": "Hogwarp",
"author": "imkringle@proton.me",
"description": "A Pterodactyl egg for the Hogwarts Legacy mod Hogwarp - For more info see their Nexus: https:\/\/www.nexusmods.com\/hogwartslegacy\/mods\/1378",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:wine_latest": "ghcr.io\/parkervcp\/yolks:wine_latest"
},
"file_denylist": [],
"startup": "wine HogWarpServer.exe",
"config": {
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"ApiKey\": \"{{env.API_KEY}}\",\r\n \"Name\": \"{{env.SERV_NAME}}\",\r\n \"Port\": \"{{server.build.default.port}}\",\r\n \"Description\": \"{{env.SERV_DESC}}\",\r\n \"MaxPlayer\": \"{{env.MAX_PLAYERS}}\",\r\n \"IconUrl\": \"{{env.SERV_ICON}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \" [HogWarpServer] \"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#Hogwarp Install\r\napt update -y\r\napt install -y curl file unzip\r\n\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n# Validate link\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\n# Unpack Server zip\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\n\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n#Create the Plugins folder\r\nmkdir plugins\/\r\n\r\n# Check for a config.json, if it is missing; create it\r\nTARGET_FILE=\"config.json\"\r\n\r\nif test -f \"$TARGET_FILE\"; then\r\n echo \"$TARGET_FILE exists. Skipping config install\"\r\nelse\r\n echo \"$TARGET_FILE does not exist. Installing!\"\r\n curl -sSL -o config.json https:\/\/pteropaste.com\/hy2d48dbhtdd\/\r\n echo \"$TARGET_FILE has been installed\"\r\nfi\r\n\r\n\r\n## Install End\r\necho \"-----------------------------------------\"\r\necho \"Hogwarp Is Installed!\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Wine Tricks",
"description": "",
"env_variable": "WINETRICKS_RUN",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Hogwarp API Key",
"description": "A API required to boot - https:\/\/presence.hogwarp.com\/login\r\n- If not set on install it will fail. Set API Key then Reinstall Files",
"env_variable": "API_KEY",
"default_value": "CHANGEME",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Server Name",
"description": "A name that displays on the Hogwarp list",
"env_variable": "SERV_NAME",
"default_value": "Ptero Hogwarp Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "WineARCH",
"description": "Arch type for Wine",
"env_variable": "WINEARCH",
"default_value": "win64",
"user_viewable": false,
"user_editable": false,
"rules": "required",
"field_type": "text"
},
{
"name": "Max Players",
"description": "Max players for a server, this depends on your Patreon level for Hogwarp\r\nhttps:\/\/www.patreon.com\/tiltedphoques - ( 4, 8, 16, No Limit ) In that order.",
"env_variable": "MAX_PLAYERS",
"default_value": "4",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "Server Icon URL",
"description": "The icon that displays on Hogwarps multiplayer listing",
"env_variable": "SERV_ICON",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Server Description",
"description": "The description that shows on the Multiplayer list",
"env_variable": "SERV_DESC",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Download URL",
"description": "URL to pull the files from\r\n- Files can be found in their Discord (https:\/\/discord.com\/invite\/hogwarp). Default URL will pull from there as well\r\n- These files can be outdated! Be sure to check for an update in the event it has a version mismatch with the client.",
"env_variable": "DOWNLOAD_URL",
"default_value": "https:\/\/cdn.discordapp.com\/attachments\/1076580539751993444\/1118295980597575810\/Server.zip",
"user_viewable": false,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "WINEDEBUG",
"description": "",
"env_variable": "WINEDEBUG",
"default_value": "-all",
"user_viewable": false,
"user_editable": false,
"rules": "nullable",
"field_type": "text"
}
]
}

12
game_eggs/ksp/README.md Normal file
View File

@ -0,0 +1,12 @@
# Kerbal Space Program
[Dark Multiplayer](https://d-mp.org/)
Dark Multiplayer is an up-to-date mod adding the long awaited multiplayer feature to Kerbal Space Program while including support for other mods!
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 6702 |

View 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-09-22T19:54:35+02:00",
"name": "KSP DMP",
"author": "rufanyin29@gmail.com",
"description": "Dark Multiplayer mod server for Kerbal Space Program",
"features": null,
"docker_images": {
"Mono": "ghcr.io\/parkervcp\/yolks:mono_latest"
},
"file_denylist": [],
"startup": "mono DMPServer.exe",
"config": {
"files": "{\r\n \"Config\/Settings.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"modpackMode\": \"{{server.build.env.MODPACKMODE}}\",\r\n \"warpMode\": \"{{server.build.env.WARPMODE}}\",\r\n \"gameMode\": \"{{server.build.env.GAMEMODE}}\",\r\n \"gameDifficulty\": \"{{server.build.env.DIFFICULTY}}\",\r\n \"whitelisted\": \"{{server.build.env.WHITELIST}}\",\r\n \"serverName\": \"{{server.build.env.SERVERNAME}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Ready!\"\r\n}",
"logs": "{}",
"stop": "\/exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nV=$(curl -s https:\/\/d-mp.org\/downloads | grep \"DMP Server\" | awk -F 'href=\"' 'NR==2 {print $2}' | awk -F '\"' '{print $1}') # \/builds\/release\/v0.3.8.3\/DMPServer.zip\r\n\r\necho \"Download link: https:\/\/d-mp.org${V}\"\r\ncurl -sSL -o DMPServer.zip https:\/\/d-mp.org${V}\r\n\r\nunzip -o DMPServer.zip\r\nmv DMPServer\/* .\/\r\n\r\nrm -rf DMPServer\r\nrm DMPServer.zip\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Mod Pack Mode",
"description": "Specify the modpack type.",
"env_variable": "MODPACKMODE",
"default_value": "NONE",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:NONE,CKAN,GAMEDATA",
"field_type": "text"
},
{
"name": "Warp Mode",
"description": "Specify the warp type.",
"env_variable": "WARPMODE",
"default_value": "SUBSPACE",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:MCW_FORCE,MCW_VOTE,MCW_LOWEST,SUBSPACE_SIMPLE,SUBSPACE,NONE",
"field_type": "text"
},
{
"name": "Game Mode",
"description": "Specify the game type.",
"env_variable": "GAMEMODE",
"default_value": "SANDBOX",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:SANDBOX,CAREER,SCIENCE",
"field_type": "text"
},
{
"name": "Game Difficulty",
"description": "Specify the gameplay difficulty of the server.",
"env_variable": "DIFFICULTY",
"default_value": "NORMAL",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:EASY,NORMAL,MODERATE,HARD,CUSTOM",
"field_type": "text"
},
{
"name": "Whitelisted",
"description": "Enable white-listing.",
"env_variable": "WHITELIST",
"default_value": "False",
"user_viewable": false,
"user_editable": false,
"rules": "required|string|in:True,False",
"field_type": "text"
},
{
"name": "Server Name",
"description": "Name of the server.",
"env_variable": "SERVERNAME",
"default_value": "DMP Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:48",
"field_type": "text"
}
]
}

View File

@ -15,19 +15,23 @@ Its set in infinitely-generated worlds of wide open terrain - icy mountains,
## [Java](java) Servers for Java Minecraft ## [Java](java) Servers for Java Minecraft
* [Cuberite](java/cuberite) * [Cuberite](java/cuberite)
* [CurseForge](java/curseforge)
* [Fabric](java/fabric) * [Fabric](java/fabric)
* [Feather](java/feather) * [Feather](java/feather)
* [Forge](java/forge) * [Forge](java/forge)
* [Forge](java/forge/forge) * [Forge](java/forge/forge)
* [CusreForge Generic](java/forge/curseforge-generic)
* [Feed The Beast](java/ftb) * [Feed The Beast](java/ftb)
* [Glowstone](java/glowstone) * [Glowstone](java/glowstone)
* [Limbo](java/limbo)
* [Krypton](java/krypton) * [Krypton](java/krypton)
* [Magma](java/magma) * [Magma](java/magma)
* [Modrinth](java/modrinth)
* [Mohist](java/mohist) * [Mohist](java/mohist)
* [NanoLimbo](java/nanolimbo) * [NanoLimbo](java/nanolimbo)
* [Paper](java/paper) * [Paper](java/paper)
* [Folia](java/folia)
* [Purpur](java/purpur) * [Purpur](java/purpur)
* [Quilt](java/quilt/)
* [Spigot](java/spigot) * [Spigot](java/spigot)
* [SpongeForge](java/spongeforge) * [SpongeForge](java/spongeforge)
* [SpongeVanilla](java/spongevanilla) * [SpongeVanilla](java/spongevanilla)
@ -42,7 +46,6 @@ Its set in infinitely-generated worlds of wide open terrain - icy mountains,
* [GeyserMC](proxy/cross_platform/geyser) * [GeyserMC](proxy/cross_platform/geyser)
* [Waterdog](proxy/cross_platform/waterdog) * [Waterdog](proxy/cross_platform/waterdog)
* [Java](proxy/java) * [Java](proxy/java)
* [FlameCord](proxy/java/flamecord)
* [Travertine](proxy/java/travertine) * [Travertine](proxy/java/travertine)
* [Velocity](proxy/java/velocity) * [Velocity](proxy/java/velocity)
* [VIAaas](proxy/java/viaaas) * [VIAaas](proxy/java/viaaas)

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-12-11T19:37:36+08:00", "exported_at": "2023-05-17T20:11:37+02:00",
"name": "Liteloader Bedrock Dedicated Server", "name": "Liteloader Bedrock Dedicated Server",
"author": "frizth_tatierra@informatics.edu.ph", "author": "frizth_tatierra@informatics.edu.ph",
"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.", "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.",
@ -13,7 +13,7 @@
"ghcr.io\/parkervcp\/yolks:wine_staging": "ghcr.io\/parkervcp\/yolks:wine_staging" "ghcr.io\/parkervcp\/yolks:wine_staging": "ghcr.io\/parkervcp\/yolks:wine_staging"
}, },
"file_denylist": [], "file_denylist": [],
"startup": ".\/lae-ll-launcher", "startup": ".\/lae-ll-launcher bedrock_server_mod.exe",
"config": { "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}", "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}", "startup": "{\r\n \"done\": \"IPv4 supported\"\r\n}",
@ -22,7 +22,7 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# Liteloader First-time Install Script\r\n\r\napk update\r\napk add gzip\r\ncd \/mnt\/server\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# Download LiteLoaderBDS\r\nif [ -z \"${LL_VERSION}\" ] || [ \"${LL_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest LiteLoaderBDS from GitHub\"\r\n curl -s https:\/\/api.github.com\/repos\/LiteLDev\/LiteLoaderBDS\/releases\/latest | grep \"browser_download_url.*LiteLoader-.*zip\" | cut -d : -f 2,3 | tr -d \\\" | wget -i - -O LiteLoader.zip\r\nelse \r\n echo -e \"\\n Downloading ${LL_VERSION} LiteLoaderBDS from GitHub\"\r\n wget https:\/\/github.com\/LiteLDev\/LiteLoaderBDS\/releases\/download\/${LL_VERSION}\/LiteLoader-${LL_VERSION}.zip -O LiteLoader.zip\r\nfi\r\n\r\n# Downlaoding 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\nunzip -o LiteLoader.zip\r\nrm LiteLoader.zip\r\necho \"Finished Downloading Liteloader...\"", "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\/parkervcp\/installers:alpine", "container": "ghcr.io\/parkervcp\/installers:alpine",
"entrypoint": "ash" "entrypoint": "ash"
} }
@ -109,4 +109,4 @@
"field_type": "text" "field_type": "text"
} }
] ]
} }

View 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

View 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": "2023-07-07T02:29:39+02:00",
"name": "PowerNukkitX",
"author": "powernukkitx@github.com",
"description": "PowerNukkitX support for Pterodactyl",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/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": "debian:bullseye-slim",
"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",
"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"
}
]
}

View 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
# 0Create a new compressor for each compression request
# 1All compression requests are done with only one thread and one compressor
# 2Using the original Nukkit server-side algorithm for high stability, using ThreadLocal to create a compressor for each thread
# 3Modern 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

View 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

View File

@ -21,6 +21,11 @@ LiteLoaderBDS is an unofficial plugin loader that provides basic API support for
[Nukkit GitHub](https://github.com/Nukkit/Nukkit) [Nukkit GitHub](https://github.com/Nukkit/Nukkit)
Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition
## [PowerNukkitX](/game_eggs/minecraft/bedrock/PowerNukkitX)
[PowerNukkitX](https://github.com/PowerNukkitX/PowerNukkitX)
PowerNukkitX is a software for minecraft bedrock edition in Java which is a fork of PowerNukkit
## [PocketMine MP](/game_eggs/minecraft/bedrock/pocketmine_mp) ## [PocketMine MP](/game_eggs/minecraft/bedrock/pocketmine_mp)
[PocketMine MP](https://github.com/pmmp/PocketMine-MP) [PocketMine MP](https://github.com/pmmp/PocketMine-MP)

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-07-06T17:14:36+02:00", "exported_at": "2023-06-18T11:46:24+02:00",
"name": "Vanilla Bedrock ARM64", "name": "Vanilla Bedrock ARM64",
"author": "josdekurk@gmail.com", "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\".", "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\".",
@ -24,8 +24,8 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Minecraft CDN Akamai blocks script user-agents\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n curl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -H \"Accept-Encoding: gzip, deflate\" -o versions.html.gz https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/minecraft.azureedge.net\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak versions.html.gz\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp whitelist.json whitelist.json.bak\r\n\r\necho -e \"Downloading files from: $DOWNLOAD_URL\"\r\n\r\ncurl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -o $DOWNLOAD_FILE $DOWNLOAD_URL\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $DOWNLOAD_FILE\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $DOWNLOAD_FILE\r\n\r\necho 'emit-server-telemetry=true' >> server.properties\r\n\r\necho -e \"restoring backup config files - on first install there will be file not found errors which you can ignore.\"\r\ncp -rf server.properties.bak server.properties\r\ncp -rf permissions.json.bak permissions.json\r\ncp -rf whitelist.json.bak whitelist.json\r\n\r\nchmod +x bedrock_server\r\n\r\necho -e \"Install Completed\"", "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Minecraft CDN Akamai blocks script user-agents\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n curl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -H \"Accept-Encoding: gzip, deflate\" -o versions.html.gz https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/minecraft.azureedge.net\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak versions.html.gz\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp 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": "debian:buster-slim", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -91,4 +91,4 @@
"field_type": "text" "field_type": "text"
} }
] ]
} }

View File

@ -1,19 +1,19 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-01-22T05:42:40-05:00", "exported_at": "2023-06-18T11:45:33+02:00",
"name": "Vanilla Bedrock", "name": "Vanilla Bedrock",
"author": "parker@parkervcp.com", "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\".", "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": [ "features": [
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/parkervcp\/yolks:debian" "ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
], },
"file_denylist": [], "file_denylist": [],
"startup": ".\/bedrock_server", "startup": ".\/bedrock_server",
"config": { "config": {
@ -24,8 +24,8 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Minecraft CDN Akamai blocks script user-agents\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n curl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -H \"Accept-Encoding: gzip, deflate\" -o versions.html.gz https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/minecraft.azureedge.net\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak versions.html.gz\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp whitelist.json whitelist.json.bak\r\n\r\necho -e \"Downloading files from: $DOWNLOAD_URL\"\r\n\r\ncurl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -o $DOWNLOAD_FILE $DOWNLOAD_URL\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $DOWNLOAD_FILE\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $DOWNLOAD_FILE\r\n\r\necho -e \"restoring backup config files - on first install there will be file not found errors which you can ignore.\"\r\ncp -rf server.properties.bak server.properties\r\ncp -rf permissions.json.bak permissions.json\r\ncp -rf whitelist.json.bak whitelist.json\r\n\r\nchmod +x bedrock_server\r\n\r\necho -e \"Install Completed\"", "script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Minecraft CDN Akamai blocks script user-agents\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n curl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -H \"Accept-Encoding: gzip, deflate\" -o versions.html.gz https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/minecraft.azureedge.net\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak versions.html.gz\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp 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": "debian:buster-slim", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -37,7 +37,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "ld lib path", "name": "ld lib path",
@ -46,7 +47,8 @@
"default_value": ".", "default_value": ".",
"user_viewable": false, "user_viewable": false,
"user_editable": false, "user_editable": false,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Server Name", "name": "Server Name",
@ -55,7 +57,8 @@
"default_value": "Bedrock Dedicated Server", "default_value": "Bedrock Dedicated Server",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:50" "rules": "required|string|max:50",
"field_type": "text"
}, },
{ {
"name": "Gamemode", "name": "Gamemode",
@ -64,7 +67,8 @@
"default_value": "survival", "default_value": "survival",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:survival,creative,adventure" "rules": "required|string|in:survival,creative,adventure",
"field_type": "text"
}, },
{ {
"name": "Difficulty", "name": "Difficulty",
@ -73,7 +77,8 @@
"default_value": "easy", "default_value": "easy",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:peaceful,easy,normal,hard" "rules": "required|string|in:peaceful,easy,normal,hard",
"field_type": "text"
}, },
{ {
"name": "Allow cheats", "name": "Allow cheats",
@ -82,7 +87,8 @@
"default_value": "false", "default_value": "false",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:true,false" "rules": "required|string|in:true,false",
"field_type": "text"
} }
] ]
} }

View File

@ -1,26 +1,26 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-16T13:31:45-05:00", "exported_at": "2023-05-01T16:48:52+01:00",
"name": "Nukkit", "name": "Nukkit",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/cloudburstmc.org", "description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/cloudburstmc.org",
"features": null, "features": null,
"images": [ "docker_images": {
"quay.io\/pterodactyl\/core:java-glibc", "quay.io\/pterodactyl\/core:java-glibc": "quay.io\/pterodactyl\/core:java-glibc",
"ghcr.io\/pterodactyl\/yolks:java_11", "ghcr.io\/pterodactyl\/yolks:java_11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16", "ghcr.io\/pterodactyl\/yolks:java_16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_8", "ghcr.io\/pterodactyl\/yolks:java_8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_17" "ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
], },
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": { "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}", "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}", "startup": "{\r\n \"done\": \")! \"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "stop" "stop": "stop"
}, },
@ -39,7 +39,8 @@
"default_value": "server.jar", "default_value": "server.jar",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
}, },
{ {
"name": "Download Path", "name": "Download Path",
@ -48,7 +49,8 @@
"default_value": "", "default_value": "",
"user_viewable": false, "user_viewable": false,
"user_editable": false, "user_editable": false,
"rules": "nullable|string" "rules": "nullable|string",
"field_type": "text"
}, },
{ {
"name": "nukkit version", "name": "nukkit version",
@ -57,7 +59,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
} }
] ]
} }

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-07-28T19:04:48+02:00", "exported_at": "2023-06-02T19:34:57+02:00",
"name": "PocketmineMP", "name": "PocketmineMP",
"author": "info@swisscrafting.ch", "author": "info@swisscrafting.ch",
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)", "description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
@ -16,27 +16,27 @@
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi", "startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi",
"config": { "config": {
"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}", "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}", "startup": "{\r\n \"done\": \")! \"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "stop" "stop": "stop"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n\r\n\r\napt update\r\napt install -y git curl wget jq file tar unzip zip\r\n\r\ncd \/mnt\/server\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n\r\n# Restrict versions to latest pm3 and pm4 for now.\r\nif [[ \"${VERSION}\" == \"pm4\" ]] || [[ \"${VERSION}\" == \"\" ]]; then\r\n DOWNLOAD_LINK=$(curl -ssL https:\/\/update.pmmp.io\/api?channel=stable | grep 'download_url' | cut -d '\"' -f 4)\r\n echo -e \"Downloading latest PocketMine 4 from ${DOWNLOAD_LINK}\"\r\n curl -ssL \"${DOWNLOAD_LINK}\" -o PocketMine-MP.phar\r\nelif [[ \"${VERSION}\" == \"pm3\" ]]; then\r\n DOWNLOAD_LINK=$(curl -ssL https:\/\/update.pmmp.io\/api?channel=pm3 | grep 'download_url' | cut -d '\"' -f 4)\r\n echo -e \"Downloading latest PocketMine 3 from ${DOWNLOAD_LINK}\"\r\n curl -ssL \"${DOWNLOAD_LINK}\" -o PocketMine-MP.phar\r\nelse\r\n echo -e \"Unknown version ${VERSION}\"\r\n exit 1\r\nfi\r\n\r\n\r\n\r\nif [[ \"${ARCH}\" == \"amd64\" ]]; then\r\necho -e \"\\n downloading latest php build from PocketMine https:\/\/jenkins.pmmp.io\/job\/PHP-8.0-Aggregate\/lastStableBuild\/artifact\/PHP-8.0-Linux-x86_64.tar.gz\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-8.0-Aggregate\/lastStableBuild\/artifact\/PHP-8.0-Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n unpacking php binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing php packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n configuring PHP extensions library directory\"\r\nEXTENSION_DIR=$(find \"bin\" -name *debug-zts*)\r\ngrep -q '^extension_dir' bin\/php7\/bin\/php.ini && sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\r\nelse\r\napt install -y libtool-bin libtool make autoconf automake m4 gzip bzip2 bison g++ git cmake pkg-config re2c\r\n\r\nwget https:\/\/raw.githubusercontent.com\/pmmp\/php-build-scripts\/stable\/compile.sh -O compile.sh \r\nchmod +x compile.sh\r\n\r\necho \"please wait, this will take some time\"\r\n.\/compile.sh\r\nrm compile.sh\r\nrm -rf install_data\/\r\n\r\necho -e \"\\n configuring PHP extensions library directory\"\r\nEXTENSION_DIR=$(find \"bin\" -name *debug-zts*)\r\ngrep -q '^extension_dir' bin\/php7\/bin\/php.ini && sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\r\n\r\nfi\r\n\r\n\r\nif [[ ! -f server.properties ]]; then\r\n echo -e \"\\n downloading default server.properties\"\r\n curl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/pocketmine_mp\/server.properties >server.properties\r\nfi\r\n\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs\r\n\r\necho -e \"\\n\\nInstall script completed. Enjoy!\"", "script": "#!\/bin\/bash\r\n\r\napt-get update\r\napt-get install -y git curl wget jq file tar unzip zip\r\n\r\nmkdir -p \/mnt\/server\/ # Not required. Only here for parkervcp's local test setup\r\n\r\ncd \/mnt\/server || exit 1\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && printf \"amd64\" || printf \"arm64\")\r\n\r\n# Shouldn't be possible to be empty, but default to PM5 if it is and convert to uppercase\r\nVERSION=\"${VERSION:-PM5}\"\r\nVERSION=\"${VERSION^^}\"\r\n\r\n# Helper functions\r\n\r\ndownload_php_binary() {\r\n printf \"Downloading latest PHP %s binary for %s\\n\" \"$REQUIRED_PHP_VERSION\" \"$VERSION\"\r\n curl --location --progress-bar https:\/\/github.com\/pmmp\/PHP-Binaries\/releases\/download\/php-\"$REQUIRED_PHP_VERSION\"-latest\/PHP-Linux-x86_64-\"$VERSION\".tar.gz | tar -xzv\r\n}\r\n\r\nset_php_extension_dir() {\r\n printf \"Configuring php.ini\\n\"\r\n EXTENSION_DIR=$(find \"bin\" -name '*debug-zts*')\r\n grep -q '^extension_dir' bin\/php7\/bin\/php.ini && sed -i'bak' \"s{^extension_dir=.*{extension_dir=\\\"$EXTENSION_DIR\\\"{\" bin\/php7\/bin\/php.ini || echo \"extension_dir=\\\"$EXTENSION_DIR\\\"\" >>bin\/php7\/bin\/php.ini\r\n}\r\n\r\ndownload_pmmp() {\r\n DOWNLOAD_LINK=$(curl -sSL https:\/\/update.pmmp.io\/api?channel=\"$API_CHANNEL\" | jq -r '.download_url')\r\n printf \"Downloading %s from %s\\n\" \"$VERSION\" \"${DOWNLOAD_LINK}\"\r\n curl --location --progress-bar \"${DOWNLOAD_LINK}\" --output PocketMine-MP.phar\r\n}\r\n\r\n# We have to convert VERSION into an API channel\r\nif [[ \"${VERSION}\" == \"PM4\" ]]; then\r\n API_CHANNEL=\"4\"\r\n\r\nelif [[ \"${VERSION}\" == \"PM5\" ]]; then\r\n API_CHANNEL=\"stable\"\r\nelse\r\n printf \"Unsupported version: %s\" \"${VERSION}\"\r\n exit 1\r\nfi\r\n\r\nREQUIRED_PHP_VERSION=$(curl -sSL https:\/\/update.pmmp.io\/api?channel=\"$API_CHANNEL\" | jq -r '.php_version')\r\n\r\nif [[ \"${ARCH}\" == \"amd64\" ]]; then\r\n download_php_binary\r\n\r\n# There are no ARM64 PHP binaries yet, so we have to compile them\r\nelse\r\n apt install -y make autoconf automake m4 bzip2 bison g++ cmake pkg-config re2c libtool-bin\r\n \r\n mkdir -p \/mnt\/server\/build_cache\/archives\r\n mkdir -p \/mnt\/server\/build_cache\/compilation\r\n \r\n # Each PHP version has its own compile script, so we have to download the correct one\r\n echo \"running curl --location --progress-bar --remote-name https:\/\/raw.githubusercontent.com\/pmmp\/PHP-Binaries\/php\/\"$REQUIRED_PHP_VERSION\"\/compile.sh\"\r\n curl --location --progress-bar --remote-name https:\/\/raw.githubusercontent.com\/pmmp\/PHP-Binaries\/php\/\"$REQUIRED_PHP_VERSION\"\/compile.sh\r\n chmod +x compile.sh\r\n\r\n cat <<EOF\r\n----------------------------------------\r\n| |\r\n| Compiling PHP Binary for ARM64 |\r\n| |\r\n| This is a time consuming process |\r\n----------------------------------------\r\nEOF\r\n\r\n printf \"\\n\\nCompiling PHP binary, this is a slow process and will take time\\n\"\r\n THREADS=$(grep -c ^processor \/proc\/cpuinfo) || THREADS=1\r\n .\/compile.sh -j \"${THREADS}\" -c \/mnt\/server\/build_cache\/archives -l \/mnt\/server\/build_cache\/compilation -P ${VERSION:2}\r\n rm compile.sh\r\n rm -rf install_data\/\r\n\r\nfi\r\n\r\n# Steps below are the same for both architectures\r\ndownload_pmmp\r\nset_php_extension_dir || exit 1\r\n\r\nif [[ ! -f server.properties ]]; then\r\n printf \"Downloading default server.properties template\\n\"\r\n curl --location --progress-bar --remote-name https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/pocketmine_mp\/server.properties\r\nfi\r\n\r\nprintf \"Creating default file and folder structure\\n\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs\r\n\r\ncat <<EOF\r\n----------------------------------------\r\n| |\r\n| PocketMine-MP Installation Done |\r\n| |\r\n----------------------------------------\r\nEOF",
"container": "ghcr.io\/pterodactyl\/installers:debian", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
"variables": [ "variables": [
{ {
"name": "Version to install [pm3 or pm4]", "name": "Version to install",
"description": "Latest PocketMine version to install. Valid options: pm3 and pm4", "description": "Latest PocketMine version to install.",
"env_variable": "VERSION", "env_variable": "VERSION",
"default_value": "pm4", "default_value": "PM5",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|in:pm3,pm4", "rules": "required|string|in:PM5,PM4",
"field_type": "text" "field_type": "text"
} }
] ]
} }

View File

@ -13,7 +13,7 @@ Purpur-GeyserMC-Floodgate is a drop-in replacement for Paper servers designed fo
The minecraft server requires a single port for access (default 25565). GeyserMC requires an additional port (default 19132). Any other plugins you add may require extra ports to enabled for the server. The minecraft server requires a single port for access (default 25565). GeyserMC requires an additional port (default 19132). Any other plugins you add may require extra ports to enabled for the server.
| Port | default | | Port | default | Protocol |
|----------|---------| |----------|---------|----------|
| Java | 25565 | | Java | 25565 | TCP |
| Bedrock | 19132 | | Bedrock | 19132 | UDP |

View File

@ -32,7 +32,7 @@ This is a direct fork of the default forge service
- Has a version detection fix for "latest" - Has a version detection fix for "latest"
### [CurseForge Generic](forge/curseforge-generic) ### [CurseForge Generic](curseforge)
[CurseForge Generic Website](https://www.curseforge.com) [CurseForge Generic Website](https://www.curseforge.com)
A generic service to pull forge mod packs from the curseforge site. A generic service to pull forge mod packs from the curseforge site.
@ -46,6 +46,13 @@ Glowstone is an open-source replacement for CraftBukkit, Spigot, and Paper.
[Magma Website](https://magmafoundation.org) [Magma Website](https://magmafoundation.org)
Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability. Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.
### [Modrinth](modrinth)
A generic service to pull modpacks from Modrinth.
[Modrinth Website](https://modrinth.com)
Discover, play, and share Minecraft content through our open-source platform built for the community.
### [Krypton](krypton) ### [Krypton](krypton)
[Krypton GitHub](https://github.com/KryptonMC/Krypton) [Krypton GitHub](https://github.com/KryptonMC/Krypton)
@ -88,6 +95,15 @@ Please restart the server after first launch to fix this.**
[NanoLimbo GitHub](https://github.com/Nan1t/NanoLimbo) [NanoLimbo GitHub](https://github.com/Nan1t/NanoLimbo)
A lightweight minecraft limbo server, written on Java with Netty. The main goal of the project is maximum simplicity with a minimum number of sent and processed packets. A lightweight minecraft limbo server, written on Java with Netty. The main goal of the project is maximum simplicity with a minimum number of sent and processed packets.
## [Limbo](limbo)
[Limbo GitHub](https://github.com/LOOHP/Limbo)
Standalone server program Limbo.
## [Quilt](quilt)
[Quilt Website](https://quiltmc.org/)
The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with an open ecosystem.
## Spigot Based ## Spigot Based
A collection of spigot and forked spigot eggs. A collection of spigot and forked spigot eggs.
@ -98,6 +114,12 @@ A collection of spigot and forked spigot eggs.
High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
Currently the default on pterodactyl for many reasons. First being that you don't need to build the jar. Currently the default on pterodactyl for many reasons. First being that you don't need to build the jar.
### [Folia](folia)
[Folia GitHub](https://github.com/PaperMC/Folia)
High performance Fork of Paper which adds regionised multithreading to the dedicated server. designed for many players.
Spigot Plugins are not compatible with this fork. unless they are optimised for Folia.
### [Purpur](purpur) ### [Purpur](purpur)
[Purpur Website](https://purpurmc.org/) [Purpur Website](https://purpurmc.org/)

View File

@ -0,0 +1,23 @@
# CurseForge Generic
## This is a generic egg for CurseForge modpacks
You will need to give it a modpack project ID. The project ID for [All the Mods 8 - ATM8](https://www.curseforge.com/minecraft/modpacks/all-the-mods-8) is `520914` for example.
This can be found on the modpack page in the `About Project` section in the right sidebar.
You can also optionally specify a file ID. If you do not specify a file ID, the latest version will be used.
The file ID for the server pack for [All the Mods 8 - ATM8](https://www.curseforge.com/minecraft/modpacks/all-the-mods-8) version `1.0.17` is `4504876` for example.
This can be found on the modpack page by clicking the wanted file and copying the id at the end of the URL (the number after `/files/`).
The script will automatically setup of Forge, Fabric, or Quilt depending on the modpack.
You *must* specify a CurseForge API key.
You can find out how to get an API key [here](https://support.curseforge.com/en/support/solutions/articles/9000208346-about-the-curseforge-api-and-how-to-apply-for-a-key)
## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
| Port | default |
|-------|---------|
| Game | 25565 |

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-09T13:31:08-05:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Fabric", "name": "Fabric",
"author": "accounts@bofanodes.io", "author": "accounts@bofanodes.io",
"description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.", "description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.",
@ -13,12 +13,13 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_17", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_8" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": { "config": {
@ -29,7 +30,7 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n# Enable snapshots\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== true )|.version' | head -n1)\r\nelif [ \"$MC_VERSION\" == \"snapshot\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== false )|.version' | head -n1)\r\nfi\r\n\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\n FABRIC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/installer | jq -r '.[0].version')\r\nfi\r\n\r\nif [ -z \"$LOADER_VERSION\" ] || [ \"$LOADER_VERSION\" == \"latest\" ]; then\r\n LOADER_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/loader | jq -r '.[] | select(.stable== true )|.version' | head -n1)\r\nelif [ \"$LOADER_VERSION\" == \"snapshot\" ]; then\r\n LOADER_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/loader | jq -r '.[] | select(.stable== false )|.version' | head -n1)\r\nfi\r\n\r\nwget -O fabric-installer.jar https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\njava -jar fabric-installer.jar server -mcversion $MC_VERSION -loader $LOADER_VERSION -downloadMinecraft\r\necho -e \"Install Complete\"", "script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n# Enable snapshots\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== true )|.version' | head -n1)\r\nelif [ \"$MC_VERSION\" == \"snapshot\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== false )|.version' | head -n1)\r\nfi\r\n\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\n FABRIC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/installer | jq -r '.[0].version')\r\nfi\r\n\r\nif [ -z \"$LOADER_VERSION\" ] || [ \"$LOADER_VERSION\" == \"latest\" ]; then\r\n LOADER_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/loader | jq -r '.[] | select(.stable== true )|.version' | head -n1)\r\nelif [ \"$LOADER_VERSION\" == \"snapshot\" ]; then\r\n LOADER_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/loader | jq -r '.[] | select(.stable== false )|.version' | head -n1)\r\nfi\r\n\r\nwget -O fabric-installer.jar https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\njava -jar fabric-installer.jar server -mcversion $MC_VERSION -loader $LOADER_VERSION -downloadMinecraft\r\nmv server.jar minecraft-server.jar\r\nmv fabric-server-launch.jar server.jar\r\necho \"serverJar=minecraft-server.jar\" > fabric-server-launcher.properties\r\necho -e \"Install Complete\"",
"container": "openjdk:11-jdk-slim", "container": "openjdk:11-jdk-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -39,10 +40,11 @@
"name": "Server Jar File", "name": "Server Jar File",
"description": "The name of the server jarfile to run the server with.", "description": "The name of the server jarfile to run the server with.",
"env_variable": "SERVER_JARFILE", "env_variable": "SERVER_JARFILE",
"default_value": "fabric-server-launch.jar", "default_value": "server.jar",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
}, },
{ {
"name": "Minecraft Version", "name": "Minecraft Version",
@ -51,7 +53,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|between:3,15" "rules": "required|string|between:3,15",
"field_type": "text"
}, },
{ {
"name": "Fabric Version", "name": "Fabric Version",
@ -60,7 +63,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|between:3,15" "rules": "required|string|between:3,15",
"field_type": "text"
}, },
{ {
"name": "Fabric Loader Version", "name": "Fabric Loader Version",
@ -69,7 +73,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|between:3,15" "rules": "required|string|between:3,15",
"field_type": "text"
} }
] ]
} }

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-11-26T00:03:20+00:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Feather", "name": "Feather",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "An experimental Minecraft server implementation written in Rust.", "description": "An experimental Minecraft server implementation written in Rust.",

View File

@ -0,0 +1,13 @@
# Folia
Fork of Paper which adds regionised multithreading to the dedicated server.
Check out the [Folia Website](https://papermc.io/) for more information.
## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
| Port | default |
|-------|---------|
| Game | 25565 |

View File

@ -0,0 +1,77 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-07-24T16:49:48+02:00",
"name": "Folia",
"author": "Hosting@NeverStopGaming.net",
"description": "Fork of Paper which adds regionised multithreading to the dedicated server.",
"features": [
"eula",
"java_version",
"pid_limit"
],
"docker_images": {
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [],
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"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\/ash\r\n# Folia Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=folia\r\n\r\nif [ -n \"${DL_PATH}\" ]; then\r\n\techo -e \"Using supplied download url: ${DL_PATH}\"\r\n\tDOWNLOAD_URL=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\nelse\r\n\tVER_EXISTS=`curl -s https:\/\/api.papermc.io\/v2\/projects\/${PROJECT} | jq -r --arg VERSION $MINECRAFT_VERSION '.versions[] | contains($VERSION)' | grep -m1 true`\r\n\tLATEST_VERSION=`curl -s https:\/\/api.papermc.io\/v2\/projects\/${PROJECT} | jq -r '.versions' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${VER_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Version is valid. Using version ${MINECRAFT_VERSION}\"\r\n\telse\r\n\t\techo -e \"Specified version not found. Defaulting to the latest ${PROJECT} version\"\r\n\t\tMINECRAFT_VERSION=${LATEST_VERSION}\r\n\tfi\r\n\r\n\tBUILD_EXISTS=`curl -s https:\/\/api.papermc.io\/v2\/projects\/${PROJECT}\/versions\/${MINECRAFT_VERSION} | jq -r --arg BUILD ${BUILD_NUMBER} '.builds[] | tostring | contains($BUILD)' | grep -m1 true`\r\n\tLATEST_BUILD=`curl -s https:\/\/api.papermc.io\/v2\/projects\/${PROJECT}\/versions\/${MINECRAFT_VERSION} | jq -r '.builds' | jq -r '.[-1]'`\r\n\r\n\tif [ \"${BUILD_EXISTS}\" == \"true\" ]; then\r\n\t\techo -e \"Build is valid for version ${MINECRAFT_VERSION}. Using build ${BUILD_NUMBER}\"\r\n\telse\r\n\t\techo -e \"Using the latest ${PROJECT} build for version ${MINECRAFT_VERSION}\"\r\n\t\tBUILD_NUMBER=${LATEST_BUILD}\r\n\tfi\r\n\r\n\tJAR_NAME=${PROJECT}-${MINECRAFT_VERSION}-${BUILD_NUMBER}.jar\r\n\r\n\techo \"Version being downloaded\"\r\n\techo -e \"MC Version: ${MINECRAFT_VERSION}\"\r\n\techo -e \"Build: ${BUILD_NUMBER}\"\r\n\techo -e \"JAR Name of Build: ${JAR_NAME}\"\r\n\tDOWNLOAD_URL=https:\/\/api.papermc.io\/v2\/projects\/${PROJECT}\/versions\/${MINECRAFT_VERSION}\/builds\/${BUILD_NUMBER}\/downloads\/${JAR_NAME}\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\necho -e \"Running curl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\"\r\n\r\nif [ -f ${SERVER_JARFILE} ]; then\r\n\tmv ${SERVER_JARFILE} ${SERVER_JARFILE}.old\r\nfi\r\n\r\ncurl -o ${SERVER_JARFILE} ${DOWNLOAD_URL}\r\n\r\nif [ ! -f server.properties ]; then\r\n echo -e \"Downloading MC server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/java\/server.properties\r\nfi",
"container": "ghcr.io\/pterodactyl\/installers:alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Minecraft Version",
"description": "The version of minecraft to download. \r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.",
"env_variable": "MINECRAFT_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"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 a server.jar rather than the ones in the install script. This is not user viewable.",
"env_variable": "DL_PATH",
"default_value": "",
"user_viewable": false,
"user_editable": false,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Build Number",
"description": "The build number for the folia release.\r\n\r\nLeave at latest to always get the latest version. Invalid versions will default to latest.",
"env_variable": "BUILD_NUMBER",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}

View File

@ -1,24 +0,0 @@
# Forge Generic
## This is a generic egg for curseforge modpacks
You will need to give it a modpack ID. The ID for BOFA mods is `375152` for example.
This can be found on the modpack page in the `About Project` section in the upper right corner.
This will grab the latest release when the version is set to latest.
It "should" grab versions of the pack based on the modpack version numbers
## API Keys
You will need to get an API key to run the installer now. Make an account at https://console.curseforge.com/
https://console.curseforge.com/#/api-keys
## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
| Port | default |
|-------|---------|
| Game | 25565 |

File diff suppressed because one or more lines are too long

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-10-31T16:27:58+01:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Forge Enhanced", "name": "Forge Enhanced",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.", "description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.",
@ -14,10 +14,11 @@
"pid_limit" "pid_limit"
], ],
"docker_images": { "docker_images": {
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8" "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
}, },
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s \"-jar {{SERVER_JARFILE}}\" || printf %s \"@unix_args.txt\" )", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s \"-jar {{SERVER_JARFILE}}\" || printf %s \"@unix_args.txt\" )",

View File

@ -24,6 +24,9 @@ The second method requires you to know the id for both the modpack and version i
may not get updated with the correct ip address and port at first launch. may not get updated with the correct ip address and port at first launch.
Please restart the server after first launch to fix this.** Please restart the server after first launch to fix this.**
## Neoforged
If you have trouble using an neoforge pack, make sure to select the latest java.
## Server Ports ## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server. The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-06-14T21:28:54+03:00", "exported_at": "2023-10-27T00:29:03+02:00",
"name": "FTB-modpacks.ch Server", "name": "FTB-modpacks.ch Server",
"author": "runemaster580@gmail.com", "author": "runemaster580@gmail.com",
"description": "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this.", "description": "Since the release of the FTB APP, FTB modpacks are now distributed through modpacks.ch. This egg was developed for support for modpacks that are distributed through this.",
@ -13,23 +13,24 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_17" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar forge-server.jar", "startup": "java -javaagent:log4jfix\/Log4jPatcher-1.0.0.jar -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true $( [[ ! -f unix_args.txt ]] && printf %s \"-jar start-server.jar\" || printf %s \"@unix_args.txt\" )",
"config": { "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}", "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}", "startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}", "logs": "{}",
"stop": "stop" "stop": "stop"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq dos2unix\r\n}\r\n\r\n\r\nfunction get_download {\r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ \"${FTB_SEARCH_TERM}\" != \"\" ]; then\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=${FTB_SEARCH_TERM})\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ \"${FTB_VERSION_STRING}\" != \"\" ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n \r\n echo -e \"ID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID}\"\r\n \r\n cd \/mnt\/server\r\n \r\n curl https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID}\/${FTB_MODPACK_VERSION_ID}\/server\/linux --output serversetup\r\n chmod +x .\/serversetup\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto\r\n}\r\n\r\nfunction cleanup {\r\n rm -rf serversetup\r\n mv forge-*.jar forge-server.jar\r\n}\r\n\r\ninstall_required\r\nget_download\r\ncleanup", "script": "#!\/bin\/bash\r\n# FTB Pack Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\ncd \/mnt\/server\r\n\r\n\r\n# Download needed software.\r\nfunction install_required {\r\n apt update\r\n apt install -y curl jq\r\n}\r\n\r\nfunction get_modpack_id {\r\n urlencode() {\r\n local string=\"${1\/\/ \/%20}\"\r\n echo \"$string\"\r\n }\r\n \r\n # if no modpack id is set and modpack search term is set.\r\n if [ -z ${FTB_MODPACK_ID} ] && [ ! -z \"${FTB_SEARCH_TERM}\" ]; then\r\n encoded_search_term=$(urlencode \"$FTB_SEARCH_TERM\")\r\n JSON_DATA=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/search\/8?term=\"${encoded_search_term}\")\r\n \r\n # grabs the first modpack in array.\r\n FTB_MODPACK_ID=$(echo -e ${JSON_DATA} | jq -r \".packs[0]\")\r\n fi\r\n \r\n if [ -z ${FTB_MODPACK_VERSION_ID} ] && [ ! -z ${FTB_VERSION_STRING} ]; then\r\n # grabs the correct version id matching the string.\r\n FTB_MODPACK_VERSION_ID=$(curl -sSL https:\/\/api.modpacks.ch\/public\/modpack\/${FTB_MODPACK_ID} | jq -r --arg VSTRING ${FTB_VERSION_STRING} '.versions[] | select(.name == $VSTRING) | .id')\r\n fi\r\n}\r\n\r\nfunction run_installer {\r\n # get architecture for installer\r\n INSTALLER_TYPE=$([ \"$(uname -m)\" == \"x86_64\" ] && echo \"linux\" || echo \"arm\/linux\")\r\n echo \"ModpackID: ${FTB_MODPACK_ID} VersionID: ${FTB_MODPACK_VERSION_ID} InstallerType: ${INSTALLER_TYPE}\"\r\n\r\n # download installer\r\n curl -L https:\/\/api.modpacks.ch\/public\/modpack\/0\/0\/server\/${INSTALLER_TYPE} --output serversetup\r\n chmod +x .\/serversetup\r\n \r\n # remove old forge files (to allow updating)\r\n rm -rf libraries\/net\/minecraftforge\/forge\r\n rm -rf libraries\/net\/neoforged\/forge\r\n rm -f unix_args.txt\r\n \r\n # run installer\r\n .\/serversetup ${FTB_MODPACK_ID} ${FTB_MODPACK_VERSION_ID} --auto --noscript --nojava\r\n}\r\n\r\n# allows startup command to work\r\nfunction move_startup_files {\r\n # create symlink for forge unix_args.txt if exists\r\n if compgen -G \"libraries\/net\/minecraftforge\/forge\/*\/unix_args.txt\"; then\r\n ln -sf libraries\/net\/minecraftforge\/forge\/*\/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # create symlink for neoforge unix_args.txt if exists\r\n if compgen -G \"libraries\/net\/neoforged\/forge\/*\/unix_args.txt\"; then\r\n ln -sf libraries\/net\/neoforged\/forge\/*\/unix_args.txt unix_args.txt\r\n fi\r\n \r\n # move forge\/neoforge\/fabric jar file to start-server.jar if exists\r\n if compgen -G \"forge-*.jar\"; then\r\n mv -f forge-*.jar start-server.jar\r\n elif compgen -G \"fabric-*.jar\"; then\r\n mv -f fabric-*.jar start-server.jar\r\n fi\r\n}\r\n\r\n# installer cleanup\r\nfunction installer_cleanup {\r\n rm serversetup\r\n rm -f run.bat\r\n rm -f run.sh\r\n}\r\n\r\n# run installation steps\r\ninstall_required\r\nget_modpack_id\r\nrun_installer\r\nmove_startup_files\r\ninstaller_cleanup\r\n\r\necho \"Finished installing FTB modpack\"",
"container": "openjdk:8-jdk-slim", "container": "openjdk:8-jdk-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
@ -42,7 +43,8 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:99|min:4" "rules": "nullable|string",
"field_type": "text"
}, },
{ {
"name": "FTB modpack ID", "name": "FTB modpack ID",
@ -51,7 +53,8 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:20" "rules": "nullable|integer",
"field_type": "text"
}, },
{ {
"name": "FTB Pack Version", "name": "FTB Pack Version",
@ -60,7 +63,8 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:20" "rules": "nullable|string",
"field_type": "text"
}, },
{ {
"name": "FTB Pack Version ID", "name": "FTB Pack Version ID",
@ -69,7 +73,8 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:20" "rules": "nullable|integer",
"field_type": "text"
} }
] ]
} }

View File

@ -1,20 +1,21 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-01-07T15:15:07-05:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Glowstone", "name": "Glowstone",
"author": "support@pterodactyl.io", "author": "support@pterodactyl.io",
"description": "Glowstone is an open-source server implementation for Minecraft: Java Edition 1.12.2 and up.", "description": "Glowstone is an open-source server implementation for Minecraft: Java Edition 1.12.2 and up.",
"features": null, "features": null,
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_17" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms768M -Xmx{{SERVER_MEMORY}}M -XX:+UseG1GC -jar {{SERVER_JARFILE}}", "startup": "java -Xms768M -Xmx{{SERVER_MEMORY}}M -XX:+UseG1GC -jar {{SERVER_JARFILE}}",
"config": { "config": {

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-05-09T06:18:25-04:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Krypton", "name": "Krypton",
"author": "callum.seabrook@prevarinite.com", "author": "callum.seabrook@prevarinite.com",
"description": "A fast, lightweight Minecraft server written in Kotlin", "description": "A fast, lightweight Minecraft server written in Kotlin",
@ -13,12 +13,13 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_17" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": "", "file_denylist": "",
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JAR}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JAR}}",
"config": { "config": {

View File

@ -0,0 +1,13 @@
# Limbo
Standalone server program Limbo.
[Limbo Github](https://github.com/LOOHP/Limbo)
## Server Ports
The Limbo server requires a single port for access (default 25565).
| Port | default |
|-------|---------|
| Game | 25565 |

View 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": "2023-05-17T23:20:29+01:00",
"name": "Limbo",
"author": "xEfinax@protonmail.com",
"description": "Standalone server program Limbo.",
"features": null,
"docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
},
"file_denylist": [],
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -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 \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Limbo server listening on \"\r\n}",
"logs": "{}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/ash\r\n# Limbo Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nmkdir -p \/mnt\/server\r\n\r\nLATEST_LIMBO_NAME=$(curl -s https:\/\/ci.loohpjames.com\/job\/Limbo\/lastSuccessfulBuild\/api\/json | jq -r .artifacts[1].displayPath)\r\n\r\ncd \/mnt\/server || exit\r\n\r\nif [ -f \"${SERVER_JARFILE}\" ]; then\r\n\tmv \"${SERVER_JARFILE}\" \"${SERVER_JARFILE}\".old\r\nfi\r\n\r\necho \"Downloading Limbo server jar...\"\r\ncurl -o \"${SERVER_JARFILE}\" https:\/\/ci.loohpjames.com\/job\/Limbo\/lastSuccessfulBuild\/artifact\/target\/$LATEST_LIMBO_NAME\r\n\r\nif [ ! -f server.properties ]; then\r\n echo \"Downloading Limbo server.properties\"\r\n curl -o server.properties https:\/\/raw.githubusercontent.com\/LOOHP\/Limbo\/master\/src\/main\/resources\/server.properties\r\nfi",
"container": "ghcr.io\/pterodactyl\/installers:alpine",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Server Jar File",
"description": "The name of the server jarfile to run the Limbo server with.",
"env_variable": "SERVER_JARFILE",
"default_value": "Limbo.jar",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
}
]
}

View File

@ -4,7 +4,7 @@
"version": "PTDL_v2", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-09-28T18:19:11+00:00", "exported_at": "2023-07-29T17:46:23+02:00",
"name": "Magma", "name": "Magma",
"author": "support@pterodactyl.io", "author": "support@pterodactyl.io",
"description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.", "description": "Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.",
@ -14,10 +14,11 @@
"pid_limit" "pid_limit"
], ],
"docker_images": { "docker_images": {
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8" "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
}, },
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
@ -29,8 +30,8 @@
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "apt update\r\napt install -y curl jq\r\n\r\ncd \/mnt\/server\/\r\n\r\n# Hard coded latest version as the magma API doesn't have an endpoint to query for it\r\nLATEST_VERSION=\"1.18.2\"\r\n\r\n# Default TAG_VERSION if empty\r\nif [[ -z \"${TAG_VERSION}\" ]]; then\r\n TAG_VERSION=\"latest\"\r\nfi\r\n\r\n\r\nif [[ -z \"${MC_VERSION}\" ]] || [[ \"${MC_VERSION}\" == \"latest\" ]]; then\r\n echo -e \"Version not set. Defaulting to latest\"\r\n MC_VERSION=${LATEST_VERSION}\r\nfi\r\n\r\necho \"Attempting to install Magma - Version ${MC_VERSION} - Tag ${TAG_VERSION}\"\r\n\r\nif [[ \"${TAG_VERSION}\" == \"latest\" ]]; then\r\n # Didn't ask for a specific tag\r\n VERSION_JSON=$(curl --silent \"https:\/\/api.magmafoundation.org\/api\/v2\/${MC_VERSION}\/latest\")\r\nelse\r\n # Asked for a specific tag\r\n VERSION_JSON=$(curl --silent \"https:\/\/api.magmafoundation.org\/api\/v2\/${MC_VERSION}\/latest\/${TAG_VERSION}\")\r\nfi\r\n\r\nDOWNLOAD_LINK=$(echo ${VERSION_JSON} | jq -r .link)\r\necho \"Download Link: '${DOWNLOAD_LINK}'\"\r\n\r\n# Check we found a download link\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then\r\n \r\n # Validate that link works\r\n echo -e \"Validating download link\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_LINK}\r\n else\r\n echo -e \"Download URL ${DOWNLOAD_LINK} is invalid. Terminating install.\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"No download URL found. Terminating install.\"\r\n exit 2\r\nfi\r\n\r\n\r\n# Download server.jar\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} -sSL ${DOWNLOAD_LINK}\r\necho -e \"Install Complete\"", "script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl git jq\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n# Hard coded latest version as the magma API doesn't have an endpoint to query for it\r\nLATEST_VERSION=\"1.18.2\"\r\n\r\n# Default TAG_VERSION if empty\r\nif [[ -z \"${TAG_VERSION}\" ]]; then\r\n TAG_VERSION=\"latest\"\r\nfi\r\n\r\n\r\nif [[ -z \"${MC_VERSION}\" ]] || [[ \"${MC_VERSION}\" == \"latest\" ]]; then\r\n echo -e \"Version not set. Defaulting to latest\"\r\n MC_VERSION=${LATEST_VERSION}\r\nfi\r\n\r\necho \"Attempting to install Magma - Version ${MC_VERSION} - Tag ${TAG_VERSION}\"\r\n\r\nif [[ \"${TAG_VERSION}\" == \"latest\" ]]; then\r\n # Didn't ask for a specific tag\r\n VERSION_JSON=$(curl --silent \"https:\/\/api.magmafoundation.org\/api\/v2\/${MC_VERSION}\/latest\")\r\nelse\r\n # Asked for a specific tag\r\n VERSION_JSON=$(curl --silent \"https:\/\/api.magmafoundation.org\/api\/v2\/${MC_VERSION}\/latest\/${TAG_VERSION}\")\r\nfi\r\n\r\nDOWNLOAD_LINK=$(echo ${VERSION_JSON} | jq -r .link)\r\necho \"Download Link: '${DOWNLOAD_LINK}'\"\r\n\r\n# Check we found a download link\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then\r\n \r\n # Validate that link works\r\n echo -e \"Validating download link\"\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_LINK}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_LINK}\r\n else\r\n echo -e \"Download URL ${DOWNLOAD_LINK} is invalid. Terminating install.\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"No download URL found. Terminating install.\"\r\n exit 2\r\nfi\r\n\r\n\r\n# Download server.jar\r\necho -e \"running: curl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\"\r\ncurl -sSL -o ${SERVER_JARFILE} -sSL ${DOWNLOAD_LINK}\r\necho -e \"Install Complete\"",
"container": "ghcr.io\/parkervcp\/installers:debian", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -66,4 +67,4 @@
"field_type": "text" "field_type": "text"
} }
] ]
} }

View File

@ -0,0 +1,18 @@
# Modrinth Generic
## This is a generic egg for Modrinth modpacks
You will need to give it a modpack project ID. The project ID for [Extreme Optimization!](https://modrinth.com/modpack/extreme-optimization!) is `1oIpaoJo` for example.
This can be found on the modpack page in the `Technical information` section in the left sidebar.
You can also optionally specify a version ID. If you do not specify a version ID, the latest version will be used. The version ID for [Extreme Optimization!](https://modrinth.com/modpack/extreme-optimization!) version 1.12.2For2.0 is `SyMW2FDv` for example. This can be found on the modpack page by clicking the version number in the `Versions` section.
The script will automatically setup of Forge, Fabric, or Quilt depending on the modpack.
## Server Ports
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
| Port | default |
|-------|---------|
| Game | 25565 |

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-01-14T09:54:36+01:00", "exported_at": "2023-08-13T19:49:14+02:00",
"name": "Mohist", "name": "Mohist",
"author": "alex.chang-lam@protonmail.com", "author": "alex.chang-lam@protonmail.com",
"description": "Spigot fork with performance optimizations.", "description": "Spigot fork with performance optimizations.",
@ -13,24 +13,25 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8", "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_17" "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}} pause", "startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": { "config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}", "startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
"logs": "{}", "logs": "{}",
"stop": "stop" "stop": "stop"
}, },
"scripts": { "scripts": {
"installation": { "installation": {
"script": "#!\/bin\/bash\r\n# Mohist Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${BUILD_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_VERSION}\/download\r\nelse\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_TYPE}\/download\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\necho -e \"Downloading build version ${BUILD_VERSION}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"Download link is valid.\"\r\n else\r\n echo -e \"Link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -s -o server.jar -sS ${DOWNLOAD_LINK}\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/server.jar ]; then\r\n echo \"!!! Error downloading build version ${BUILD_VERSION} !!!\"\r\n exit\r\nfi", "script": "#!\/bin\/bash\r\n# Mohist Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y install curl\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir -p \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${BUILD_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/${BUILD_VERSION}\/download\r\nelse\r\n DOWNLOAD_LINK=https:\/\/mohistmc.com\/api\/${MC_VERSION}\/latest\/download\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\necho -e \"Downloading build version ${BUILD_VERSION}\"\r\n\r\ncurl -sSL -o ${SERVER_JARFILE} ${DOWNLOAD_LINK}\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/${SERVER_JARFILE} ]; then\r\n echo \"!!! Error downloading build version ${BUILD_VERSION} !!!\"\r\n exit\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "debian:buster-slim", "container": "debian:bullseye-slim",
"entrypoint": "bash" "entrypoint": "bash"
} }
}, },
@ -42,16 +43,18 @@
"default_value": "server.jar", "default_value": "server.jar",
"user_viewable": true, "user_viewable": true,
"user_editable": false, "user_editable": false,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Minecraft Version", "name": "Minecraft Version",
"description": "The version of Minecraft to download.", "description": "The version of Minecraft to download.",
"env_variable": "MC_VERSION", "env_variable": "MC_VERSION",
"default_value": "1.16.5", "default_value": "1.19.4",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Build Number", "name": "Build Number",
@ -60,16 +63,8 @@
"default_value": "", "default_value": "",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "nullable|string|max:20" "rules": "nullable|string|max:20",
}, "field_type": "text"
{
"name": "Build Type",
"description": "The type of server jar to download from Mohist.\r\n\r\nValid types are \"recommended\" and \"latest\".",
"env_variable": "BUILD_TYPE",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20"
} }
] ]
} }

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2022-05-21T10:48:18-04:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Paper", "name": "Paper",
"author": "parker@pterodactyl.io", "author": "parker@pterodactyl.io",
"description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.", "description": "High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies.",
@ -13,12 +13,13 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_17" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": { "config": {

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-18T19:20:26-05:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Purpur", "name": "Purpur",
"author": "purpur@birdflop.com", "author": "purpur@birdflop.com",
"description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.", "description": "A drop-in replacement for Paper servers designed for configurability, and new fun and exciting gameplay features.",
@ -13,14 +13,15 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_17", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_8" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}", "startup": "java --add-modules=jdk.incubator.vector -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
"config": { "config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}", "files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \"\r\n}", "startup": "{\r\n \"done\": \")! For help, type \"\r\n}",
@ -42,7 +43,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
}, },
{ {
"name": "Server Jar File", "name": "Server Jar File",
@ -51,7 +53,8 @@
"default_value": "server.jar", "default_value": "server.jar",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/|max:80" "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/|max:80",
"field_type": "text"
}, },
{ {
"name": "Build Number", "name": "Build Number",
@ -60,7 +63,8 @@
"default_value": "latest", "default_value": "latest",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string|max:20" "rules": "required|string|max:20",
"field_type": "text"
} }
] ]
} }

View File

@ -0,0 +1,29 @@
# Quilt
## From their [Website](https://quiltmc.org/)
## [Documentation](https://quiltmc.org/en/install/server/)
The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with an open ecosystem.
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | Minecraft probably supports everything? | - |
| RAM | 2GB | 5GB |
| Storage | 300MB | 10GB |
| Network | 3 Mbit/s | 7 Mbit/s |
| Game Ownership | The game is not required to run the server. | - |
## Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 25565 |
### Notes
25565 is the default port, but any port can be used.

View File

@ -0,0 +1,56 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-11-25T16:40:11+01:00",
"name": "Quilt",
"author": "diedyesterdaywashere@gmail.com",
"description": "The Quilt project is an open-source, community-driven modding toolchain designed primarily for Minecraft. By focusing on speed, ease of use and modularity, Quilt aims to provide a sleek and modern modding toolchain with an open ecosystem.",
"features": null,
"docker_images": {
"Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [],
"startup": "java -Xms128M -XX:MaxRAMPercentage=95.0 -jar {{SERVER_JARFILE}} nogui",
"config": {
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "stop"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Quilt Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nwget -O quilt.jar https:\/\/quiltmc.org\/api\/v1\/download-latest-installer\/java-universal\r\njava -jar quilt.jar \\\r\n install server $MC_VERSION \\\r\n --download-server\r\ncd \/mnt\/server\/server\r\nmv * \/mnt\/server\r\ncd ..\r\nrm quilt.jar\r\nrmdir \/mnt\/server\/server\r\nmv server.jar minecraft.jar\r\nmv quilt-server-launch.jar server.jar\r\necho \"serverJar=minecraft.jar\" > quilt-server-launcher.properties\r\necho -e \"Server is Ready!\"",
"container": "eclipse-temurin:18-jdk-jammy",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Minecraft Version",
"description": "Version of Minecraft that will be installed. You can only choose the exact version number, for example \"1.20.2\", \"latest\" won't work!",
"env_variable": "MC_VERSION",
"default_value": "1.20.2",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,15",
"field_type": "text"
},
{
"name": "Server Jar File",
"description": "The name of the jarfile that will be ran on server launch.",
"env_variable": "SERVER_JARFILE",
"default_value": "server.jar",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
}
]
}

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-09T13:30:38-05:00", "exported_at": "2023-05-17T23:20:29+01:00",
"name": "Spigot", "name": "Spigot",
"author": "support@pterodactyl.io", "author": "support@pterodactyl.io",
"description": "Spigot is the most widely-used modded Minecraft server software in the world. It powers many of the top Minecraft server networks around to ensure they can cope with their huge player base and ensure the satisfaction of their players. Spigot works by reducing and eliminating many causes of lag, as well as adding in handy features and settings that help make your job of server administration easier.", "description": "Spigot is the most widely-used modded Minecraft server software in the world. It powers many of the top Minecraft server networks around to ensure they can cope with their huge player base and ensure the satisfaction of their players. Spigot works by reducing and eliminating many causes of lag, as well as adding in handy features and settings that help make your job of server administration easier.",
@ -13,12 +13,13 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_17", "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_8" "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
], "Java 18": "ghcr.io\/pterodactyl\/yolks:java_18"
},
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": { "config": {

File diff suppressed because one or more lines are too long

View File

@ -1,10 +1,10 @@
{ {
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO", "_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": { "meta": {
"version": "PTDL_v1", "version": "PTDL_v2",
"update_url": null "update_url": null
}, },
"exported_at": "2021-12-09T13:30:32-05:00", "exported_at": "2023-11-16T17:37:38+00:00",
"name": "SpongeVanilla", "name": "SpongeVanilla",
"author": "parker@parkervcp.com", "author": "parker@parkervcp.com",
"description": "SpongeVanilla is the implementation of the Sponge API on top of Vanilla Minecraft.", "description": "SpongeVanilla is the implementation of the Sponge API on top of Vanilla Minecraft.",
@ -13,12 +13,12 @@
"java_version", "java_version",
"pid_limit" "pid_limit"
], ],
"images": [ "docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_17", "Java 17": "ghcr.io\/pterodactyl\/yolks:java_17",
"ghcr.io\/pterodactyl\/yolks:java_16", "Java 16": "ghcr.io\/pterodactyl\/yolks:java_16",
"ghcr.io\/pterodactyl\/yolks:java_11", "Java 11": "ghcr.io\/pterodactyl\/yolks:java_11",
"ghcr.io\/pterodactyl\/yolks:java_8" "Java 8": "ghcr.io\/pterodactyl\/yolks:java_8"
], },
"file_denylist": [], "file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}", "startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
"config": { "config": {
@ -42,7 +42,8 @@
"default_value": "recommended", "default_value": "recommended",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|string" "rules": "required|string",
"field_type": "text"
}, },
{ {
"name": "Server Jar File", "name": "Server Jar File",
@ -51,7 +52,8 @@
"default_value": "server.jar", "default_value": "server.jar",
"user_viewable": true, "user_viewable": true,
"user_editable": true, "user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/" "rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/",
"field_type": "text"
} }
] ]
} }

Some files were not shown because too many files have changed in this diff Show More