mirror of
https://github.com/parkervcp/eggs.git
synced 2026-06-13 09:43:38 +08:00
Compare commits
1 Commits
@@ -1,80 +0,0 @@
|
||||
name: 🐛 Bug Report
|
||||
description: Report an issue for an egg
|
||||
title: "[Bug]: "
|
||||
labels: [Bug]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
If you see any of the following, go to [Discord](https://discord.gg/pterodactyl) and report your error in a support channel.
|
||||
* `A fatal error was encountered while starting this server.`
|
||||
* `No server egg configuration could be located; aborting startup.`
|
||||
|
||||
Make sure there are no existing bug reports by searching the [repository issues](https://github.com/parkervcp/eggs/issues?q=is%3Aopen+is%3Aissue+label%3ABug).
|
||||
- type: input
|
||||
id: panel-version
|
||||
attributes:
|
||||
label: Panel Version
|
||||
description: Version number of your Panel (latest is not a version)
|
||||
placeholder: 1.x.x
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: wings-version
|
||||
attributes:
|
||||
label: Wings Version
|
||||
description: Version number of your Wings (latest is not a version)
|
||||
placeholder: 1.x.x
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: service
|
||||
attributes:
|
||||
label: Service
|
||||
description: Service you are experiencing issues with
|
||||
placeholder: minecraft/factorio/etc
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: modified
|
||||
attributes:
|
||||
label: Modified
|
||||
description: Did you add or change things, this includes startup configs/install scripts/variables
|
||||
options:
|
||||
- Yes, I modified the egg (will provide details below)
|
||||
- No, I did not modify the egg
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: expected-behavior
|
||||
attributes:
|
||||
label: Expected Behavior
|
||||
description: What did you expect to happen
|
||||
placeholder: Install the server, start it, play
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: actual-behavior
|
||||
attributes:
|
||||
label: Actual Behavior
|
||||
description: What actually happened instead
|
||||
placeholder: Server crashed with error X
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: reproduce-steps
|
||||
attributes:
|
||||
label: Steps To Reproduce
|
||||
description: Step by step what to do to cause the issue
|
||||
placeholder: |
|
||||
Step 1 Set version to latest
|
||||
Step 2 install
|
||||
Step 3 Receive error X or Y
|
||||
validations:
|
||||
required: true
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||
render: shell
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
name: "\U0001F41B Bug Report"
|
||||
about: Report an issue for an egg
|
||||
|
||||
---
|
||||
|
||||
Please fill out the information bellow and remove from the line up
|
||||
---------------
|
||||
Panel Version: (version number)
|
||||
Daemon Version: (version number)
|
||||
Service: (minecraft/factorio/etc)
|
||||
Modified: (yes/no) (did you add or change things, this includes startup configs/install scripts/variables)
|
||||
|
||||
Expected Behavior:
|
||||
|
||||
Actual Behavior:
|
||||
|
||||
Steps to Reproduce: (Step by step what to do to cause the issue)
|
||||
@@ -1,5 +0,0 @@
|
||||
blank_issues_enabled: false
|
||||
contact_links:
|
||||
- name: ❓ Discord
|
||||
url: https://discord.gg/pterodactyl
|
||||
about: Please visit our Discord for support with configuration issues.
|
||||
@@ -1,42 +0,0 @@
|
||||
name: 🥚 Egg Request
|
||||
description: Suggest a server to build an egg for
|
||||
title: "[Egg Request]: "
|
||||
labels: [Egg Request]
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
Make sure there are no existing egg requests by searching the [repository issues](https://github.com/parkervcp/eggs/issues?q=is%3Aissue+is%3Aopen+label%3A%22Egg+Request%22). Please understand how Pterodactyl works when you are requesting an egg. (ie. docker-compose doesn't work for a pterodactyl server)
|
||||
- type: dropdown
|
||||
id: expand
|
||||
attributes:
|
||||
label: Does this expand an already existing service
|
||||
options:
|
||||
- "Yes"
|
||||
- "No"
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: game-link
|
||||
attributes:
|
||||
label: Link to a game or software
|
||||
placeholder: minecraft.net/factorio.com/etc
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: download-link
|
||||
attributes:
|
||||
label: Links for the download
|
||||
description: This needs to be an official link and not one that is hosted on some forum page or a personal Github page.
|
||||
validations:
|
||||
required: true
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: instruction-link
|
||||
attributes:
|
||||
label: Links for the install docs
|
||||
description: Link to install instructions or documentation based on which the server can be created
|
||||
placeholder: Install the server, start it, play
|
||||
validations:
|
||||
required: true
|
||||
@@ -0,0 +1,15 @@
|
||||
Please fill out the information bellow and remove from the line up
|
||||
---------------
|
||||
Panel Version: (version number)
|
||||
Daemon Version: (version number)
|
||||
New Service: (yes/no) (Is this a request for a new service?)
|
||||
Service: (minecraft/factorio/etc)
|
||||
Modified: (yes/no) (did you add or change things, this includes startup configs/install scripts/variables)
|
||||
|
||||
Expected Behavior:
|
||||
|
||||
Actual Behavior:
|
||||
|
||||
Steps to Reproduce: (Step by step what to do to cause the issue)
|
||||
|
||||
If this is a request for a new service then you can add info here like links to the site where the server files can be found. If it is a steamcmd game have you looked at the custom source engine service yet?
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
name: "\U0001F3AE Game Request"
|
||||
about: Suggest a server to build an egg for
|
||||
|
||||
---
|
||||
|
||||
Please fill out the information bellow and remove from the line up
|
||||
---------------
|
||||
Service: (Ex. minecraft/factorio/etc)
|
||||
|
||||
Link to game: (Ex. minecraft.net/factorio.com/etc)
|
||||
@@ -0,0 +1,20 @@
|
||||
### All Submissions:
|
||||
|
||||
* [ ] Have you followed the guidelines in our Contributing document?
|
||||
* [ ] Have you checked to ensure there aren't other open [Pull Requests](../../pulls) for the same update/change?
|
||||
|
||||
<!-- You can erase any parts of this template not applicable to your Pull Request. -->
|
||||
|
||||
### New Feature Submissions:
|
||||
|
||||
1. [ ] Does your submission pass tests (server is connectable)?
|
||||
|
||||
### Changes to Egg Features:
|
||||
|
||||
* [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
|
||||
* [ ] Have you tested your Egg changes?
|
||||
|
||||
### Changes to README:
|
||||
|
||||
* [ ] Have you added the server to the main README.md?
|
||||
* [ ] Have you added a unique README.md for the server you are adding?
|
||||
@@ -1,22 +0,0 @@
|
||||
### All Submissions:
|
||||
|
||||
* [ ] Have you followed the guidelines in our Contributing document?
|
||||
* [ ] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change?
|
||||
* [ ] Did you branch your changes and PR from that branch and not from your master branch?
|
||||
* If not, why?:
|
||||
|
||||
<!-- You can erase any parts of this template not applicable to your Pull Request. -->
|
||||
|
||||
### New Server Submissions:
|
||||
|
||||
1. [ ] Does your submission pass tests (server is connectable)?
|
||||
2. [ ] Does your server use a custom docker image?
|
||||
* [ ] Have you tried to use a generic image?
|
||||
* [ ] Did you PR the necessary changes to make it work?
|
||||
3. [ ] Have you added the server to the main README.md?
|
||||
4. [ ] Have you added a unique README.md for the server you are adding?
|
||||
|
||||
### Changes to an existing Egg:
|
||||
|
||||
1. [ ] Have you added an explanation of what your changes do and why you'd like us to include them?
|
||||
2. [ ] Have you tested your Egg changes?
|
||||
@@ -1,4 +0,0 @@
|
||||
*.DS_Store
|
||||
node_modules/
|
||||
.vuepress/*
|
||||
.vscode
|
||||
@@ -0,0 +1 @@
|
||||
.DS_Store
|
||||
+10
-15
@@ -3,46 +3,41 @@
|
||||
## General rules
|
||||
|
||||
1. Keep it simple.
|
||||
We don't need 8 miles of install script.
|
||||
We don't need 8 miles of install script.
|
||||
|
||||
2. Keep it Small.
|
||||
Only use what is absolutely needed.
|
||||
Only use what is absolutely needed.
|
||||
|
||||
3. Try to stay in the stock containers.
|
||||
If you need something in a container, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where I can review and pull it up to the main repo. In addition, there is a larger quantity of [images here](https://github.com/parkervcp/images) for you to use that have not been migrated to Yolks yet.
|
||||
|
||||
4. 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.
|
||||
If you need something in a container PR it to [my image repo](https://github.com/parkervcp/images) where I can review and pull up to the main repo.
|
||||
|
||||
## Step 1.
|
||||
|
||||
#### Be aware of the pterodactyl install process.
|
||||
|
||||
The Pterodactyl install process is fairly simple once you know.
|
||||
|
||||
|
||||
1. Spin up install container
|
||||
This uses a volume mount on /mnt/server for the server files.
|
||||
This can pull or set up all that is needed to run the server.
|
||||
It is regularly used to just download the files required. Such as server files and configs.
|
||||
|
||||
|
||||
2. Stop install container
|
||||
|
||||
|
||||
3. Start a new container with the server files in /home/container
|
||||
This is where the server is actually run.
|
||||
Any dependencies installed during the install process are gone.
|
||||
The container that is started should have everything you need.
|
||||
|
||||
## Step 2.
|
||||
|
||||
#### Testing
|
||||
|
||||
Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo.
|
||||
|
||||
I will make suggestions and changes at will.
|
||||
I will make sugestions and changes at will.
|
||||
This is to maintain a clean repo that others can pull and be fully aware of what is being done.
|
||||
|
||||
|
||||
## Step 3.
|
||||
#### Don't be afraid to submit PR's to the egg repo.
|
||||
|
||||
#### Make a branch and do your work in there.
|
||||
|
||||
I have been getting messy PR's due to people always PRing from their master branch. Please make a seperate branch and PR from there.
|
||||
I dont bite. I will work with you on the egg and the required things to run it.
|
||||
|
||||
@@ -2,258 +2,65 @@
|
||||
|
||||
I am working on adding a large collection of public eggs for the Pterodactyl community.
|
||||
|
||||
With that I am also accepting PR's for new services and also updates to the current ones.
|
||||
With that I am also accepting PR's for new service and also updates to the current ones.
|
||||
|
||||
If you are submitting PR's try and keep names and titles the same.
|
||||
|
||||
## How to import an egg
|
||||
|
||||
If you are reading this it looks like you are looking to add an egg to your server.
|
||||
|
||||
1. Download any of the json files located in the folders below.
|
||||
1. It's easiest to right click the `raw` button and save as.
|
||||
2. In your panel go to the `Nests` section in the admin part of the panel
|
||||
3. Click the green `Import Egg` button
|
||||
4. Browse to the json file you saved earlier
|
||||
5. Select what nest you want to put the egg in.
|
||||
1. If you want a new nest you need to create it before importing the egg.
|
||||
|
||||
# You must restart your daemon after importing an egg if you are using 0.7. This is not required on 1.X.
|
||||
# You must restart your daemon after importing an egg.
|
||||
|
||||
|
||||
## Please read the CONTRIBUTING.md before submitting PRs
|
||||
|
||||
## [Bots](/bots)
|
||||
## Bot Eggs
|
||||
|
||||
[Discord](/bots/discord)
|
||||
* [ATL Bot](/bots/discord/atlbot) Node JS
|
||||
* [Bastion](/bots/discord/bastion) Node JS
|
||||
* [CorpBot](/bots/discord/corpbot) Python
|
||||
* [discordgo](bots/discord/discordgo) Golang generic
|
||||
* [discord.java](bots/discord/discord.java) Java generic
|
||||
* [discord.js](bots/discord/discord.js) Node JS generic
|
||||
* [discord.py](bots/discord/discord.py) Python generic
|
||||
* [Dynamica](/bots/discord/dynamica) Node JS
|
||||
* [fragbot](/bots/discord/fragbot) Golang
|
||||
* [JMusicBot](/bots/discord/jmusicbot) Java
|
||||
* [nodemon.js](bots/discord/nodemon.js) Nodemon JS generic
|
||||
* [parkertron](/bots/discord/parkertron) Golang
|
||||
* [pixel-bot](/bots/discord/pixelbot) Python
|
||||
* [Redbot](/bots/discord/redbot) Python
|
||||
* [SinusBot](/bots/discord/sinusbot)
|
||||
[Discord](/bots/discord/)
|
||||
* [ATL Bot](/bots/discord/atlbot) Node JS
|
||||
* [parkertron](/bots/discord/parkertron/) Golang
|
||||
* [pixel-bot](/bots/discord/pixelbot/) Python
|
||||
* [Sinusbot](/bots/discord/sinusbot/)
|
||||
|
||||
[Other](/bots/other)
|
||||
* [Big Brother Bot](/bots/other/bigbrotherbot)
|
||||
## Game Eggs
|
||||
|
||||
[Twitch](/bots/twitch)
|
||||
* [PhantomBot](/bots/twitch/phantombot)
|
||||
* [SogeBot](/bots/twitch/sogebot)
|
||||
[Arma](/arma/)
|
||||
* [Arma 3](/arma/arma3/)
|
||||
|
||||
[TeamSpeak3](bots/teamspeak3)
|
||||
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod)
|
||||
[Don't Starve](/dont_starve/dont_starve)
|
||||
|
||||
## [Database](/database)
|
||||
### In-Memory Databases
|
||||
[Redis](/database/redis)
|
||||
* [Redis 5](/database/redis/redis-5)
|
||||
* [Redis 6](/database/redis/redis-6)
|
||||
[Factorio](/factorio/factorio/)
|
||||
[Grand Theft Auto](/gta/)
|
||||
* [FiveM](/gta/fivem/)
|
||||
* [RageMP](/gta/ragemp/)
|
||||
|
||||
### noSQL
|
||||
* [mongoDB](/database/nosql/mongodb)
|
||||
[Minecraft Java](/minecraft_java/)
|
||||
* [Forge](/minecraft_java/forge/)
|
||||
* [Feed The Beast](/minecraft_java/ftb/)
|
||||
* [Spigot](/minecraft_java/spigot/)
|
||||
* [PaperSpigot (Legacy)](/minecraft_java/spigot/paper-legacy)
|
||||
* [Technic](/minecraft_java/technic/)
|
||||
|
||||
### SQL Databases
|
||||
* [MariaDB](/database/sql/mariadb)
|
||||
* [PostgreSQL](/database/sql/postgres)
|
||||
[Minecraft Bedrock](/minecraft_bedrock/)
|
||||
* [Bedrock](/minecraft_bedrock/bedrock/)
|
||||
* [Nukkit](/minecraft_bedrock/nukkit/)
|
||||
* [PocketMine MP](/minecraft_bedrock/pocketmine_mp/)
|
||||
|
||||
## [Voice Servers](/voice_servers)
|
||||
* [Lavalink](/voice_servers/lavalink)
|
||||
* [TeaSpeak](/voice_servers/teaspeak)
|
||||
* [TS3-Manager](/voice_servers/ts3_manager)
|
||||
[Minecraft Proxies](/minecraft_proxy/)
|
||||
* [Waterfall](/minecraft_proxy/waterfall/)
|
||||
|
||||
## [Game Eggs](/game_eggs)
|
||||
[Among Us](game_eggs/among_us)
|
||||
* [Impostor Server](game_eggs/among_us/impostor_server)
|
||||
* [CrewLink Server](game_eggs/among_us/crewlink_server)
|
||||
[Mount & Blade Warband](/mb_warband/)
|
||||
|
||||
[BeamNG.drive](game_eggs/beamng)
|
||||
* [BeamMP Server](game_eggs/beamng/beammp)
|
||||
* [KissMP](game_eggs/beamng/kissmp)
|
||||
[Source](/source_servers/) These eggs use steamcmd to install
|
||||
* [7 Days to Die](/source_servers/7_days_to_die/)
|
||||
* [PixARK](/source_servers/pixark/)
|
||||
* [Starbound](/source_servers/starbound)
|
||||
|
||||
[ClassiCube](game_eggs/classicube)
|
||||
* [MCGalaxy](game_eggs/classicube/mcgalaxy)
|
||||
[Squad](/squad/)
|
||||
|
||||
[Call of Duty 4X](game_eggs/cod/cod4x)
|
||||
[Terraria](/terraria/)
|
||||
* [tmodloader](/terraria/tmodloader)
|
||||
* [tshock](/terraria/tshock/)
|
||||
|
||||
[ET Legacy](game_eggs/enemy_territory/etlegacy)
|
||||
[Unturned](/unturned/)
|
||||
* [RocketMod](/unturned/rocketmod/)
|
||||
|
||||
[FTL: Tachyon](game_eggs/ftl/tachyon)
|
||||
|
||||
[Factorio](game_eggs/factorio)
|
||||
* [Vanilla](game_eggs/factorio/factorio)
|
||||
* [ModUpdate](game_eggs/factorio/factorio-modupdate)
|
||||
|
||||
[Grand Theft Auto](game_eggs/gta)
|
||||
* GTA V
|
||||
* [FiveM](game_eggs/gta/fivem)
|
||||
* [RageMP](game_eggs/gta/ragemp)
|
||||
* [alt:V](game_eggs/gta/altv)
|
||||
|
||||
* GTA SA
|
||||
* [Multi Theft Auto](game_eggs/gta/mtasa)
|
||||
* [SA-MP](game_eggs/gta/samp)
|
||||
|
||||
* GTA
|
||||
* [GTAC](game_eggs/gta/gtac)
|
||||
|
||||
[Mindustry](game_eggs/mindustry)
|
||||
* [Mindustry](game_eggs/mindustry/mindustry)
|
||||
|
||||
[League Sandbox](game_eggs/leaguesandbox)
|
||||
* [League Sandbox](game_eggs/leaguesandbox/leaguesandbox)
|
||||
|
||||
[Minetest](game_eggs/minetest) (including MTG)
|
||||
* [Minetest](game_eggs/minetest/minetest)
|
||||
|
||||
[Minecraft](game_eggs/minecraft)
|
||||
* [Bedrock](game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
|
||||
* [Bedrock](game_eggs/minecraft/bedrock/bedrock)
|
||||
* [gomint](game_eggs/minecraft/bedrock/gomint)
|
||||
* [Nukkit](game_eggs/minecraft/bedrock/nukkit)
|
||||
* [PocketMine MP](game_eggs/minecraft/bedrock/pocketmine_mp)
|
||||
|
||||
* [Java](game_eggs/minecraft/java) Servers for Java Minecraft
|
||||
* [Airplane](game_eggs/minecraft/java/airplane)
|
||||
* [Cuberite](game_eggs/minecraft/java/cuberite)
|
||||
* [Fabric](game_eggs/minecraft/java/fabric)
|
||||
* [Feather](game_eggs/minecraft/java/feather)
|
||||
* [Feed The Beast](game_eggs/minecraft/java/ftb)
|
||||
* [Forge](game_eggs/minecraft/java/forge)
|
||||
* [Magma](game_eggs/minecraft/java/magma)
|
||||
* [Mohist](game_eggs/minecraft/java/mohist)
|
||||
* [NanoLimbo](/game_eggs/minecraft/java/nanolimbo)
|
||||
* [Paper](game_eggs/minecraft/java/paper)
|
||||
* [Purpur](game_eggs/minecraft/java/purpur)
|
||||
* [Spigot](game_eggs/minecraft/java/spigot)
|
||||
* [SpongeForge](game_eggs/minecraft/java/spongeforge)
|
||||
* [SpongeVanilla](game_eggs/minecraft/java/spongevanilla)
|
||||
* [Technic](game_eggs/minecraft/java/technic)
|
||||
* [Tuinity](game_eggs/minecraft/java/tuinity)
|
||||
* [VanillaCord](game_eggs/minecraft/java/vanillacord)
|
||||
|
||||
* [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies
|
||||
* [Java](game_eggs/minecraft/proxy/java)
|
||||
* [FlameCord](game_eggs/minecraft/proxy/java/flamecord)
|
||||
* [Travertine](game_eggs/minecraft/proxy/java/travertine)
|
||||
* [TyphoonLimbo](game_eggs/minecraft/proxy/java/typhoonlimbo)
|
||||
* [Velocity](game_eggs/minecraft/proxy/java/velocity)
|
||||
* [Waterfall](game_eggs/minecraft/proxy/java/waterfall)
|
||||
* [Bedrock](game_eggs/minecraft/proxy/bedrock)
|
||||
* [Waterdog PE](game_eggs/minecraft/proxy/bedrock/waterdog_pe)
|
||||
* [Cross Platform](game_eggs/minecraft/proxy/cross_platform)
|
||||
* [GeyserMC](game_eggs/minecraft/proxy/cross_platform/geyser)
|
||||
* [Waterdog](game_eggs/minecraft/proxy/cross_platform/waterdog)
|
||||
|
||||
[OpenArena](game_eggs/openarena)
|
||||
* [openarena](game_eggs/openarena/openarena)
|
||||
|
||||
[OpenRA](game_eggs/openra)
|
||||
* [OpenRA Dune2000](game_eggs/openra/openra_dune2000)
|
||||
* [OpenRA Red Alert](game_eggs/openra/openra_red_alert)
|
||||
* [OpenRA Tiberian Dawn](game_eggs/openra/openra_tiberian_dawn)
|
||||
|
||||
[Red Dead Redemption](game_eggs/rdr)
|
||||
* [RedM](game_eggs/rdr/redm)
|
||||
|
||||
[SteamCMD Servers](game_eggs/steamcmd_servers) These eggs use SteamCMD to install
|
||||
* [7 Days to Die](game_eggs/steamcmd_servers/7_days_to_die)
|
||||
* [ARK: Survival Evolved](game_eggs/steamcmd_servers/ark_survival_evolved)
|
||||
* [Arma](game_eggs/steamcmd_servers/arma)
|
||||
* [Arma 3](game_eggs/steamcmd_servers/arma/arma3)
|
||||
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
|
||||
* [Avorion](game_eggs/steamcmd_servers/avorion)
|
||||
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
|
||||
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
|
||||
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
|
||||
* [Cryofall](game_eggs/steamcmd_servers/cryofall)
|
||||
* [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve)
|
||||
* [ECO](game_eggs/steamcmd_servers/eco)
|
||||
* [Fistful of Frags](game_eggs/steamcmd_servers/fof)
|
||||
* [HLDS Server](game_eggs/steamcmd_servers/hlds_server)
|
||||
* [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast)
|
||||
* [Hurtworld](game_eggs/steamcmd_servers/hurtworld)
|
||||
* [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm)
|
||||
* [Killing Floor 2](game_eggs/steamcmd_servers/killing_floor_2)
|
||||
* [Modiverse](game_eggs/steamcmd_servers/modiverse)
|
||||
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
|
||||
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
|
||||
* [Onset](game_eggs/steamcmd_servers/onset)
|
||||
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
|
||||
* [PixARK](game_eggs/steamcmd_servers/pixark)
|
||||
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
|
||||
* [Project Zomboid](game_eggs/steamcmd_servers/project_zomboid)
|
||||
* [Quake Live](game_eggs/steamcmd_servers/quake_live)
|
||||
* [Rising World](game_eggs/steamcmd_servers/rising_world)
|
||||
* [Risk Of Rain 2](game_eggs/steamcmd_servers/risk_of_rain_2)
|
||||
* [Rust](game_eggs/steamcmd_servers/rust)
|
||||
* [Autowipe](game_eggs/steamcmd_servers/rust/rust_autowipe)
|
||||
* [Staging](game_eggs/steamcmd_servers/rust/rust_staging)
|
||||
* [Satisfactory](game_eggs/steamcmd_servers/satisfactory)
|
||||
* [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl)
|
||||
* [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated)
|
||||
* [multiadmin](game_eggs/steamcmd_servers/scpsl/multiadmin)
|
||||
* [Soldat](game_eggs/steamcmd_servers/soldat)
|
||||
* [Space Engineers](game_eggs/steamcmd_servers/space_engineers)
|
||||
* [Squad](game_eggs/steamcmd_servers/squad)
|
||||
* [Starbound](game_eggs/steamcmd_servers/starbound)
|
||||
* [Stationeers](game_eggs/steamcmd_servers/stationeers)
|
||||
* [Stormworks: Build and Rescue](game_eggs/steamcmd_servers/stormworks)
|
||||
* [Subnautica: Nitrox Mod](game_eggs/steamcmd_servers/subnautica_nitrox_mod)
|
||||
* [Sven Co-op](game_eggs/steamcmd_servers/svencoop)
|
||||
* [The Forest](game_eggs/steamcmd_servers/the_forest)
|
||||
* [Team Fortress 2 Classic](game_eggs/steamcmd_servers/team_fortress_2_classic)
|
||||
* [Tower Unite](game_eggs/steamcmd_servers/tower_unite)
|
||||
* [Unturned](game_eggs/steamcmd_servers/unturned)
|
||||
* [Valheim](game_eggs/steamcmd_servers/valheim)
|
||||
* [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla)
|
||||
* [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus)
|
||||
|
||||
[Teeworlds](game_eggs/teeworlds)
|
||||
* [Teeworlds](game_eggs/teeworlds/teeworlds)
|
||||
|
||||
[Terraria](game_eggs/terraria)
|
||||
* [Vanilla](game_eggs/terraria/vanilla)
|
||||
* [tModLoader](game_eggs/terraria/tmodloader)
|
||||
* [TShock](game_eggs/terraria/tshock)
|
||||
|
||||
[Tycoon Games](game_eggs/tycoon_games)
|
||||
* [OpenTTD](game_eggs/tycoon_games/openttd)
|
||||
|
||||
[Veloren](game_eggs/veloren)
|
||||
|
||||
[Vintage Story](game_eggs/vintage_story/vintage_story)
|
||||
|
||||
[Wine Generic](game_eggs/wine/generic)
|
||||
|
||||
[Xonotic](game_eggs/xonotic/xonotic)
|
||||
|
||||
## [Monitoring](/monitoring/)
|
||||
### Prometheus
|
||||
* [Prometheus](/monitoring/prometheus)
|
||||
|
||||
## [Storage](/storage/)
|
||||
### S3 Storage
|
||||
* [minio](/storage/minio)
|
||||
|
||||
## [Software](/software/)
|
||||
### Code Server
|
||||
* [Code-Server](/software/code-server)
|
||||
### Elasticsearch
|
||||
* [Elasticsearch](/software/elasticsearch)
|
||||
### Gitea
|
||||
* [Gitea](/software/gitea)
|
||||
### Grafana
|
||||
* [Grafana](/software/grafana)
|
||||
### haste-server
|
||||
* [haste-server](/software/haste-server)
|
||||
### RabbitMQ
|
||||
* [rabbitmq](/software/rabbitmq)
|
||||
[Xonotic](/xonotic/)
|
||||
|
||||
@@ -0,0 +1,20 @@
|
||||
# Example Server Name
|
||||
### From their [Site](https://arma3.com/)
|
||||
Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC’s premier military game. Authentic, diverse, open - Arma 3 sends you to war.
|
||||
|
||||
### Minimum RAM warning
|
||||
This server requires about 2048m to run properly. ARMA 3 is more CPU intensive though.
|
||||
|
||||
### Additional settings
|
||||
Additional server flags can be found [here](https://community.bistudio.com/wiki/Arma_3_Startup_Parameters).
|
||||
This can help is you see the server using to many cores/threads on the server.
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 2302-2306 |
|
||||
| BattleEye | 2344-2345 |
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
||||
@@ -0,0 +1,99 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2018-10-16T13:07:23-04:00",
|
||||
"name": "Arma 3",
|
||||
"author": "daave@aaathats3as.com",
|
||||
"description": "Experience true combat gameplay in a massive military sandbox. Deploying a wide variety of single- and multiplayer content, over 20 vehicles and 40 weapons, and limitless opportunities for content creation, this is the PC's premier military game. Authentic, diverse, open - Arma 3 sends you to war.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:source",
|
||||
"startup": ".\/arma3server -ip=0.0.0.0 -port={{SERVER_PORT}} -cfg={{CFG}} -config={{CONFIG}} {{CUSTOM}} -mod=\"{{MODS}}\" -serverMod=\"{{SERVERMODS}}\"",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Connected to Steam servers\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install curl\r\napt -y --no-install-recommends install lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSLO http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\nmkdir -p \"\/mnt\/server\/.local\/share\/Arma 3\" \"\/mnt\/server\/.local\/share\/Arma 3 - Other Profiles\"\r\n\r\ntouch \/mnt\/server\/latest.log\r\nchown -R root:root \/mnt\r\n\r\ntar -xzvf \/tmp\/steamcmd_linux.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login ${STEAM_USER} ${STEAM_PASS} +force_install_dir \/mnt\/server +app_update ${APP_ID} validate +quit",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Game App ID",
|
||||
"description": "Steam CMD App ID.",
|
||||
"env_variable": "APP_ID",
|
||||
"default_value": "233780",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|alpha_dash|between:1,100"
|
||||
},
|
||||
{
|
||||
"name": "Config CFG",
|
||||
"description": "Config CFG",
|
||||
"env_variable": "CFG",
|
||||
"default_value": "cfg.cfg",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Config",
|
||||
"description": "Config",
|
||||
"env_variable": "CONFIG",
|
||||
"default_value": "config.cfg",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Custom Command Line Option.",
|
||||
"description": "Put -autoinit or related things in here :)",
|
||||
"env_variable": "CUSTOM",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "SERVERMODS",
|
||||
"description": "This is where you put the files that go along with the -serverMods startup option.",
|
||||
"env_variable": "SERVERMODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Mods",
|
||||
"description": "This is where you put mods that go along with the -mods startup option",
|
||||
"env_variable": "MODS",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "string|nullable"
|
||||
},
|
||||
{
|
||||
"name": "Steam User",
|
||||
"description": "Admin only",
|
||||
"env_variable": "STEAM_USER",
|
||||
"default_value": "",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "STEAM_PASS",
|
||||
"description": "STEAM_PASS",
|
||||
"env_variable": "STEAM_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
+2
-34
@@ -10,47 +10,15 @@ Their github has all the info you need
|
||||
[TheBastionBot/Bastion](https://github.com/TheBastionBot/Bastion)
|
||||
Give awesome perks to your Discord server!
|
||||
|
||||
### Corpbot
|
||||
[corpnewt/CorpBot.py](https://github.com/corpnewt/CorpBot.py)
|
||||
A very clumsy python bot for discord
|
||||
|
||||
#### DiscordJS
|
||||
[discord.js](https://discord.js.org/)
|
||||
A generic discord.js egg for running discord bots.
|
||||
|
||||
#### DiscordPY
|
||||
[discord.py](https://discordpy.readthedocs.io/en/latest/)
|
||||
A generic discord.py egg for running discord bots.
|
||||
|
||||
#### discordgo
|
||||
[discordgo](https://github.com/bwmarrin/discordgo)
|
||||
A generic go application egg.
|
||||
|
||||
#### FragBot
|
||||
[fragforce/fragbot](https://github.com/fragforce/fragbot)
|
||||
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
|
||||
|
||||
#### MusicBot
|
||||
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
|
||||
A Discord music bot that's easy to set up and run yourself!
|
||||
|
||||
#### nodemon
|
||||
[nodemon](https://nodemon.io/)
|
||||
A nodemon javascript egg for running and automatically restarting the node application when file changes in the directory are detected
|
||||
|
||||
#### parkertron
|
||||
[parkervcp/parkertron](https://github.com/parkervcp/parkertron)
|
||||
The bot that runs as the pterodactyl `@Support Bot`
|
||||
|
||||
#### PixelBot
|
||||
#### pixelbot
|
||||
[possatti/pixelbot](https://github.com/possatti/pixelbot)
|
||||
No longer actively developed.
|
||||
Was used to test python services.
|
||||
|
||||
### RedBot
|
||||
[Cog-Creators/Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot)
|
||||
A multifunction Discord bot
|
||||
|
||||
#### SinusBot
|
||||
[SinusBot](https://www.sinusbot.com/)
|
||||
Please Check their site for an in depth on the bot.
|
||||
Please Check their site for an in depth on the bot.
|
||||
@@ -1,6 +0,0 @@
|
||||
# ATLBot
|
||||
### Their [Github](https://github.com/ATLauncher/discord-bot)
|
||||
This is the code for our Discord bot which runs on the official ATLauncher Discord server
|
||||
|
||||
### Server Ports
|
||||
There are no ports required for the atl bot
|
||||
@@ -0,0 +1,36 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2018-02-22T13:32:44-05:00",
|
||||
"name": "ATLBot",
|
||||
"author": "jfeldt19@gmail.com",
|
||||
"description": "ATLbot in ptero\r\n\r\nhttps:\/\/github.com\/ATLauncher\/discord-bot\/",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:nodejs",
|
||||
"startup": "npm run start",
|
||||
"config": {
|
||||
"files": "{\r\n \"config\/config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"client_token\": \"{{server.build.env.CLIENT_TOKEN}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"I am ready!\",\r\n \"userInteraction\": [\r\n \"Request to use token, but token was unavailable\"\r\n ]\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "apk add --no-cache openssl\r\n\r\ncd \/mnt\/server\r\n\r\nwget https:\/\/github.com\/ATLauncher\/discord-bot\/archive\/master.zip\r\n\r\nunzip master.zip\r\n\r\nrm master.zip\r\n\r\nmv discord-bot-master\/* .\/\r\n\r\nmv config\/config.json.example config\/config.json\r\n\r\n\/usr\/local\/bin\/npm install --production\r\n\r\n\/usr\/local\/bin\/npm run build\r\n\r\nrm -r discord-bot-master\/\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md",
|
||||
"container": "node:8.9-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "client_token",
|
||||
"description": "Get a discord token at https:\/\/discordapp.com\/developers\/",
|
||||
"env_variable": "CLIENT_TOKEN",
|
||||
"default_value": "get_your_own_token_from_discord_",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:75"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-06-23T10:00:12-04:00",
|
||||
"name": "ATLBot",
|
||||
"author": "jfeldt19@gmail.com",
|
||||
"description": "ATLbot in ptero\r\n\r\nhttps:\/\/github.com\/ATLauncher\/discord-bot\/",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:alpine_nodejs-10",
|
||||
"startup": "npm run start",
|
||||
"config": {
|
||||
"files": "{\r\n \"config\/local.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"discord.client_token\": \"{{server.build.env.CLIENT_TOKEN}}\",\r\n \"logging.level\": \"debug\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Bot started\"\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "apk add --no-cache openssl git\r\n\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/ATLauncher\/discord-bot.git . \r\nfi\r\n\r\necho '{}' > config\/local.json\r\n\r\nnpm install --production\r\n\r\nnpm run build\r\n\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md",
|
||||
"container": "node:10-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "client_token",
|
||||
"description": "Get a discord token at https:\/\/discordapp.com\/developers\/",
|
||||
"env_variable": "CLIENT_TOKEN",
|
||||
"default_value": "get_your_own_token_from_discord_",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:75"
|
||||
},
|
||||
{
|
||||
"name": "Node Environment",
|
||||
"description": "The node environment variable.\r\n\r\nNeeds to stay at \"development\" to log to console.",
|
||||
"env_variable": "NODE_ENV",
|
||||
"default_value": "development",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,13 +0,0 @@
|
||||
# Bastion
|
||||
### From their [Github](https://github.com/TheBastionBot/Bastion)
|
||||
Give awesome perks to your Discord server!
|
||||
|
||||
### Install notes
|
||||
Due to rate limiting the console on the panel cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log.
|
||||
|
||||
## Running the bot
|
||||
You need to enable both `Privileged Gateway Intents` for the bot to run.
|
||||
Enable this from `https://discord.com/developers/applications/<applicationid>/bot`
|
||||
|
||||
### Server Ports
|
||||
No Ports are required for the bastion bot.
|
||||
@@ -3,26 +3,35 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-06-20T13:11:43-04:00",
|
||||
"exported_at": "2018-10-30T23:15:12-04:00",
|
||||
"name": "Bastion",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Bastion is an all-in-one multipurpose Discord bot that can do a whole bunch of things and its features are expanding daily. Bastion does everything most people will ever need it to do. Check out some feature highlights below to get a peek into the vast feature list of Bastion. And if you think Bastion lacks some feature, please send a suggestion and we will add it to Bastion as soon as possible.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_bastion",
|
||||
"startup": "\"rmv() { echo -e \"stopping nodejs\"; for i in $(pgrep node); do kill $i; done; echo -e \"stopping mongo\"; mongo --eval \\\"db.getSiblingDB('admin').shutdownServer()\\\" ; }; trap \\'echo -e \\\"ctrl-c caught\\\" && rmv\\'; mongod --fork --dbpath \/home\/container\/mongodb\/ --port 27017 --logpath \/home\/container\/mongod.log && until nc -z -v -w5 127.0.0.1 27017; do echo 'Waiting for mongodb connection...'; sleep 5; done && yarn start\"",
|
||||
"startup": "node bastion.js",
|
||||
"config": {
|
||||
"files": "{\r\n \"settings\/credentials.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n },\r\n \"settings\/configurations.yaml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"presence.status\": \"{{server.build.env.STATUS}}\",\r\n \"presence.activity.type\": \"{{server.build.env.ACTIVITY}}\",\r\n \"presence.activity.name\": \"{{server.build.env.PLAYING}}\",\r\n \"presence.activity.url\": \"{{server.build.env.STREAM_URL}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Systems Ready!\"\r\n}",
|
||||
"files": "{\r\n \"settings\/credentials.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"botId\": \"{{server.build.env.BOT_ID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"I'm ready to roll!\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nyarn install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials.example.yaml settings\/credentials.yaml\r\nmv settings\/configurations.example.yaml settings\/configurations.yaml\r\n\r\n## make folders for mongodb\r\nmkdir mongodb\/",
|
||||
"container": "node:12-buster",
|
||||
"entrypoint": "bash"
|
||||
"script": "#!\/bin\/ash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\n## Install Requirements\r\napk --no-cache add python g++ make git\r\n\r\n## Move to install folder\r\ncd \/mnt\/server\/\r\n\r\n## Clone repo\r\ngit clone -b stable -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\n## Install node_modules\r\nnpm install --only=production\r\n\r\n## Move config files.\r\nmv settings\/credentials_example.json settings\/credentials.json\r\nmv settings\/config_example.json settings\/config.json",
|
||||
"container": "node:8-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Bot ID",
|
||||
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "BOT_ID",
|
||||
"default_value": "GETABOTID",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:32"
|
||||
},
|
||||
{
|
||||
"name": "Bot Token",
|
||||
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
|
||||
@@ -31,42 +40,6 @@
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Bot Status",
|
||||
"description": "valid values are `online`, `idle`, `dnd` and `invisible`",
|
||||
"env_variable": "STATUS",
|
||||
"default_value": "online",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Activity Type",
|
||||
"description": "valid options are `PLAYING`, `LISTENING`, `WATCHING` and `STREAMING`",
|
||||
"env_variable": "ACTIVITY",
|
||||
"default_value": "PLAYING",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:9"
|
||||
},
|
||||
{
|
||||
"name": "ACTIVITY",
|
||||
"description": "What the bot is doing",
|
||||
"env_variable": "PLAYING",
|
||||
"default_value": "on a pterodactyl server",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Stream URL",
|
||||
"description": "If the bot activity is set to `STREAMING`",
|
||||
"env_variable": "STREAM_URL",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "nullable|string|max:64"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
# CorpBot.py
|
||||
### From their [Github](https://github.com/corpnewt/CorpBot.py)
|
||||
A very clumsy python bot for discord
|
||||
|
||||
### Server Ports
|
||||
No ports are required to run CorpBot. You can assign a random port to the bot.
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-04-25T10:31:48-04:00",
|
||||
"name": "CorpBot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A very clumsy python bot for discord \r\n\r\nhttps:\/\/github.com\/corpnewt\/CorpBot.py",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8",
|
||||
"startup": "python Main.py",
|
||||
"config": {
|
||||
"files": "{\r\n \"settings_dict.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.TOKEN}}\",\r\n \"prefix\": \"{{server.build.env.PREFIX}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Logged in as\"\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# CoprBot Install Script\r\n#\r\n## create dir is it doesn't exist\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\n## move to directory\r\ncd \/mnt\/server\/\r\n\r\n## install deps\r\napt update\r\napt install -y git gcc curl\r\n\r\n## git clone \r\ngit clone https:\/\/github.com\/corpnewt\/CorpBot.py.git .\r\n\r\n## Modify Install.py to work properly in egg format\r\nmv Install.py Install.py.orig\r\nsed -n '\/press enter to exit\/q;p' Install.py.orig > Install.py\r\nsed -i 's\/\"-U\"\/\"-U\", \"--target\", \"\\\/mnt\\\/server\\\/\"\/g' Install.py\r\n\r\n## run Install.py script\r\npython Install.py\r\n\r\n## get config during install\r\nif [ ! -f \/mnt\/server\/settings_dict.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/corpbot\/settings_dict.json -o settings_dict.json\r\nfi",
|
||||
"container": "python:3.8-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Discord Bot Token",
|
||||
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "TOKEN",
|
||||
"default_value": "GET_YOUR_OWN",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Command Prefix",
|
||||
"description": "The prefix for commands from the bot.",
|
||||
"env_variable": "PREFIX",
|
||||
"default_value": ".",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,4 +0,0 @@
|
||||
{
|
||||
"token": "your_token_here",
|
||||
"prefix": "your_custom_prefix_here"
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
# Deno generic
|
||||
|
||||
### From their [site](https://deno.land/)
|
||||
|
||||
This egg is designed to run any generic Deno application, allowing users to pull their own Deno discord bot from a Github repository.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a server.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
|
||||
## Configuration
|
||||
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||

|
||||
|
||||
You can use arrays to have multiple different values when different bots are being used
|
||||
```
|
||||
{
|
||||
"done":[
|
||||
"change this text 1",
|
||||
"change this text 2"
|
||||
]
|
||||
}
|
||||
@@ -1,86 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-03-30T00:48:40+00:00",
|
||||
"name": "Deno Generic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A generic egg to run deno code.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/deno run {{JS_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Deno Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt install -y git curl jq file unzip\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\n## get deno\r\nGITHUB_PACKAGE=denoland\/deno\r\nMATCH=linux\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_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\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\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. Exiting\"\r\n exit 2\r\nfi\r\n\r\n## cleaning up downloaded file\r\nrm -f ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Git Username",
|
||||
"description": "Username to auth with git.",
|
||||
"env_variable": "USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Access Token",
|
||||
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||
"env_variable": "ACCESS_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Repo Address",
|
||||
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "User Uploaded Files",
|
||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||
"env_variable": "USER_UPLOAD",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Git Branch",
|
||||
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Bot js file",
|
||||
"description": "The JavaScript file to run",
|
||||
"env_variable": "JS_FILE",
|
||||
"default_value": "bot.js",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
# discord.java generic
|
||||
This egg is designed to run any generic Java application, allowing users to pull their own Java discord bot from a Github repository.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a bot.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
|
||||
## Configuration
|
||||
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||

|
||||
|
||||
You can use arrays to have multiple different values when different bots are being used
|
||||
```
|
||||
{
|
||||
"done":[
|
||||
"change this text 1",
|
||||
"change this text 2"
|
||||
]
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-07-21T18:23:17+03:00",
|
||||
"name": "Discord Java",
|
||||
"author": "sneaky@sneakyhub.com",
|
||||
"description": "Creates a container that runs java.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:java_8",
|
||||
"ghcr.io\/parkervcp\/yolks:java_11",
|
||||
"ghcr.io\/parkervcp\/yolks:java_16"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "java -Dterminal.jline=false -Dterminal.ansi=true -jar {{JARFILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this text\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Java Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=java\r\n\r\napt update\r\napt install -y curl jq\r\n\r\ncd \/mnt\/server",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "JAR FILE",
|
||||
"description": "",
|
||||
"env_variable": "JARFILE",
|
||||
"default_value": "sneakyhub.jar",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
# discord.js generic
|
||||
|
||||
This egg is designed to run any generic Javascript application, allowing users to pull their own javascript discord bot from a Github repository.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a bot.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
|
||||
## Configuration
|
||||
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||

|
||||
|
||||
You can use arrays to have multiple different values when different bots are being used
|
||||
```
|
||||
{
|
||||
"done":[
|
||||
"change this text 1",
|
||||
"change this text 2"
|
||||
]
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-10-22T07:43:48-04:00",
|
||||
"name": "discord.js generic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "a generic discord js bot egg\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload then I assume you know what you are doing.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_17",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_16",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_15",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_14",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_12"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install; fi; \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\necho \"Installing nodejs packages\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "node:14-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Git Repo Address",
|
||||
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Install Branch",
|
||||
"description": "The branch of the bot to install.",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "User Uploaded Files",
|
||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||
"env_variable": "USER_UPLOAD",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Pull the latest files on startup when using a GitHub repo.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Bot js file",
|
||||
"description": "The file that starts the bot.",
|
||||
"env_variable": "BOT_JS_FILE",
|
||||
"default_value": "index.js",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Node packages",
|
||||
"description": "Install additional node packages.\r\n\r\nUse spaces to separate.",
|
||||
"env_variable": "NODE_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Username",
|
||||
"description": "Username to auth with git.",
|
||||
"env_variable": "USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Access Token",
|
||||
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||
"env_variable": "ACCESS_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Uninstall Node packages",
|
||||
"description": "Uninstall node packages.\r\n\r\nUse spaces to separate.",
|
||||
"env_variable": "UNNODE_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
# discord.py generic
|
||||
This egg is designed to run any generic Python application, allowing users to pull their own Python discord bot from a Github repository.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a bot.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
|
||||
## Configuration
|
||||
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||

|
||||
|
||||
You can use arrays to have multiple different values when different bots are being used
|
||||
```
|
||||
{
|
||||
"done":[
|
||||
"change this text 1",
|
||||
"change this text 2"
|
||||
]
|
||||
}
|
||||
@@ -1,117 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-10-19T13:22:35-04:00",
|
||||
"name": "discord.py generic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:python_3.10",
|
||||
"ghcr.io\/parkervcp\/yolks:python_3.9",
|
||||
"ghcr.io\/parkervcp\/yolks:python_3.8",
|
||||
"ghcr.io\/parkervcp\/yolks:python_3.7",
|
||||
"ghcr.io\/parkervcp\/yolks:python_2.7"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z {{PY_PACKAGES}} ]]; then pip install -U --prefix .local {{PY_PACKAGES}}; fi; if [[ -f \/home\/container\/${REQUIREMENTS_FILE} ]]; then pip install -U --prefix .local -r ${REQUIREMENTS_FILE}; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Python Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\nexport HOME=\/mnt\/server\r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --prefix .local ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --prefix .local -r ${REQUIREMENTS_FILE}\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "python:3.8-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Git Repo Address",
|
||||
"description": "Git repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Branch",
|
||||
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "User Uploaded Files",
|
||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||
"env_variable": "USER_UPLOAD",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Pull the latest files on startup when using a GitHub repo.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Bot py file",
|
||||
"description": "The file that starts the bot.",
|
||||
"env_variable": "BOT_PY_FILE",
|
||||
"default_value": "bot.py",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Python packages",
|
||||
"description": "Install additional python packages.\r\n\r\nUse spaces to separate",
|
||||
"env_variable": "PY_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Username",
|
||||
"description": "Username to auth with git.",
|
||||
"env_variable": "USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Access Token",
|
||||
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||
"env_variable": "ACCESS_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Requirements file",
|
||||
"description": "if there are other requirements files to choose from.",
|
||||
"env_variable": "REQUIREMENTS_FILE",
|
||||
"default_value": "requirements.txt",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
# discordgo generic
|
||||
This egg is designed to run any generic Golang application, allowing users to pull their own Golang discord bot from a Github repository.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
|
||||
Users cannot upload their own code as this is built to build the resulting bot.
|
||||
|
||||
`GO_PACKAGE` is the variable for the go repo i.e. `github.com/aurieh/ddg-ng`
|
||||
`EXECUTABLE` is the variable for the executable that is built i.e. `ddg-ng`
|
||||
|
||||
## Configuration
|
||||
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||

|
||||
|
||||
You can use arrays to have multiple different values when different bots are being used
|
||||
```
|
||||
{
|
||||
"done":[
|
||||
"change this text 1",
|
||||
"change this text 2"
|
||||
]
|
||||
}
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-10-11T12:12:50-04:00",
|
||||
"name": "discordgo generic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A generic golang egg.\r\n\r\nMeant to be customized before it is used.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
||||
"startup": ".\/${EXECUTABLE}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# golang generic package\r\n\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ngo get ${GO_PACKAGE}\r\n\r\ncd src\/${GO_PACKAGE}\r\n\r\ngo get\r\n\r\ngo build\r\n\r\ncp -f ${EXECUTABLE} \/mnt\/server\/",
|
||||
"container": "golang:1.15-buster",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Go Package",
|
||||
"description": "Go package to get and build",
|
||||
"env_variable": "GO_PACKAGE",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Executable",
|
||||
"description": "This is the executable from the bot build.",
|
||||
"env_variable": "EXECUTABLE",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# Dynamica
|
||||
|
||||
### Their [Github](https://github.com/dynamicabot/dynamica)
|
||||
|
||||
This is a discord bot for dynamically managing voice channels.
|
||||
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-12-13T10:34:52+11:00",
|
||||
"name": "Dynamica",
|
||||
"author": "sebastian.pietschner@gmail.com",
|
||||
"description": "The dynamica discord bot",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_16"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "yarn deploy && yarn prisma migrate deploy && yarn start",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Ready! Logged in as \"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"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",
|
||||
"container": "node:lts-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Database Path",
|
||||
"description": "The path in which to create the sqlite database.",
|
||||
"env_variable": "DATABASE_URL",
|
||||
"default_value": "file:\/home\/container\/dynamica\/db.sqlite",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Token",
|
||||
"description": "The token for the discord bot.",
|
||||
"env_variable": "TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Client ID",
|
||||
"description": "The client ID of your discord bot.",
|
||||
"env_variable": "CLIENT_ID",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|size:18"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
# fragbot
|
||||
### Their [Github](https://github.com/fragforce/fragbot)
|
||||
The golang based discord bot for fragforce.
|
||||
|
||||
Runs the fragforce `@fragbot`
|
||||
|
||||
### Server Ports
|
||||
There are no ports required for fragbot
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-04-27T21:33:33-04:00",
|
||||
"name": "fragbot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "The fragforce discord bot.\r\n\r\nlocated at https:\/\/github.com\/fragforce\/fragbot",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_alpine",
|
||||
"startup": ".\/fragbot",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"token\": \"{{server.build.env.DISCORD_TOKEN}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Bot is now running\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "shutdown"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# fragbot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\ncd\r\n\r\napk add --no-cache --update git\r\n\r\necho \"pulling the fragbot repo\"\r\n\r\ngit clone https:\/\/github.com\/fragforce\/fragbot.git\r\n\r\ncd fragbot\/\r\n\r\ngo mod download\r\n\r\necho \"building fragbot\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp fragbot \/mnt\/server\/\r\n\r\nif [ -f \/mnt\/server\/config.json ]; then\r\n echo \"config file exists already\"\r\nelse\r\n cp -r \/root\/fragbot\/config.example.json \/mnt\/server\/config.json\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
|
||||
"container": "golang:1.12-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Discord Bot Token",
|
||||
"description": "The token that is to be used for the bot.",
|
||||
"env_variable": "DISCORD_TOKEN",
|
||||
"default_value": "ThisNeedsToBeChanged",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:64"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
# JMusicBot
|
||||
___
|
||||
### Authors / Contributors
|
||||
<!-- prettier-ignore-start -->
|
||||
<!-- markdownlint-disable -->
|
||||
<table>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<a href="https://github.com/jagrosh">
|
||||
<img src="https://avatars.githubusercontent.com/u/12754382" width="50px;" alt=""/><br /><sub><b>John Grosh</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/jagrosh/MusicBot/commits?author=jagrosh" title="Codes">💻</a>
|
||||
<a href="https://github.com/jagrosh/MusicBot/commits?author=jagrosh" title="Original Bot Creator">🤖</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/parkervcp">
|
||||
<img src="https://avatars.githubusercontent.com/u/1207679" width="50px;" alt=""/><br /><sub><b>parkervcp</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=parkervcp" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=parkervcp" title="Original Egg Creator">🥚</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Software-Noob">
|
||||
<img src="https://avatars.githubusercontent.com/u/10975908" width="50px;" alt=""/><br /><sub><b>Software-Noob</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Software-Noob" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Software-Noob" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/Proxymiity">
|
||||
<img src="https://avatars.githubusercontent.com/u/25194496" width="50px;" alt=""/><br /><sub><b>Proxymiity</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Proxymiity" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=Proxymiity" title="Contributor">💡</a>
|
||||
</td>
|
||||
<td align="center">
|
||||
<a href="https://github.com/lilkingjr1">
|
||||
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
|
||||
</a>
|
||||
<br />
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
|
||||
<a href="https://github.com/parkervcp/eggs/commits?author=iamkubi" title="Contributor">💡</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<!-- markdownlint-enable -->
|
||||
<!-- prettier-ignore-end -->
|
||||
|
||||
___
|
||||
### Bot Description & Features
|
||||
From the developer's [Github](https://github.com/jagrosh/MusicBot):
|
||||
> A Discord music bot that's easy to set up and run yourself!
|
||||
|
||||
- Easy to run
|
||||
- Fast loading of songs
|
||||
- No external keys needed (besides a Discord Bot token)
|
||||
- Smooth playback
|
||||
- Server-specific setup for the "DJ" role that can moderate the music
|
||||
- Clean and beautiful menus
|
||||
- Supports many sites, including YouTube, Soundcloud, and more
|
||||
- Supports many online radio/streams
|
||||
- Supports local files
|
||||
- Playlist support (both web/youtube, and local)
|
||||
___
|
||||
### Configuration
|
||||
- If you can, edit the Startup Variables before starting the bot, because otherwise it will fail to start.
|
||||
- Most settings found in `config.txt` can be edited via the Startup Variables. Advanced settings not listed can still be edited manually via the File Manager. Available Startup Variables will take precedent over manual edits.
|
||||
___
|
||||
### Server Ports
|
||||
There are no ports required for JMusicBot.
|
||||
___
|
||||
### Updating
|
||||
Re-Installing the server via the panel will do the following:
|
||||
|
||||
1. Update the bot to the latest version.
|
||||
2. Update the `config.txt` file to the latest version, and place the old one at `config.txt-old`.
|
||||
3. Any local songs will remain and not be touched.
|
||||
@@ -1,183 +0,0 @@
|
||||
/////////////////////////////////////////////////////////
|
||||
// Config for the JMusicBot //
|
||||
/////////////////////////////////////////////////////////
|
||||
// Any line starting with // is ignored //
|
||||
// You MUST set the token and owner //
|
||||
// All other items have defaults if you don't set them //
|
||||
// Open in Notepad++ for best results //
|
||||
/////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
// This sets the token for the bot to log in with
|
||||
// This MUST be a bot token (user tokens will not work)
|
||||
// If you don't know how to get a bot token, please see the guide here:
|
||||
// https://github.com/jagrosh/MusicBot/wiki/Getting-a-Bot-Token
|
||||
|
||||
token = BOT_TOKEN_HERE
|
||||
|
||||
|
||||
// This sets the owner of the bot
|
||||
// This needs to be the owner's ID (a 17-18 digit number)
|
||||
// https://github.com/jagrosh/MusicBot/wiki/Finding-Your-User-ID
|
||||
|
||||
owner = 0
|
||||
|
||||
|
||||
// This sets the prefix for the bot
|
||||
// The prefix is used to control the commands
|
||||
// If you use !!, the play command will be !!play
|
||||
// If you do not set this, the prefix will be a mention of the bot (@Botname play)
|
||||
|
||||
prefix = "@mention"
|
||||
|
||||
|
||||
// If you set this, it modifies the default game of the bot
|
||||
// Set this to NONE to have no game
|
||||
// Set this to DEFAULT to use the default game
|
||||
// You can make the game "Playing X", "Listening to X", or "Watching X"
|
||||
// where X is the title. If you don't include an action, it will use the
|
||||
// default of "Playing"
|
||||
|
||||
game = "DEFAULT"
|
||||
|
||||
|
||||
// If you set this, it will modify the default status of bot
|
||||
// Valid values: ONLINE IDLE DND INVISIBLE
|
||||
|
||||
status = ONLINE
|
||||
|
||||
|
||||
// If you set this to true, the bot will list the title of the song it is currently playing in its
|
||||
// "Playing" status. Note that this will ONLY work if the bot is playing music on ONE guild;
|
||||
// if the bot is playing on multiple guilds, this will not work.
|
||||
|
||||
songinstatus = false
|
||||
|
||||
|
||||
// If you set this, the bot will also use this prefix in addition to
|
||||
// the one provided above
|
||||
|
||||
altprefix = "NONE"
|
||||
|
||||
|
||||
// If you set these, it will change the various emojis
|
||||
|
||||
success = "🎶"
|
||||
warning = "💡"
|
||||
error = "🚫"
|
||||
loading = "⌚"
|
||||
searching = "🔎"
|
||||
|
||||
|
||||
// If you set this, you change the word used to view the help.
|
||||
// For example, if you set the prefix to !! and the help to cmds, you would type
|
||||
// !!cmds to see the help text
|
||||
|
||||
help = help
|
||||
|
||||
|
||||
// If you set this, the "nowplaying" command will show youtube thumbnails
|
||||
// Note: If you set this to true, the nowplaying boxes will NOT refresh
|
||||
// This is because refreshing the boxes causes the image to be reloaded
|
||||
// every time it refreshes.
|
||||
|
||||
npimages = false
|
||||
|
||||
|
||||
// If you set this, the bot will not leave a voice channel after it finishes a queue.
|
||||
// Keep in mind that being connected to a voice channel uses additional bandwith,
|
||||
// so this option is not recommended if bandwidth is a concern.
|
||||
|
||||
stayinchannel = false
|
||||
|
||||
|
||||
// This sets the maximum amount of seconds any track loaded can be. If not set or set
|
||||
// to any number less than or equal to zero, there is no maximum time length. This time
|
||||
// restriction applies to songs loaded from any source.
|
||||
|
||||
maxtime = 0
|
||||
|
||||
// This sets the amount of seconds the bot will stay alone on a voice channel until it
|
||||
// automatically leaves the voice channel and clears the queue. If not set or set
|
||||
// to any number less than or equal to zero, the bot won't leave when alone.
|
||||
|
||||
alonetimeuntilstop = 0
|
||||
|
||||
// This sets an alternative folder to be used as the Playlists folder
|
||||
// This can be a relative or absolute path
|
||||
|
||||
playlistsfolder = "Playlists"
|
||||
|
||||
|
||||
// By default, the bot will DM the owner if the bot is running and a new version of the bot
|
||||
// becomes available. Set this to false to disable this feature.
|
||||
|
||||
updatealerts = true
|
||||
|
||||
|
||||
// Changing this changes the lyrics provider
|
||||
// Currently available providers: "A-Z Lyrics", "Genius", "MusicMatch", "LyricsFreak"
|
||||
// At the time of writing, I would recommend sticking with A-Z Lyrics or MusicMatch,
|
||||
// as Genius tends to have a lot of non-song results and you might get something
|
||||
// completely unrelated to what you want.
|
||||
// If you are interested in contributing a provider, please see
|
||||
// https://github.com/jagrosh/JLyrics
|
||||
|
||||
lyrics.default = "A-Z Lyrics"
|
||||
|
||||
|
||||
// These settings allow you to configure custom aliases for all commands.
|
||||
// Multiple aliases may be given, separated by commas.
|
||||
//
|
||||
// Example 1: Giving command "play" the alias "p":
|
||||
// play = [ p ]
|
||||
//
|
||||
// Example 2: Giving command "search" the aliases "yts" and "find":
|
||||
// search = [ yts, find ]
|
||||
|
||||
aliases {
|
||||
// General commands
|
||||
settings = [ status ]
|
||||
|
||||
// Music commands
|
||||
lyrics = []
|
||||
nowplaying = [ np, current ]
|
||||
play = []
|
||||
playlists = [ pls ]
|
||||
queue = [ list ]
|
||||
remove = [ delete ]
|
||||
scsearch = []
|
||||
search = [ ytsearch ]
|
||||
shuffle = []
|
||||
skip = [ voteskip ]
|
||||
|
||||
// Admin commands
|
||||
prefix = [ setprefix ]
|
||||
setdj = []
|
||||
settc = []
|
||||
setvc = []
|
||||
|
||||
// DJ Commands
|
||||
forceremove = [ forcedelete, modremove, moddelete ]
|
||||
forceskip = [ modskip ]
|
||||
movetrack = [ move ]
|
||||
pause = []
|
||||
playnext = []
|
||||
repeat = []
|
||||
skipto = [ jumpto ]
|
||||
stop = []
|
||||
volume = [ vol ]
|
||||
}
|
||||
|
||||
// If you set this to true, it will enable the eval command for the bot owner. This command
|
||||
// allows the bot owner to run arbitrary code from the bot's account.
|
||||
//
|
||||
// WARNING:
|
||||
// This command can be extremely dangerous. If you don't know what you're doing, you could
|
||||
// cause horrific problems on your Discord server or on whatever computer this bot is running
|
||||
// on. Never run this command unless you are completely positive what you are running.
|
||||
//
|
||||
// DO NOT ENABLE THIS IF YOU DON'T KNOW WHAT THIS DOES OR HOW TO USE IT
|
||||
// IF SOMEONE ASKS YOU TO ENABLE THIS, THERE IS AN 11/10 CHANCE THEY ARE TRYING TO SCAM YOU
|
||||
|
||||
eval=false
|
||||
@@ -1,130 +0,0 @@
|
||||
{
|
||||
"_comment": "Pterodactyl JMusicBot Egg ~ parkervcp, Software-Noob, Proxymiity, and Red-Thirten ~ 2021-11-29",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"name": "JMusicBot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A Discord music bot that's easy to set up and run yourself!",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:java_8"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "java -Dnogui=true -jar JMusicBot.jar",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"token =\": \"token = \\\"{{server.build.env.BOT_TOKEN}}\\\"\",\r\n \"owner =\": \"owner = {{server.build.env.BOT_OWNER}}\",\r\n \"prefix =\": \"prefix = \\\"{{server.build.env.BOT_PREFIX}}\\\"\",\r\n \"game =\": \"game = \\\"{{server.build.env.BOT_GAME}}\\\"\",\r\n \"status =\": \"status = {{server.build.env.BOT_STATUS}}\",\r\n \"songinstatus =\": \"songinstatus = {{server.build.env.BOT_SONG_STATUS}}\",\r\n \"altprefix =\": \"altprefix = \\\"{{server.build.env.BOT_ALT_PREFIX}}\\\"\",\r\n \"npimages =\": \"npimages = {{server.build.env.BOT_NPIMAGES}}\",\r\n \"stayinchannel =\": \"stayinchannel = {{server.build.env.BOT_STAY_IN_CHANNEL}}\",\r\n \"maxtime =\": \"maxtime = {{server.build.env.BOT_MAXTIME}}\",\r\n \"alonetimeuntilstop =\": \"alonetimeuntilstop = {{server.build.env.BOT_ALONE_TIME}}\"\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\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!\"",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "\/bin\/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": "You need to get a token",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "[REQUIRED] Bot Owner ID",
|
||||
"description": "This is the Discord User ID of the bot owner. Learn how to obtain this ID here: https:\/\/jmusicbot.com\/finding-your-user-id\/",
|
||||
"env_variable": "BOT_OWNER",
|
||||
"default_value": "Change This To Your Discord User ID",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|digits:18"
|
||||
},
|
||||
{
|
||||
"name": "Bot Prefix",
|
||||
"description": "This sets the prefix for the bot. The prefix is used to control the commands. If you use !, the play command will be !play. If you do not set this, the prefix will be a mention of the bot (@Botname play).",
|
||||
"env_variable": "BOT_PREFIX",
|
||||
"default_value": "@mention",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Bot Alternate Prefix",
|
||||
"description": "If you set this, the bot will also use this prefix in addition to \"Bot Prefix\". Set to NONE to not have an alternate prefix.",
|
||||
"env_variable": "BOT_ALT_PREFIX",
|
||||
"default_value": "NONE",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Bot Default Game",
|
||||
"description": "If you change this, it modifies the default game of the bot. Set this to NONE to have no game. Set this to DEFAULT to use the default game. You can make the game \"Playing X\", \"Listening to X\", or \"Watching X\" where X is the title. If you don't include an action, it will use the default of \"Playing\".",
|
||||
"env_variable": "BOT_GAME",
|
||||
"default_value": "DEFAULT",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Bot Default Status",
|
||||
"description": "[ Accepted Values: ONLINE IDLE DND INVISIBLE ] Will modify the default status of bot.",
|
||||
"env_variable": "BOT_STATUS",
|
||||
"default_value": "ONLINE",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:ONLINE,IDLE,DND,INVISIBLE"
|
||||
},
|
||||
{
|
||||
"name": "Bot Show Song in Status",
|
||||
"description": "If you set this to true, the bot will list the title of the song it is currently playing in its \"Playing\" status. NOTE: This will ONLY work if the bot is playing music on ONE Discord server; if the bot is playing in multiple servers, this will not work!",
|
||||
"env_variable": "BOT_SONG_STATUS",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false"
|
||||
},
|
||||
{
|
||||
"name": "Bot Show Images for \"Now Playing\"",
|
||||
"description": "If set to true, the \"nowplaying\" command will show YouTube thumbnails. NOTE: If you set this to true, the nowplaying boxes will NOT refresh. This is because refreshing the boxes causes the image to be reloaded every time it refreshes.",
|
||||
"env_variable": "BOT_NPIMAGES",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false"
|
||||
},
|
||||
{
|
||||
"name": "Bot Stay In Channel",
|
||||
"description": "If set to true, the bot will not leave a voice channel after it finishes a queue. Keep in mind that being connected to a voice channel uses additional bandwidth, so this option is not recommended if bandwidth is a concern.",
|
||||
"env_variable": "BOT_STAY_IN_CHANNEL",
|
||||
"default_value": "false",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|in:true,false"
|
||||
},
|
||||
{
|
||||
"name": "Bot Alone Time Until Disconnect",
|
||||
"description": "This sets the amount of seconds the bot will stay alone on a voice channel until it automatically leaves the voice channel and clears the queue. If not set or set to any number less than or equal to zero, the bot won't leave when alone.",
|
||||
"env_variable": "BOT_ALONE_TIME",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer"
|
||||
},
|
||||
{
|
||||
"name": "Bot Max Song Length",
|
||||
"description": "This sets the maximum amount of seconds any track loaded can be. If not set or set to any number less than or equal to zero, there is no maximum time length. This time restriction applies to songs loaded from any source.",
|
||||
"env_variable": "BOT_MAXTIME",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|integer"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
# This is an example playlist
|
||||
# More information about playlists can be found here: https://jmusicbot.com/playlists/
|
||||
# Command to play this playlist: @Botname play playlist example_playlist
|
||||
# A new playlist can be made by making a new file in this directory called: my_playlist_name.txt
|
||||
|
||||
# The following line currently makes the playlist shuffle
|
||||
# Remove this line entirely if you don't want shuffling
|
||||
#shuffle
|
||||
|
||||
# Search Examples:
|
||||
ytsearch:gorillaz dare audio
|
||||
scsearch:lights metrognome
|
||||
|
||||
# Direct Link Example:
|
||||
https://www.youtube.com/watch?v=dQw4w9WgXcQ
|
||||
|
||||
# YouTube Playlist ID Example:
|
||||
PLUib4KwT0DMJaPgg_nr1ia8FY5JcXksvb
|
||||
|
||||
# Local File Example:
|
||||
# /home/container/music/mysong.mp3
|
||||
@@ -1,7 +0,0 @@
|
||||
# luvit generic
|
||||
|
||||
This egg was designed to allow a user to pull their own lua discord bot from a repo and run it with luvit.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a bot.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
@@ -1,95 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-03-30T02:11:23+00:00",
|
||||
"name": "luvit generic",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A generic luvit egg This will clone a git repo for a bot. It defaults to master if no branch is specified.\r\n\r\nSupports the discordia lua framework.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/luvit {{LUA_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change me\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^c"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n## luvit generic install script\r\n\r\napt update\r\napt install -y git curl jq file unzip\r\n\r\n## get git files\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\nfi\r\n\r\n## install luvit for install time\r\ncurl -L https:\/\/github.com\/luvit\/lit\/raw\/master\/get-lit.sh | sh\r\n\r\n## Install luvit packages\r\n.\/lit install ${LIT_PACKAGES}",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Git Username",
|
||||
"description": "Username to auth with git.",
|
||||
"env_variable": "USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Access Token",
|
||||
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||
"env_variable": "ACCESS_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Repo Address",
|
||||
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "User Uploaded Files",
|
||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||
"env_variable": "USER_UPLOAD",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Git Branch",
|
||||
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Bot lua file",
|
||||
"description": "The Lua file to run",
|
||||
"env_variable": "LUA_FILE",
|
||||
"default_value": "bot.lua",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Lit Packages",
|
||||
"description": "Lit Packages to install\r\n\r\nexample\r\nSinisterRectus\/discordia lduboeuf\/cjson",
|
||||
"env_variable": "LIT_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
# nodemon.js
|
||||
|
||||
Tired of manually restarting your bot? Nodemon will do it by itself.
|
||||
|
||||
Nodemon is a tool that helps develop node.js based applications by automatically restarting the node application when file changes in the directory are detected. Nodemon does not require any additional changes to your code or method of development.
|
||||
|
||||
This egg is designed to run any generic Javascript application, allowing users to pull their own javascript discord bot from a Github repository.
|
||||
|
||||
There is an option to allow a user to upload their own files to run a bot.
|
||||
|
||||
The startup configs and commands may need changing to actually function properly.
|
||||
|
||||
## Configuration
|
||||
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||

|
||||
|
||||
You can use arrays to have multiple different values when different bots are being used
|
||||
```
|
||||
{
|
||||
"done":[
|
||||
"change this text 1",
|
||||
"change this text 2"
|
||||
]
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-08-26T23:09:55-04:00",
|
||||
"name": "nodemon",
|
||||
"author": "nick@blackfortmc.com",
|
||||
"description": "Nodemon javascript egg that automatically restarts the node application when file changes in the directory are detected\r\n\r\nThis will clone a git repo for a bot. it defaults to master if no branch is specified.\r\n\r\nInstalls the node_modules on install. If you set user_upload, then I assume you know what you are doing.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_16",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_15",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_14",
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_12"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "npm install nodemon; if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; fi; \/home\/container\/node_modules\/nodemon\/bin\/nodemon.js \/home\/container\/{{BOT_JS_FILE}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"change this text\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^c"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\necho \"Installing nodejs packages\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "node:14-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [{
|
||||
"name": "Git Repo Address",
|
||||
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/nickdevnl\/repo_name",
|
||||
"env_variable": "GIT_ADDRESS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Install Branch",
|
||||
"description": "The branch of the bot to install.",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "User Uploaded Files",
|
||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||
"env_variable": "USER_UPLOAD",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Auto Update",
|
||||
"description": "Pull the latest files on startup when using a GitHub repo. You must have .git folder, reinstall if you are missing it.",
|
||||
"env_variable": "AUTO_UPDATE",
|
||||
"default_value": "0",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|boolean"
|
||||
},
|
||||
{
|
||||
"name": "Bot js file",
|
||||
"description": "The file that starts the bot.",
|
||||
"env_variable": "BOT_JS_FILE",
|
||||
"default_value": "index.js",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Additional Node packages",
|
||||
"description": "Install additional node packages.\r\n\r\nUse spaces to separate.",
|
||||
"env_variable": "NODE_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Uninstall Node packages",
|
||||
"description": "Uninstall node packages.\r\n\r\nUse spaces to separate.",
|
||||
"env_variable": "UNNODE_PACKAGES",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Username",
|
||||
"description": "Username to auth with git.",
|
||||
"env_variable": "USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
},
|
||||
{
|
||||
"name": "Git Access Token",
|
||||
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||
"env_variable": "ACCESS_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
# parkertron
|
||||
### Their [Github](https://github.com/parkervcp/parkertron)
|
||||
Purely a chatbot. Not even a smart one.
|
||||
|
||||
Runs the Pterodactyl `@support bot`
|
||||
|
||||
### Server Ports
|
||||
There are no ports required for parkertron
|
||||
@@ -3,22 +3,22 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-04-03T12:50:58-04:00",
|
||||
"exported_at": "2018-07-24T00:13:01-04:00",
|
||||
"name": "parkertron",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_parkertron",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:parkertron",
|
||||
"startup": ".\/parkertron",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Bot is now running\"\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "shutdown"
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"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.\"",
|
||||
"container": "golang:1.14-alpine",
|
||||
"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\nmkdir -p go\/bin go\/src\r\n\r\napk add --no-cache --update go git curl lua-stdlib lua musl-dev g++ libc-dev tesseract-ocr tesseract-ocr-dev\r\n\r\necho \"installing dep for golang dependancies\"\r\n\r\ncurl https:\/\/raw.githubusercontent.com\/golang\/dep\/master\/install.sh | sh\r\n\r\ncd go\/src\/\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\ndep ensure\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 \"$DIRECTORY\" ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp -r configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
|
||||
"container": "alpine:3.7",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
# pixelbot
|
||||
### Their [Github](https://github.com/possatti/pixelbot)
|
||||
Bot for pixelcanvas.io
|
||||
|
||||
### Server Ports
|
||||
There are no ports required for pixelbot
|
||||
|
||||
### Side notes
|
||||
This was to make sure the parkervcp/images:python 3 image worked.
|
||||
@@ -3,11 +3,11 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-01-19T11:11:24-05:00",
|
||||
"exported_at": "2018-03-27T08:57:41-04:00",
|
||||
"name": "pixel-bot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:alpine_python-3",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:python3",
|
||||
"startup": "python bot.py",
|
||||
"config": {
|
||||
"files": "{\r\n \"config\/config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"owner\": \"{{server.build.env.OWNER_UID}}\",\r\n \"token\": \"{{server.build.env.BOT_TOKEN}}\",\r\n \"bot_name\": \"{{server.build.env.BOT_NAME}}\",\r\n \"log_file\": \"latest.log\"\r\n }\r\n },\r\n \"plugins\/settings\/imgur.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"client_id\": \"{{server.build.env.IMGUR_KEY}}\",\r\n \"client_secret\": \"{{server.build.env.IMGUR_SECRET}}\"\r\n }\r\n }\r\n}",
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Pixel Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl",
|
||||
"script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache git gcc g++ libffi-dev make\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/Ispira\/pixel-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target $(pwd) discord imgurpython xkcd pynacl",
|
||||
"container": "python:3.6-alpine3.7",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
# Red-DiscordBot
|
||||
### From their [Github](https://github.com/Cog-Creators/Red-DiscordBot)
|
||||
A multifunction Discord bot
|
||||
|
||||
### Server Ports
|
||||
No port are required to run Red.
|
||||
|
||||
if you want to use the internal Lavalink Server, you need to allocate port 2333 as primary
|
||||
|
||||
### Additional Requirements
|
||||
When using the Audio Cog the bot will attempt to save files to /tmp resulting in a disk space error. You may also see this same error when attempting to install a cog, due to pip using /tmp to build the requirements. To resolve this error you must increase the size of `tmpfs` using custom container policy.
|
||||
|
||||
For additional details see:
|
||||
https://pterodactyl.io/wings/1.0/configuration.html#other-values
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
||||
@@ -1,9 +0,0 @@
|
||||
{
|
||||
"pterodactyl": {
|
||||
"DATA_PATH": "/home/container/.local/share/Red-DiscordBot/data/pterodactyl",
|
||||
"COG_PATH_APPEND": "cogs",
|
||||
"CORE_PATH_APPEND": "core",
|
||||
"STORAGE_TYPE": "JSON",
|
||||
"STORAGE_DETAILS": {}
|
||||
}
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-08-04T04:19:56+03:00",
|
||||
"name": "Red",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:bot_red"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "PATH=$PATH:\/home\/container\/.local\/bin redbot pterodactyl --token {{TOKEN}} --prefix {{PREFIX}}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Invite URL:\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"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\"",
|
||||
"container": "python:3.8-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Discord Bot Token",
|
||||
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
|
||||
"env_variable": "TOKEN",
|
||||
"default_value": "GET_YOUR_OWN",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Command Prefix",
|
||||
"description": "The prefix for commands from the bot.",
|
||||
"env_variable": "PREFIX",
|
||||
"default_value": ".",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
# SinusBot
|
||||
### Their [Site](https://www.sinusbot.com/)
|
||||
Listen to your favorite music together with all of your friends
|
||||
|
||||
Welcome the Simple, Elegant & great sounding TS3- and Discord-Bot!
|
||||
|
||||
### Server Ports
|
||||
1 port is required to run SinusBot.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 8087 |
|
||||
|
||||
### Side notes
|
||||
This uses a custom image.
|
||||
@@ -3,11 +3,11 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-07-25T10:48:45-04:00",
|
||||
"exported_at": "2018-10-28T12:24:35-04:00",
|
||||
"name": "Sinusbot",
|
||||
"author": "support@pterodactyl.io",
|
||||
"description": "Musicbot for Discord and Teamspeak.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_sinusbot",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:sinusbot",
|
||||
"startup": ".\/sinusbot --override-password=\"${OVERRIDE_PASSWORD}\"",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.ini\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"ListenPort\": \"ListenPort = {{server.build.default.port}}\",\r\n \"ListenHost\": \"ListenHost = \\\"0.0.0.0\\\"\"\r\n }\r\n }\r\n}",
|
||||
@@ -17,7 +17,7 @@
|
||||
},
|
||||
"scripts": {
|
||||
"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-dl\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#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-dl\/youtube-dl\"' >> 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-dl\r\ncd \/mnt\/server\/youtube-dl\r\nwget -q https:\/\/yt-dl.org\/downloads\/latest\/youtube-dl\r\nchmod a+rx youtube-dl",
|
||||
"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\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-dl\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#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-dl\/youtube-dl\"' >> config.ini\r\n#cp scripts scripts_org\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download TeamSpeak Client\r\nwget http:\/\/dl.4players.de\/ts\/releases\/${TS_VERSION}\/TeamSpeak3-Client-linux_amd64-${TS_VERSION}.run\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\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#Download youtube-dl\r\ncd \/mnt\/server\/youtube-dl\r\nwget -q https:\/\/yt-dl.org\/downloads\/latest\/youtube-dl\r\nchmod a+rx youtube-dl",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
@@ -31,6 +31,15 @@
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Teamspeak version",
|
||||
"description": "What version of teamspeak client to download",
|
||||
"env_variable": "TS_VERSION",
|
||||
"default_value": "3.2.2",
|
||||
"user_viewable": 0,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
# Big Brother Bot
|
||||
### From their [Github](https://github.com/BigBrotherBot/big-brother-bot)
|
||||
Big Brother Bot B3 is a complete and total server administration package for online games. B3 is designed primarily to keep your server free from the derelicts of online gaming, but offers more, much more
|
||||
|
||||
### Server Ports
|
||||
No ports are required to run Big Brother Bot. You can assign a random port to the bot.
|
||||
|
||||
#### Mods/Plugins may require ports to be added to the server.
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-05-26T08:59:34-04:00",
|
||||
"name": "Big Brother Bot",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Big Brother Bot B3 is a complete and total server administration package for online games. B3 is designed primarily to keep your server free from the derelicts of online gaming, but offers more, much more.\r\n\r\nhttps:\/\/github.com\/BigBrotherBot\/big-brother-bot",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-2.7",
|
||||
"startup": "python b3_run.py",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"No idea what to put here\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Pixel Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y install git\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Cloning pixel-bot repo\"\r\ngit clone https:\/\/github.com\/BigBrotherBot\/big-brother-bot.git .\r\n\r\necho \"Installing python requirements into folder\"\r\npip install -U --target \/mnt\/server -r requirements.txt\r\npip install -U --target \/mnt\/server paramiko",
|
||||
"container": "python:2.7-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
# TeamSpeak3 Bots
|
||||
|
||||
### Some of these bots support other services but are primarily TeamSpeak3 bots
|
||||
|
||||
#### JTS3ServerMod
|
||||
[JTS3ServerMod](https://www.stefan1200.de/forum/index.php?topic=2.0)
|
||||
Please Check their site for an in depth on the bot.
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-01-11T00:40:33+01:00",
|
||||
"name": "JTS3ServerMod",
|
||||
"author": "teamwuffy@gmail.com",
|
||||
"description": "Setup:\r\n- Install the latest version\r\n- Go into config\/server1 and edit JTS3ServerMod_server.cfg\r\n- Save and start the server\r\n\r\nAuthor: https:\/\/www.stefan1200.de\/forum\/index.php?topic=2.0",
|
||||
"image": "quay.io\/pterodactyl\/core:java",
|
||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar .\/JTS3ServerMod.jar",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Successful connected to \",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# JTS3ServerMod\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y install wget unzip\r\n\r\ncd \/tmp\r\n\r\nif [ -z \"$SERVER_VERSION\" ] || [ \"$SERVER_VERSION\" == \"latest\" ]; then\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod&type=.zip'\r\nelse\r\n wget -q -O JTS3ServerMod.zip 'https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip'\r\nfi\r\n\r\nunzip JTS3ServerMod.zip\r\n\r\nmkdir -p \/mnt\/server\r\nexport HOME=\/mnt\/server\r\n\r\nmv \/tmp\/JTS3ServerMod\/* \/mnt\/server\/",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "",
|
||||
"env_variable": "SERVER_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
# Twitch Bots
|
||||
|
||||
### Some of these bots support other services but are primarily Twitch bots
|
||||
|
||||
#### PhantomBot [Homepage](https://phantombot.github.io/PhantomBot/) [Egg](/bots/twitch/phantombot/)
|
||||
#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/)
|
||||
@@ -1,27 +0,0 @@
|
||||
# PhantomBot
|
||||
### Their [Site](https://phantombot.github.io/PhantomBot/)
|
||||
PhantomBot is an actively developed open source interactive Twitch bot
|
||||
with a vibrant community that provides entertainment and moderation for your channel,
|
||||
allowing you to focus on what matters the most to you - your game and your viewers.
|
||||
|
||||
### Server Ports
|
||||
3 ports are required to run PhantomBot.
|
||||
|
||||
| Port | default |
|
||||
|---------------------|---------|
|
||||
| Game (HTTP Server) | 25000 |
|
||||
| YoutubeSocketServer | 25003 |
|
||||
| PanelSocketServer | 25004 |
|
||||
|
||||
# NOTES
|
||||
You need to define one main port and the other 2 port need to be +3 and +4!
|
||||
|
||||
Example:
|
||||
|
||||
Port1: 1000
|
||||
|
||||
Port2: 1003
|
||||
|
||||
Port3: 1004
|
||||
|
||||
this are forced and can't be changed!
|
||||
@@ -1,118 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-12-16T19:18:24+02:00",
|
||||
"name": "PhantomBot",
|
||||
"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.",
|
||||
"features": null,
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
|
||||
"startup": "java --add-opens java.base\/java.lang=ALL-UNNAMED -Djava.security.policy=config\/security -Dinteractive -Xms1m -Dfile.encoding=UTF-8 -jar PhantomBot.jar",
|
||||
"config": {
|
||||
"files": "{\r\n \"config\/botlogin.txt\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"baseport\": \"{{server.build.default.port}}\",\r\n \"channel\": \"{{server.build.env.CHANNEL_NAME}}\",\r\n \"owner\": \"{{server.build.env.CHANNEL_OWNER}}\",\r\n \"apioauth\": \"{{server.build.env.USER_OAUTH_TOKEN}}\",\r\n \"oauth\": \"{{server.build.env.BOT_OAUTH_TOKEN}}\",\r\n \"paneluser\": \"{{server.build.env.WEBPANEL_USERNAME}}\",\r\n \"panelpassword\": \"{{server.build.env.WEBPANEL_PASSWORD}}\",\r\n \"user\": \"{{server.build.env.BOT_TWITCH_USERNAME}}\",\r\n \"youtubekey\": \"{{server.build.env.YOUTUBE_API_KEY}}\",\r\n \"discord_token\": \"{{server.build.env.DISCORD_BOT_TOKEN}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Connecting to Twitch WS-IRC Server\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"latest.log\"\r\n}",
|
||||
"stop": "exit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching latest github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"Using latest Github Master version\"\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Download files\r\ncd \/mnt\/server\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Move unzipped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "latest = Latest Stable\r\nmaster = latest Github",
|
||||
"env_variable": "RELEASE_VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:9"
|
||||
},
|
||||
{
|
||||
"name": "Twitch Channel Name",
|
||||
"description": "Enter the Twitch channel name where the bot will connect to",
|
||||
"env_variable": "CHANNEL_NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:26"
|
||||
},
|
||||
{
|
||||
"name": "Channel Owner",
|
||||
"description": "",
|
||||
"env_variable": "CHANNEL_OWNER",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:26"
|
||||
},
|
||||
{
|
||||
"name": "Bot OAuth Token",
|
||||
"description": "Please note, this OAuth token needs to be generated while you're logged in into the bot's Twitch account.\r\nIf you're not logged in as the bot, please go to https:\/\/twitch.tv\/ and login as the bot.\r\nGet the bot's OAuth token here: https:\/\/twitchapps.com\/tmi\/",
|
||||
"env_variable": "BOT_OAUTH_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Your OAuth Token",
|
||||
"description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.github.io\/PhantomBot\/oauth\/",
|
||||
"env_variable": "USER_OAUTH_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Bot Twitch Username",
|
||||
"description": "Please enter the bot's Twitch username",
|
||||
"env_variable": "BOT_TWITCH_USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:26"
|
||||
},
|
||||
{
|
||||
"name": "Webpanel Username",
|
||||
"description": "Please enter a custom username for the web panel",
|
||||
"env_variable": "WEBPANEL_USERNAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:64"
|
||||
},
|
||||
{
|
||||
"name": "Webpanel Password",
|
||||
"description": "Please enter a custom password for the web panel",
|
||||
"env_variable": "WEBPANEL_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:2000"
|
||||
},
|
||||
{
|
||||
"name": "Youtube API Key",
|
||||
"description": "https:\/\/community.phantom.bot\/t\/acquire-youtube-api-key\/222",
|
||||
"env_variable": "YOUTUBE_API_KEY",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "max:64"
|
||||
},
|
||||
{
|
||||
"name": "Discord Bot Token",
|
||||
"description": "https:\/\/community.phantom.bot\/t\/discord-integration-setup\/64",
|
||||
"env_variable": "DISCORD_BOT_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "max:64"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,15 +0,0 @@
|
||||
# SogeBot
|
||||
### Their [Site](https://www.sogebot.xyz)
|
||||
sogeBot is an actively developed open source interactive Twitch bot that provides entertainment and moderation for your channel,
|
||||
allowing you to focus on what matters the most to you - your game and your viewers.
|
||||
|
||||
### Server Ports
|
||||
1 port is required to run sogeBot.
|
||||
|
||||
| Port | default |
|
||||
|---------------------|---------|
|
||||
| Game (HTTP Server) | 20000 |
|
||||
|
||||
#NOTES
|
||||
|
||||
The installation take a long time, because a lot of things must be compiled. It can take 5 or more minutes !!!
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-12-07T12:36:17+00:00",
|
||||
"name": "SogeBot",
|
||||
"author": "info@goover.de",
|
||||
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:nodejs_16"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "npm start",
|
||||
"config": {
|
||||
"files": "{\r\n \".env\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"WebPanel is available at\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#\/bin\/bash\r\napt -y update\r\napt install -y curl unzip sqlite jq wget python3 build-essential\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\nMATCH=sogeBot\r\ncd \/mnt\/server\r\n\r\nrm -fR dest\r\nrm -fR public\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 \"Installing dependencies, this will take some time so sit back and relax...\"\r\n\/usr\/local\/bin\/npm ci 2>&1 | tee npmlog.txt\r\n\r\necho -e \"install completed\"\r\nexit 0",
|
||||
"container": "node:16-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Version to install. Latest will install the latest available version.",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# databases
|
||||
|
||||
## In-Memory Databases
|
||||
### [redis](/redis/)
|
||||
https://redis.io/
|
||||
|
||||
## NoSQL
|
||||
### [mongodb](/nosql/mongodb/)
|
||||
https://www.mongodb.com/
|
||||
|
||||
## SQL Databases
|
||||
### [mariadb](/sql/mariadb/)
|
||||
https://mariadb.org/
|
||||
|
||||
### [postgres](/sql/postgres/)
|
||||
https://www.postgresql.org/
|
||||
@@ -1,14 +0,0 @@
|
||||
# mongoDB
|
||||
### From their [Website](https://www.mongodb.com/)
|
||||
MongoDB is a general purpose, document-based, distributed database built for modern application developers and for the cloud era.
|
||||
|
||||
### Minimum RAM warning
|
||||
MongoDB requires approximately 1GB of RAM per 100.000 assets. If the system has to start swapping memory to disk, this will have a severely negative impact on performance, and should be avoided.
|
||||
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Server | 27017 |
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-10-30T13:01:44+00:00",
|
||||
"name": "MongoDB",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mongo-4",
|
||||
"startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo 127.0.0.1:${SERVER_PORT} && mongo --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"child process started successfully\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "exit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash \r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\ncp \/etc\/mongod.conf.orig \/mnt\/server\/mongod.conf\r\n\r\nmkdir mongodb logs\r\n\r\nmongod --port 27017 --dbpath \/mnt\/server\/mongodb\/ --logpath \/mnt\/server\/logs\/mongo.log --fork\r\n\r\nmongo --eval \"db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})\"\r\n\r\nmongo --eval \"db.getSiblingDB('admin').shutdownServer()\"",
|
||||
"container": "mongo:4-bionic",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Mongo Admin Username",
|
||||
"description": "The MongoDB Admin user",
|
||||
"env_variable": "MONGO_USER",
|
||||
"default_value": "admin",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Mongo Admin Password",
|
||||
"description": "",
|
||||
"env_variable": "MONGO_USER_PASS",
|
||||
"default_value": "aP@55word",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# Redis
|
||||
### From their [Website](https://redis.io/)
|
||||
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
|
||||
|
||||
### Minimum RAM warning
|
||||
It's recommended to have 4gb of RAM for redis
|
||||
|
||||
See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/
|
||||
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Server | 6379 |
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-03-04T11:05:29-05:00",
|
||||
"name": "Redis",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_redis",
|
||||
"startup": "redis-server --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Configuration loaded\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "exit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Redis Password",
|
||||
"description": "The password redis should use to secure the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "P@55w0rd",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# Redis
|
||||
### From their [Website](https://redis.io/)
|
||||
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
|
||||
|
||||
### Minimum RAM warning
|
||||
It's recommended to have 4gb of RAM for redis
|
||||
|
||||
See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/
|
||||
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Server | 6379 |
|
||||
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-09-28T21:07:40-04:00",
|
||||
"name": "Redis-6",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes with radius queries and streams.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_redis-6",
|
||||
"startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}}; redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Configuration loaded\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# Redis Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napk add --no-cache 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\nif [ ! -d \/mnt\/server\/redis.conf ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/redis\/redis-6\/redis.conf -o redis.conf\r\nfi\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"",
|
||||
"container": "alpine:3.10",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Redis Password",
|
||||
"description": "The password redis should use to secure the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "P@55w0rd",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string"
|
||||
}
|
||||
]
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,17 +0,0 @@
|
||||
# MariaDB
|
||||
### From their [Website](https://mariadb.org/)
|
||||
One of the most popular database servers. Made by the original developers of MySQL.
|
||||
Guaranteed to stay open source.
|
||||
|
||||
### Minimum RAM warning
|
||||
There is no actual minimum suggested for MariaDB.
|
||||
|
||||
See here https://mariadb.com/kb/en/library/mariadb-hardware-requirements/
|
||||
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Server | 3306 |
|
||||
@@ -1,26 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-11-06T18:52:33-05:00",
|
||||
"name": "MariaDB",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "One of the most popular database servers. Made by the original developers of MySQL. Guaranteed to stay open source.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_mariadb",
|
||||
"startup": "{ \/usr\/sbin\/mysqld & } && sleep 5 && mysql -u root",
|
||||
"config": {
|
||||
"files": "{\r\n \".my.cnf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"port\": \"port = {{server.build.default.port}}\",\r\n \"bind-address\": \"bind-address=0.0.0.0\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"mysqld: ready for connections\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "shutdown; exit;"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# MariaDB Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nset -x\r\n\r\necho -e \"installing dependencies\"\r\napt-get -y update\r\napt-get -y install curl\r\n\r\n## add user\r\necho -e \"adding container user\"\r\nuseradd -d \/home\/container -m container -s \/bin\/bash\r\n\r\n## own server to container user\r\nchown container: \/mnt\/server\/\r\n\r\n## run install script as user\r\necho -e \"getting my.conf\"\r\nif [ -f \/mnt\/server\/.my.cnf ]; then\r\n echo -e \"moving current config for install\"\r\n mv \/mnt\/server\/.my.cnf \/mnt\/server\/custom.my.cnf\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nelse\r\n runuser -l container -c 'curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/install.my.cnf > \/mnt\/server\/.my.cnf'\r\nfi\r\n\r\n## mkdir and install db\r\necho -e \"installing mysql database\"\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/run\/mysqld'\r\nrunuser -l container -c 'mkdir -p \/mnt\/server\/log\/mysql'\r\nrunuser -l container -c 'mkdir \/mnt\/server\/mysql'\r\n\r\nrunuser -l container -c 'mysql_install_db --defaults-file=\/mnt\/server\/.my.cnf'\r\n\r\nif [ -f \/mnt\/server\/custom.my.cnf ]; then\r\n echo -e \"moving current config back in place\"\r\n mv \/mnt\/server\/custom.my.cnf \/mnt\/server\/.my.cnf\r\nelse\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/database\/sql\/mariadb\/my.cnf > \/mnt\/server\/.my.cnf\r\nfi\r\n\r\necho -e \"install complete\"\r\n\r\nexit",
|
||||
"container": "mariadb:10.3",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
@@ -1,189 +0,0 @@
|
||||
# MariaDB database server configuration file.
|
||||
#
|
||||
# You can copy this file to one of:
|
||||
# - "/etc/mysql/my.cnf" to set global options,
|
||||
# - "~/.my.cnf" to set user-specific options.
|
||||
#
|
||||
# One can use all long options that the program supports.
|
||||
# Run program with --help to get a list of available options and with
|
||||
# --print-defaults to see which it would actually understand and use.
|
||||
#
|
||||
# For explanations see
|
||||
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
||||
|
||||
# This will be passed to all mysql clients
|
||||
# It has been reported that passwords should be enclosed with ticks/quotes
|
||||
# escpecially if they contain "#" chars...
|
||||
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
|
||||
[client]
|
||||
port = 3306
|
||||
socket = /mnt/server/run/mysqld/mysqld.sock
|
||||
|
||||
# Here is entries for some specific programs
|
||||
# The following values assume you have at least 32M ram
|
||||
|
||||
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
||||
[mysqld_safe]
|
||||
socket = /mnt/server/run/mysqld/mysqld.sock
|
||||
nice = 0
|
||||
|
||||
[mysqld]
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
#user = mysql
|
||||
pid-file = /mnt/server/run/mysqld/mysqld.pid
|
||||
socket = /mnt/server/run/mysqld/mysqld.sock
|
||||
port = 3306
|
||||
basedir = /usr
|
||||
datadir = /mnt/server/mysql
|
||||
tmpdir = /tmp
|
||||
lc_messages_dir = /usr/share/mysql
|
||||
lc_messages = en_US
|
||||
skip-external-locking
|
||||
#
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
max_connections = 100
|
||||
connect_timeout = 5
|
||||
wait_timeout = 600
|
||||
max_allowed_packet = 16M
|
||||
thread_cache_size = 128
|
||||
sort_buffer_size = 4M
|
||||
bulk_insert_buffer_size = 16M
|
||||
tmp_table_size = 32M
|
||||
max_heap_table_size = 32M
|
||||
#
|
||||
# * MyISAM
|
||||
#
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched. On error, make copy and try a repair.
|
||||
myisam_recover_options = BACKUP
|
||||
key_buffer_size = 128M
|
||||
#open-files-limit = 2000
|
||||
table_open_cache = 400
|
||||
myisam_sort_buffer_size = 512M
|
||||
concurrent_insert = 2
|
||||
read_buffer_size = 2M
|
||||
read_rnd_buffer_size = 1M
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
# Cache only tiny result sets, so we can fit more in the query cache.
|
||||
query_cache_limit = 128K
|
||||
query_cache_size = 64M
|
||||
# for more write intensive setups, set to DEMAND or OFF
|
||||
#query_cache_type = DEMAND
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# As of 5.1 you can enable the log at runtime!
|
||||
general_log_file = /mnt/server/log/mysql/mysql.log
|
||||
#general_log = 1
|
||||
#
|
||||
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
|
||||
#
|
||||
# we do want to know about network errors and such
|
||||
#log_warnings = 2
|
||||
#
|
||||
# Enable the slow query log to see queries with especially long duration
|
||||
#slow_query_log[={0|1}]
|
||||
slow_query_log_file = /mnt/server/log/mysql/mariadb-slow.log
|
||||
long_query_time = 10
|
||||
#log_slow_rate_limit = 1000
|
||||
#log_slow_verbosity = query_plan
|
||||
|
||||
#log-queries-not-using-indexes
|
||||
#log_slow_admin_statements
|
||||
#
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see README.Debian about
|
||||
# other settings you may need to change.
|
||||
#server-id = 1
|
||||
#report_host = master1
|
||||
#auto_increment_increment = 2
|
||||
#auto_increment_offset = 1
|
||||
#log_bin = /var/log/mysql/mariadb-bin
|
||||
#log_bin_index = /var/log/mysql/mariadb-bin.index
|
||||
# not fab for performance, but safer
|
||||
#sync_binlog = 1
|
||||
expire_logs_days = 10
|
||||
max_binlog_size = 100M
|
||||
# slaves
|
||||
#relay_log = /var/log/mysql/relay-bin
|
||||
#relay_log_index = /var/log/mysql/relay-bin.index
|
||||
#relay_log_info_file = /var/log/mysql/relay-bin.info
|
||||
#log_slave_updates
|
||||
#read_only
|
||||
#
|
||||
# If applications support it, this stricter sql_mode prevents some
|
||||
# mistakes like inserting invalid dates etc.
|
||||
#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
default_storage_engine = InnoDB
|
||||
# you can't just change log file size, requires special procedure
|
||||
#innodb_log_file_size = 50M
|
||||
innodb_buffer_pool_size = 256M
|
||||
innodb_log_buffer_size = 8M
|
||||
innodb_file_per_table = 1
|
||||
innodb_open_files = 400
|
||||
innodb_io_capacity = 400
|
||||
innodb_flush_method = O_DIRECT
|
||||
#
|
||||
# * Security Features
|
||||
#
|
||||
# Read the manual, too, if you want chroot!
|
||||
# chroot = /var/lib/mysql/
|
||||
#
|
||||
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
|
||||
#
|
||||
# ssl-ca=/etc/mysql/cacert.pem
|
||||
# ssl-cert=/etc/mysql/server-cert.pem
|
||||
# ssl-key=/etc/mysql/server-key.pem
|
||||
|
||||
#
|
||||
# * Galera-related settings
|
||||
#
|
||||
[galera]
|
||||
# Mandatory settings
|
||||
#wsrep_on=ON
|
||||
#wsrep_provider=
|
||||
#wsrep_cluster_address=
|
||||
#binlog_format=row
|
||||
#default_storage_engine=InnoDB
|
||||
#innodb_autoinc_lock_mode=2
|
||||
#
|
||||
# Allow server to accept connections on all interfaces.
|
||||
#
|
||||
bind-address=0.0.0.0
|
||||
#
|
||||
# Optional setting
|
||||
#wsrep_slave_threads=1
|
||||
#innodb_flush_log_at_trx_commit=0
|
||||
|
||||
[mysqldump]
|
||||
quick
|
||||
quote-names
|
||||
max_allowed_packet = 16M
|
||||
|
||||
[mysql]
|
||||
#no-auto-rehash # faster start of mysql but no tab completion
|
||||
|
||||
[isamchk]
|
||||
key_buffer = 16M
|
||||
|
||||
#
|
||||
# * IMPORTANT: Additional settings that can override those from this file!
|
||||
# The files must end with '.cnf', otherwise they'll be ignored.
|
||||
#
|
||||
!include /etc/mysql/mariadb.cnf
|
||||
!includedir /etc/mysql/conf.d/
|
||||
@@ -1,190 +0,0 @@
|
||||
# MariaDB database server configuration file.
|
||||
#
|
||||
# You can copy this file to one of:
|
||||
# - "/etc/mysql/my.cnf" to set global options,
|
||||
# - "~/.my.cnf" to set user-specific options.
|
||||
#
|
||||
# One can use all long options that the program supports.
|
||||
# Run program with --help to get a list of available options and with
|
||||
# --print-defaults to see which it would actually understand and use.
|
||||
#
|
||||
# For explanations see
|
||||
# http://dev.mysql.com/doc/mysql/en/server-system-variables.html
|
||||
|
||||
# This will be passed to all mysql clients
|
||||
# It has been reported that passwords should be enclosed with ticks/quotes
|
||||
# escpecially if they contain "#" chars...
|
||||
# Remember to edit /etc/mysql/debian.cnf when changing the socket location.
|
||||
[client]
|
||||
port = 3306
|
||||
socket = /home/container/run/mysqld/mysqld.sock
|
||||
|
||||
# Here is entries for some specific programs
|
||||
# The following values assume you have at least 32M ram
|
||||
|
||||
# This was formally known as [safe_mysqld]. Both versions are currently parsed.
|
||||
[mysqld_safe]
|
||||
socket = /home/container/run/mysqld/mysqld.sock
|
||||
nice = 0
|
||||
|
||||
[mysqld]
|
||||
#
|
||||
# * Basic Settings
|
||||
#
|
||||
#user = mysql
|
||||
pid-file = /home/container/run/mysqld/mysqld.pid
|
||||
socket = /home/container/run/mysqld/mysqld.sock
|
||||
port = 3306
|
||||
basedir = /usr
|
||||
datadir = /home/container/mysql
|
||||
tmpdir = /tmp
|
||||
lc_messages_dir = /usr/share/mysql
|
||||
lc_messages = en_US
|
||||
skip-external-locking
|
||||
#
|
||||
# Instead of skip-networking the default is now to listen only on
|
||||
# localhost which is more compatible and is not less secure.
|
||||
bind-address=0.0.0.0
|
||||
#
|
||||
# * Fine Tuning
|
||||
#
|
||||
max_connections = 100
|
||||
connect_timeout = 5
|
||||
wait_timeout = 600
|
||||
max_allowed_packet = 16M
|
||||
thread_cache_size = 128
|
||||
sort_buffer_size = 4M
|
||||
bulk_insert_buffer_size = 16M
|
||||
tmp_table_size = 32M
|
||||
max_heap_table_size = 32M
|
||||
#
|
||||
# * MyISAM
|
||||
#
|
||||
# This replaces the startup script and checks MyISAM tables if needed
|
||||
# the first time they are touched. On error, make copy and try a repair.
|
||||
myisam_recover_options = BACKUP
|
||||
key_buffer_size = 128M
|
||||
#open-files-limit = 2000
|
||||
table_open_cache = 400
|
||||
myisam_sort_buffer_size = 512M
|
||||
concurrent_insert = 2
|
||||
read_buffer_size = 2M
|
||||
read_rnd_buffer_size = 1M
|
||||
#
|
||||
# * Query Cache Configuration
|
||||
#
|
||||
# Cache only tiny result sets, so we can fit more in the query cache.
|
||||
query_cache_limit = 128K
|
||||
query_cache_size = 64M
|
||||
# for more write intensive setups, set to DEMAND or OFF
|
||||
#query_cache_type = DEMAND
|
||||
#
|
||||
# * Logging and Replication
|
||||
#
|
||||
# Both location gets rotated by the cronjob.
|
||||
# Be aware that this log type is a performance killer.
|
||||
# As of 5.1 you can enable the log at runtime!
|
||||
general_log_file = /home/container/log/mysql/mysql.log
|
||||
#general_log = 1
|
||||
#
|
||||
# Error logging goes to syslog due to /etc/mysql/conf.d/mysqld_safe_syslog.cnf.
|
||||
#
|
||||
# we do want to know about network errors and such
|
||||
#log_warnings = 2
|
||||
#
|
||||
# Enable the slow query log to see queries with especially long duration
|
||||
#slow_query_log[={0|1}]
|
||||
slow_query_log_file = /home/container/log/mysql/mariadb-slow.log
|
||||
long_query_time = 10
|
||||
#log_slow_rate_limit = 1000
|
||||
#log_slow_verbosity = query_plan
|
||||
|
||||
#log-queries-not-using-indexes
|
||||
#log_slow_admin_statements
|
||||
#
|
||||
# The following can be used as easy to replay backup logs or for replication.
|
||||
# note: if you are setting up a replication slave, see README.Debian about
|
||||
# other settings you may need to change.
|
||||
#server-id = 1
|
||||
#report_host = master1
|
||||
#auto_increment_increment = 2
|
||||
#auto_increment_offset = 1
|
||||
#log_bin = /var/log/mysql/mariadb-bin
|
||||
#log_bin_index = /var/log/mysql/mariadb-bin.index
|
||||
# not fab for performance, but safer
|
||||
#sync_binlog = 1
|
||||
expire_logs_days = 10
|
||||
max_binlog_size = 100M
|
||||
# slaves
|
||||
#relay_log = /var/log/mysql/relay-bin
|
||||
#relay_log_index = /var/log/mysql/relay-bin.index
|
||||
#relay_log_info_file = /var/log/mysql/relay-bin.info
|
||||
#log_slave_updates
|
||||
#read_only
|
||||
#
|
||||
# If applications support it, this stricter sql_mode prevents some
|
||||
# mistakes like inserting invalid dates etc.
|
||||
#sql_mode = NO_ENGINE_SUBSTITUTION,TRADITIONAL
|
||||
#
|
||||
# * InnoDB
|
||||
#
|
||||
# InnoDB is enabled by default with a 10MB datafile in /var/lib/mysql/.
|
||||
# Read the manual for more InnoDB related options. There are many!
|
||||
default_storage_engine = InnoDB
|
||||
# you can't just change log file size, requires special procedure
|
||||
#innodb_log_file_size = 50M
|
||||
innodb_buffer_pool_size = 256M
|
||||
innodb_log_buffer_size = 8M
|
||||
innodb_file_per_table = 1
|
||||
innodb_open_files = 400
|
||||
innodb_io_capacity = 400
|
||||
innodb_flush_method = O_DIRECT
|
||||
#
|
||||
# * Security Features
|
||||
#
|
||||
# Read the manual, too, if you want chroot!
|
||||
# chroot = /var/lib/mysql/
|
||||
#
|
||||
# For generating SSL certificates I recommend the OpenSSL GUI "tinyca".
|
||||
#
|
||||
# ssl-ca=/etc/mysql/cacert.pem
|
||||
# ssl-cert=/etc/mysql/server-cert.pem
|
||||
# ssl-key=/etc/mysql/server-key.pem
|
||||
|
||||
#
|
||||
# * Galera-related settings
|
||||
#
|
||||
[galera]
|
||||
# Mandatory settings
|
||||
#wsrep_on=ON
|
||||
#wsrep_provider=
|
||||
#wsrep_cluster_address=
|
||||
#binlog_format=row
|
||||
#default_storage_engine=InnoDB
|
||||
#innodb_autoinc_lock_mode=2
|
||||
#
|
||||
# Allow server to accept connections on all interfaces.
|
||||
#
|
||||
bind-address=0.0.0.0
|
||||
#
|
||||
# Optional setting
|
||||
#wsrep_slave_threads=1
|
||||
#innodb_flush_log_at_trx_commit=0
|
||||
|
||||
[mysqldump]
|
||||
quick
|
||||
quote-names
|
||||
max_allowed_packet = 16M
|
||||
|
||||
[mysql]
|
||||
#no-auto-rehash # faster start of mysql but no tab completion
|
||||
|
||||
[isamchk]
|
||||
key_buffer = 16M
|
||||
|
||||
#
|
||||
# * IMPORTANT: Additional settings that can override those from this file!
|
||||
# The files must end with '.cnf', otherwise they'll be ignored.
|
||||
#
|
||||
!include /etc/mysql/mariadb.cnf
|
||||
!includedir /etc/mysql/conf.d/
|
||||
@@ -1,16 +0,0 @@
|
||||
# PostgreSQL
|
||||
### From their [Website](https://www.postgresql.org/)
|
||||
The World's Most Advanced Open Source Relational Database
|
||||
|
||||
### Minimum RAM warning
|
||||
2 Gigabytes minimum recommended
|
||||
|
||||
See here https://www.commandprompt.com/blog/postgresql_mininum_requirements/
|
||||
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Server | 5432 |
|
||||
@@ -1,63 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-03-04T09:53:34-05:00",
|
||||
"name": "Postgres",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A default Postgres install that is not really editable.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:db_postgres",
|
||||
"startup": "postgres -D \/home\/container\/postgres_db\/",
|
||||
"config": {
|
||||
"files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n\t\t \"#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\necho $POSTGRES_PASSWORD > .passwd\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\ncat .passwd\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U container --pwfile .passwd'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\necho -e \"Done\"",
|
||||
"container": "postgres:13.1-alpine",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Database Password",
|
||||
"description": "The Postgres user password that can be changed and should change on server restart.",
|
||||
"env_variable": "PGPASSWORD",
|
||||
"default_value": "P@55word",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"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": "PGROOT",
|
||||
"default_value": "ZPWgpMN4hETqjXAV",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Postgres User",
|
||||
"description": "The user for the postgres database",
|
||||
"env_variable": "PGUSER",
|
||||
"default_value": "pterodactyl",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Postgres Database",
|
||||
"description": "The postgres database the user will have access too.",
|
||||
"env_variable": "PGDATABASE",
|
||||
"default_value": "pterodactyl",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,50 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-12-13T18:45:31+00:00",
|
||||
"name": "webdis",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "A very simple web server providing an HTTP interface to Redis. It uses hiredis, jansson, libevent, and http-parser.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"ghcr.io\/parkervcp\/yolks:debian"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/webdis",
|
||||
"config": {
|
||||
"files": "{\r\n \"webdis.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"http_host\":\"0.0.0.0\",\r\n \"http_port\":\"{{server.build.default.port}}\",\r\n \"redis_host\": \"{{server.build.env.REDIS_HOST}}\",\r\n \"redis_port\": \"{{server.build.env.REDIS_PORT}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\nGITHUB_PACKAGE='nicolasff\/webdis'\r\n\r\napt update -y\r\napt install -y make gcc libevent-dev curl jq unzip\r\n\r\nmkdir -p \/mnt\/server\/\r\n\r\ncd \/tmp\/\r\n\r\nZIP_URL=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/tags\" | jq -r '.[0].zipball_url')\r\n\r\ncurl -sSL ${ZIP_URL} -o webdis.zip\r\n\r\nunzip webdis.zip\r\n\r\nmv $(echo $GITHUB_PACKAGE | sed 's,\/,-,g')* webdis\r\n\r\ncd webdis\/\r\n\r\nmake\r\n\r\nmv webdis webdis.json \/mnt\/server\r\n\r\necho -e \"job's done\"",
|
||||
"container": "ghcr.io\/parkervcp\/installers:debian",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Redis Host",
|
||||
"description": "",
|
||||
"env_variable": "REDIS_HOST",
|
||||
"default_value": "172.18.0.1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string"
|
||||
},
|
||||
{
|
||||
"name": "Redis Port",
|
||||
"description": "",
|
||||
"env_variable": "REDIS_PORT",
|
||||
"default_value": "6379",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|numeric"
|
||||
}
|
||||
]
|
||||
}
|
||||
+1
-1
@@ -11,7 +11,7 @@ Minimum required memory to run the server is around 512mb for a single user..
|
||||
|
||||
|
||||
### Server Ports
|
||||
Don't Starve Together only requires a single port to run. The default is 10999
|
||||
Don't Starve Together only requires a single port to run. The default is 7777
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
@@ -0,0 +1,45 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2018-10-06T20:21:42-04:00",
|
||||
"name": "Don't Starve",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Don\u2019t Starve is an uncompromising wilderness survival game full of science and magic.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:source",
|
||||
"startup": "'cd bin && .\/dontstarve_dedicated_server_nullrenderer -bind_ip 0.0.0.0 -port {{SERVER_PORT}} -console -persistent_storage_root \/home\/container\/DoNotStarveTogether -conf_dir config -cluster server -players {{MAX_PLAYERS}}'",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"Setting breakpad minidump AppID\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Don't Starve Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/tmp\r\ncurl -sSL -o steamcmd.tar.gz http:\/\/media.steampowered.com\/installer\/steamcmd_linux.tar.gz\r\n\r\nmkdir -p \/mnt\/server\/steamcmd \/mnt\/server\/logs\r\ntar -xzvf steamcmd.tar.gz -C \/mnt\/server\/steamcmd\r\ncd \/mnt\/server\/steamcmd\r\n\r\n# SteamCMD fails otherwise for some reason, even running as root.\r\n# This is changed at the end of the install process anyways.\r\nchown -R root:root \/mnt\r\n\r\nexport HOME=\/mnt\/server\r\n\r\n.\/steamcmd.sh +login anonymous +force_install_dir \/mnt\/server +app_update 343050 +quit\r\n\r\nmkdir -p \/mnt\/server\/.steam\/sdk32\r\ncp -v linux32\/steamclient.so ..\/.steam\/sdk32\/steamclient.so\r\n\r\nmkdir -p ~\/DoNotStarveTogether\/config\/server\/\r\necho \"${SERVER_TOKEN}\" >> ~\/DoNotStarveTogether\/config\/server\/cluster_token.txt",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "Set the maximum number of players that will be allowed to join the game. This option overrides the [GAMEPLAY] \/ max_players setting in cluster.ini.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "4",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 0,
|
||||
"rules": "required|integer|between:1,31"
|
||||
},
|
||||
{
|
||||
"name": "Server Token",
|
||||
"description": "Required to run a public server. This needs to be generated from in game.",
|
||||
"env_variable": "SERVER_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:64"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,8 +1,7 @@
|
||||
# Factorio
|
||||
|
||||
#### The Factorio Server
|
||||
The server supports mods.
|
||||
The factorio-modupdate egg uses the factorio-mod-updater (https://github.com/pdemonaco/factorio-mod-updater) to update your mods when ReInstalling the Server.
|
||||
The server supports mods
|
||||
|
||||
#### from the developers
|
||||
|
||||
+17
-8
@@ -3,23 +3,23 @@
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-06-26T12:55:32-04:00",
|
||||
"exported_at": "2018-07-29T02:28:44-04:00",
|
||||
"name": "Factorio",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
||||
"image": "quay.io\/pterodactyl\/core:glibc",
|
||||
"startup": ".\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server {{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 \"userInteraction\": []\r\n}",
|
||||
"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 \"game_password\": \"{{server.build.env.SERVER_PASS}}\",\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 IP ADDR\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"factorio-current.log\"\r\n}",
|
||||
"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\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME}\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
"script": "#!\/bin\/ash\r\n# Factorio Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl tar xz jq\r\n\r\nlatest_stable=`curl -sL https:\/\/updater.factorio.com\/get-available-versions | jq -r '.[\"core-linux_headless64\"] | .[] | .[\"stable\"] | select(. != null)'`\r\nlatest_experimental=`curl -sL https:\/\/www.factorio.com\/download-headless\/experimental | grep -m 1 -o -E '([0-9]\\.[0-9][0-9]\\.[0-9][0-9] | [0-9]\\.[0-9][0-9]\\.[0-9])'`\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\necho -e \"\\n running 'curl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}.tar.gz' \\n\"\r\n\r\ncd \/mnt\/server\r\n\r\ncurl -sL https:\/\/www.factorio.com\/get-download\/${DL_VERSION}\/headless\/linux64 -o factorio-${DL_VERSION}.tar.gz\r\n\r\ntar -xf factorio-${DL_VERSION}.tar.gz --strip-components=1 -C \/mnt\/server\r\n\r\nrm factorio-${DL_VERSION}.tar.gz\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\nif [ -e ${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create ${SAVE_NAME} --map-settings data\/map-settings.json --map-gen-settings data\/map-gen-settings.json\r\n chmod o+w ${SAVE_NAME}.zip\r\nfi",
|
||||
"container": "frolvlad\/alpine-glibc",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
@@ -112,6 +112,15 @@
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|numeric|digits_between:1,3"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password to join the server, Blank is none.",
|
||||
"env_variable": "SERVER_PASS",
|
||||
"default_value": "",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:30"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
@@ -1,166 +0,0 @@
|
||||
## Game Eggs
|
||||
[Among Us](among_us)
|
||||
* [Impostor Server](among_us/impostor_server)
|
||||
* [CrewLink Server](among_us/crewlink_server)
|
||||
|
||||
[BeamNG.drive](beamng)
|
||||
* [BeamMP Server](beamng/beammp)
|
||||
* [KissMP](beamng/kissmp)
|
||||
|
||||
[ClassiCube](game_eggs/classicube)
|
||||
* [MCGalaxy](game_eggs/classicube/mcgalaxy)
|
||||
|
||||
[Cryofall](cryofall/cryofall)
|
||||
|
||||
[Call of Duty 4X](cod/cod4x)
|
||||
|
||||
[ET Legacy](enemy_territory/etlegacy)
|
||||
|
||||
[FTL: Tachyon](ftl/tachyon)
|
||||
|
||||
[Factorio](factorio)
|
||||
* [Vanilla](factorio/factorio)
|
||||
* [ModUpdate](factorio/factorio-modupdate)
|
||||
|
||||
[Grand Theft Auto](gta)
|
||||
* GTA V
|
||||
* [FiveM](gta/fivem)
|
||||
* [RageMP](gta/ragemp)
|
||||
* [alt:V](gta/altv)
|
||||
|
||||
* GTA SA
|
||||
* [Multi Theft Auto](gta/mtasa)
|
||||
* [SA-MP](gta/samp)
|
||||
|
||||
* GTA
|
||||
* [GTAC](gta/gtac)
|
||||
|
||||
[Mindustry](mindustry)
|
||||
* [Mindustry](mindustry/mindustry)
|
||||
|
||||
[League Sandbox](leaguesandbox)
|
||||
* [League Sandbox](leaguesandbox/leaguesandbox)
|
||||
|
||||
[Minetest](minetest) (including MTG)
|
||||
* [Minetest](minetest/minetest)
|
||||
|
||||
[Minecraft](minecraft)
|
||||
* [Bedrock](minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
|
||||
* [Bedrock](minecraft/bedrock/bedrock)
|
||||
* [gomint](minecraft/bedrock/gomint)
|
||||
* [Nukkit](minecraft/bedrock/nukkit)
|
||||
* [PocketMine MP](minecraft/bedrock/pocketmine_mp)
|
||||
|
||||
* [Java](minecraft/java) Servers for Java Minecraft
|
||||
* [Airplane](minecraft/java/airplane)
|
||||
* [Cuberite](minecraft/java/cuberite)
|
||||
* [Fabric](minecraft/java/fabric)
|
||||
* [Feather](minecraft/java/feather)
|
||||
* [Feed The Beast](minecraft/java/ftb)
|
||||
* [Forge](minecraft/java/forge)
|
||||
* [Krypton](/minecraft/java/krypton)
|
||||
* [Magma](minecraft/java/magma)
|
||||
* [Mohist](minecraft/java/mohist)
|
||||
* [NanoLimbo](/minecraft/java/nanolimbo)
|
||||
* [Paper](minecraft/java/paper)
|
||||
* [Purpur](minecraft/java/purpur)
|
||||
* [Spigot](minecraft/java/spigot)
|
||||
* [SpongeForge](minecraft/java/spongeforge)
|
||||
* [SpongeVanilla](minecraft/java/spongevanilla)
|
||||
* [Technic](minecraft/java/technic)
|
||||
* [Tuinity](minecraft/java/tuinity)
|
||||
* [VanillaCord](minecraft/java/vanillacord)
|
||||
|
||||
* [Proxies](minecraft/proxy) Minecraft Server Proxies
|
||||
* [Java](minecraft/proxy/java)
|
||||
* [FlameCord](minecraft/proxy/java/flamecord)
|
||||
* [Travertine](minecraft/proxy/java/travertine)
|
||||
* [TyphoonLimbo](minecraft/proxy/java/typhoonlimbo)
|
||||
* [Velocity](minecraft/proxy/java/velocity)
|
||||
* [Waterfall](minecraft/proxy/java/waterfall)
|
||||
* [Cross Platform](minecraft/proxy/cross_platform)
|
||||
* [GeyserMC](minecraft/proxy/cross_platform/geyser)
|
||||
* [Waterdog](minecraft/proxy/cross_platform/waterdog)
|
||||
|
||||
[OpenArena](openarena)
|
||||
* [openarena](openarena/openarena)
|
||||
|
||||
[OpenRA](openra)
|
||||
* [OpenRA Dune2000](openra/openra_dune2000)
|
||||
* [OpenRA Red Alert](openra/openra_red_alert)
|
||||
* [OpenRA Tiberian Dawn](openra/openra_tiberian_dawn)
|
||||
|
||||
[Red Dead Redemption](rdr)
|
||||
* [RedM](rdr/redm)
|
||||
|
||||
[SteamCMD Servers](steamcmd_servers) These eggs use SteamCMD to install
|
||||
* [7 Days to Die](steamcmd_servers/7_days_to_die)
|
||||
* [ARK: Survival Evolved](steamcmd_servers/ark_survival_evolved)
|
||||
* [Arma](steamcmd_servers/arma)
|
||||
* [Arma 3](steamcmd_servers/arma/arma3)
|
||||
* [Assetto Corsa](steamcmd_servers/assetto_corsa)
|
||||
* [Avorion](steamcmd_servers/avorion)
|
||||
* [Barotrauma](steamcmd_servers/barotrauma)
|
||||
* [Citadel: Forged with Fire](steamcmd_servers/citadel)
|
||||
* [Conan Exiles](steamcmd_servers/conan_exiles)
|
||||
* [Don't Starve Together](steamcmd_servers/dont_starve)
|
||||
* [ECO](steamcmd_servers/eco)
|
||||
* [Fistful of Frags](steamcmd_servers/fof)
|
||||
* [HLDS Server](steamcmd_servers/hlds_server)
|
||||
* [Holdfast: Nations At War](steamcmd_servers/holdfast)
|
||||
* [Hurtworld](steamcmd_servers/hurtworld)
|
||||
* [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm)
|
||||
* [Killing Floor 2](steamcmd_servers/killing_floor_2)
|
||||
* [Modiverse](steamcmd_servers/modiverse)
|
||||
* [Mordhau](steamcmd_servers/mordhau)
|
||||
* [No More Room in Hell](steamcmd_servers/nmrih)
|
||||
* [Onset](steamcmd_servers/onset)
|
||||
* [Pavlov VR](steamcmd_servers/pavlov_vr)
|
||||
* [PixARK](steamcmd_servers/pixark)
|
||||
* [Post Scriptum](steamcmd_servers/post_scriptum)
|
||||
* [Project Zomboid](steamcmd_servers/project_zomboid)
|
||||
* [Quake Live](steamcmd_servers/quake_live)
|
||||
* [Rising World](steamcmd_servers/rising_world)
|
||||
* [Risk Of Rain 2](steamcmd_servers/risk_of_rain_2)
|
||||
* [Rust](steamcmd_servers/rust)
|
||||
* [Autowipe](steamcmd_servers/rust/rust_autowipe)
|
||||
* [Staging](steamcmd_servers/rust/rust_staging)
|
||||
* [Satisfactory](steamcmd_servers/satisfactory)
|
||||
* [SCP: Secret Laboratory](steamcmd_servers/scpsl)
|
||||
* [dedicated](steamcmd_servers/scpsl/dedicated)
|
||||
* [multiadmin](steamcmd_servers/scpsl/multiadmin)
|
||||
* [Soldat](steamcmd_servers/soldat)
|
||||
* [Space Engineers](steamcmd_servers/space_engineers)
|
||||
* [Squad](steamcmd_servers/squad)
|
||||
* [Starbound](steamcmd_servers/starbound)
|
||||
* [Stationeers](steamcmd_servers/stationeers)
|
||||
* [Stormworks: Build and Rescue](steamcmd_servers/stormworks)
|
||||
* [Subnautica: Nitrox Mod](steamcmd_servers/subnautica_nitrox_mod)
|
||||
* [Sven Co-op](steamcmd_servers/svencoop)
|
||||
* [The Forest](steamcmd_servers/the_forest)
|
||||
* [Team Fortress 2 Classic](steamcmd_servers/team_fortress_2_classic)
|
||||
* [Unturned](steamcmd_servers/unturned)
|
||||
* [Valheim](steamcmd_servers/valheim)
|
||||
* [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla)
|
||||
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
|
||||
|
||||
[Teeworlds](teeworlds)
|
||||
* [Teeworlds](teeworlds/teeworlds)
|
||||
|
||||
[Terraria](terraria)
|
||||
* [Vanilla](terraria/vanilla)
|
||||
* [tModLoader](terraria/tmodloader)
|
||||
* [TShock](terraria/tshock)
|
||||
|
||||
[Tycoon Games](tycoon_games)
|
||||
* [OpenTTD](tycoon_games/openttd)
|
||||
|
||||
[Unreal Engine](unreal_engine)
|
||||
* [Tower Unite](unreal_engine/tower_unite)
|
||||
* [Tower Unite](steamcmd_servers/tower_unite)
|
||||
|
||||
[Veloren](veloren/veloren)
|
||||
|
||||
[Vintage Story](vintage_story/vintage_story)
|
||||
|
||||
[Xonotic](xonotic/xonotic)
|
||||
@@ -1,7 +0,0 @@
|
||||
# Among Us
|
||||
|
||||
[CrewLink Server](crewlink_server)
|
||||
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required.
|
||||
|
||||
[Impostor Server](impostor_server)
|
||||
Impostor is one of the first Among Us private servers, written in C#.
|
||||
@@ -1,7 +0,0 @@
|
||||
# Among Us - CrewLink Server
|
||||
### From their [Github](https://github.com/ottomated/CrewLink)
|
||||
|
||||
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required. Spatial audio ensures that you can only hear people close to you.
|
||||
|
||||
### Server Port
|
||||
Default port is 9736 but you can change to any port or domain/ip in the egg
|
||||
@@ -1,82 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2020-12-16T20:11:55+01:00",
|
||||
"name": "Crewlink server",
|
||||
"author": "panel@oxtroit.com",
|
||||
"description": "An egg designed to allow support for Proximity Chat in Among Us using CrewLink Server",
|
||||
"features": null,
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
|
||||
"startup": "yarn start",
|
||||
"config": {
|
||||
"files": "{}",
|
||||
"startup": "{\r\n \"done\": \"<info> CrewLink Server started\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^c"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nINSTALL_REPO=\"https:\/\/github.com\/ottomated\/crewlink-server.git\"\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\ncloning files from repo\"\r\necho -e \"running 'git clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .'\"\r\ngit clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/yarn install\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||
"container": "node:12-buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Github branch",
|
||||
"description": "Set this to 'devel' if you wanna run a develop server.",
|
||||
"env_variable": "BRANCH",
|
||||
"default_value": "master",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Domain",
|
||||
"description": "Domain of your server or ip of your server",
|
||||
"env_variable": "ADDRESS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:50"
|
||||
},
|
||||
{
|
||||
"name": "Server name",
|
||||
"description": "Specifiy the name of your Crewlink server",
|
||||
"env_variable": "NAME",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:75"
|
||||
},
|
||||
{
|
||||
"name": "Use HTTPS",
|
||||
"description": "Enables https. You must place privkey.pem and fullchain.pem in your CWD.",
|
||||
"env_variable": "HTTPS",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Path to SSL",
|
||||
"description": "Alternate path to SSL certificates.",
|
||||
"env_variable": "SSLPATH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:250"
|
||||
},
|
||||
{
|
||||
"name": "Port",
|
||||
"description": "Choose the port your server should run on",
|
||||
"env_variable": "PORT",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,16 +0,0 @@
|
||||
# Among Us - Impostor Server
|
||||
### From their [Github](https://github.com/AeonLucid/Impostor)
|
||||
|
||||
Impostor is one of the first Among Us private servers, written in C#.
|
||||
There are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.
|
||||
|
||||
### Install notes
|
||||
|
||||
You MUST use Port 22023 for the Master Server. To host multiple servers, please read [Impostor Multiple Servers Documentation](https://github.com/Impostor/Impostor/blob/master/docs/Running-the-server.md#multiple-servers).
|
||||
|
||||
### Server Ports
|
||||
Ports required to run the server in a table format.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 22023 |
|
||||
@@ -1,41 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-07-23T12:00:05+03:00",
|
||||
"name": "Among Us - Impostor Server",
|
||||
"author": "info@goover.de",
|
||||
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2020.9.22, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:debian_dotnet-5"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/Impostor.Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Server.PublicPort\": \"{{server.build.default.port}}\",\r\n \"Server.ListenPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Matchmaker is listening on\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt -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\"",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Download Version",
|
||||
"description": "Version to Download. Leave latest for the latest release.\r\n\r\nFind all releases at https:\/\/github.com\/Impostor\/Impostor\/releases",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,6 +0,0 @@
|
||||
# BeamMP
|
||||
|
||||
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
|
||||
|
||||
* [BeamMP Server](beammp)
|
||||
* [KissMP](kissmp)
|
||||
@@ -1,7 +0,0 @@
|
||||
|
||||
# BeamMP
|
||||
|
||||
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
|
||||
|
||||
* [BeamMP Server](game_eggs/beamng/beammp)
|
||||
* [KissMP](game_eggs/beamng/kissmp)
|
||||
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-04-17T15:17:54-04:00",
|
||||
"name": "BeamMP Servers",
|
||||
"author": "noah@noahserver.online",
|
||||
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point throug which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": ".\/BeamMP-Server",
|
||||
"config": {
|
||||
"files": "{\r\n \"Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers\": \"MaxPlayers = {{server.build.env.MAX_PLAYER}}\",\r\n \"Port\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTH}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "cd \/mnt\/server\r\n\r\nrm -f BeamMP-Server\r\n\r\napt update -y\r\napt install -y curl\r\ncurl -LJO https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases\/download\/${VERSION}\/BeamMP-Server-linux\r\nmv BeamMP-Server-linux BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\necho \"# This is the BeamMP Server Configuration File v0.60\r\nDebug = false # true or false to enable debug console output\r\nPrivate = true # Private?\r\nPort = 30814 # Port to run the server on UDP and TCP\r\nCars = 1 # Max cars for every player\r\nMaxPlayers = 10 # Maximum Amount of Clients\r\nMap = \\\"\/levels\/gridmap\/info.json\\\" # Default Map\r\nName = \\\"BeamMP New Server\\\" # Server Name\r\nDesc = \\\"BeamMP Default Description\\\" # Server Description\r\nuse = \\\"Resources\\\" # Resource file name\r\nAuthKey = \\\"\\\" # Auth Key\" > Server.cfg",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Version",
|
||||
"description": "Github Server Version, to see all versions visit https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "v2.0.3",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:32"
|
||||
},
|
||||
{
|
||||
"name": "Authentication Key",
|
||||
"description": "BeamMP Server Key (https:\/\/beamng-mp.com\/k\/keys)",
|
||||
"env_variable": "AUTH",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:50"
|
||||
},
|
||||
{
|
||||
"name": "Max Players",
|
||||
"description": "The maximum number of allowed players",
|
||||
"env_variable": "MAX_PLAYER",
|
||||
"default_value": "6",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:32"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,5 +0,0 @@
|
||||
# BeamNG.drive - KISS Multiplayer
|
||||
|
||||
### From their [Github](https://github.com/TheHellBox/KISS-multiplayer)
|
||||
|
||||
Server settings such as the map can be changed in the `config.json` file. Port is automatically set on each boot.
|
||||
@@ -1,27 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2021-02-15T20:05:24+00:00",
|
||||
"name": "KissMP Server",
|
||||
"author": "me@weilbyte.dev",
|
||||
"description": "Server for the KISS Multiplayer BeamNG.drive mod",
|
||||
"features": null,
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
||||
"startup": ".\/kissmp-server",
|
||||
"config": {
|
||||
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Server is running!\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "^C"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y wget unzip \r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_RELEASE=$(wget -qO- https:\/\/api.github.com\/repos\/TheHellBox\/KISS-multiplayer\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\nDownloading latest release ${LATEST_RELEASE}\"\r\n\r\nwget $LATEST_RELEASE -O kissmp.zip\r\nunzip -j kissmp.zip '*\/kissmp-server'\r\n\r\nrm -rf kissmp.zip\r\n\r\nif [ -f \/mnt\/server\/kissmp-server ]; then\r\n echo -e \"Install complete\"\r\n chmod +x \/mnt\/server\/kissmp-server\r\n \r\n # Generate config\r\n .\/kissmp-server & serverpid=$! \r\n sleep 1\r\n kill $serverpid\r\n \r\n exit 0\r\nelse \r\n echo -e \"Install failed (no \/mnt\/server\/kissmp-server file present)\"\r\n exit 1\r\nfi",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": []
|
||||
}
|
||||
@@ -1,10 +0,0 @@
|
||||
# Classicube MCGalaxy
|
||||
[MCGalaxy](https://github.com/UnknownShadow200/MCGalaxy)
|
||||
|
||||
MCGalaxy is a fully featured and customisable ClassiCube Server Software based on MCForge/MCLawl.
|
||||
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 25565 |
|
||||
|
||||
@@ -1,59 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-08-27T01:20:58-04:00",
|
||||
"name": "ClassiCube(MGC)",
|
||||
"author": "panel@qoutsy.33mail.com",
|
||||
"description": "Debian based MCGalaxy Egg.",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:debian_mono-5-complete"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "mono MCGalaxyCLI.exe",
|
||||
"config": {
|
||||
"files": "{\r\n \"\/properties\/server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-name\": \"{{server.build.env.HOSTNAME}}\",\r\n \"motd\": \"{{server.build.env.MOTD}}\",\r\n \"public\": \"true\",\r\n \"port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"Finished setting up server\"\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "\/shutdown 3 SIGTERM Server shutting down..."
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\napt update \r\napt -y install curl jq unzip\r\n\r\nMATCH=mcgalaxy_\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/UnknownShadow200\/MCGalaxy\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/UnknownShadow200\/MCGalaxy\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"Specified install version not found. 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\r\necho -e \"Downloading ClassiCube version ${VERSION}\"\r\necho -e \"Download URL is ${DOWNLOAD_URL}\"\r\ncurl -ssL -o mcgalaxy.zip ${DOWNLOAD_URL}\r\nunzip -j mcgalaxy.zip\r\nrm mcgalaxy.zip\r\nchmod +X *.dll *.exe\r\necho \"Install complete\"",
|
||||
"container": "debian:buster-slim",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Install Version",
|
||||
"description": "Specify the version to install from https:\/\/github.com\/UnknownShadow200\/MCGalaxy\/releases. Leave latest to install the latest version.",
|
||||
"env_variable": "VERSION",
|
||||
"default_value": "latest",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Specify the server name",
|
||||
"env_variable": "HOSTNAME",
|
||||
"default_value": "Pterodactyl Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:30"
|
||||
},
|
||||
{
|
||||
"name": "MOTD",
|
||||
"description": "Specify the message of the day",
|
||||
"env_variable": "MOTD",
|
||||
"default_value": "Welcome to the server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,154 +0,0 @@
|
||||
# Call of Duty 4X
|
||||
|
||||
## Game files mounting
|
||||
The server does **not** contain the base game files, but they are necessary to use the server.
|
||||
|
||||
While the server itself is open-source, the game files are copyrighted and you will need to own a legitimate copy of the game (Call of Duty 4: Modern Warfare)
|
||||
in order to provide the game files to the server.
|
||||
|
||||
More information here: https://github.com/callofduty4x/CoD4x_Server#setting-up-a-call-of-duty-4-server-with-cod4x-18
|
||||
|
||||
### Correctly mounting the game files
|
||||
In order to give the server access to the needed game files you will need to create a new mount.
|
||||
|
||||
Let's say you copied the game files to your node into the directory `/home/pterodactyl/serverfiles/cod4x` (you can choose any directory you want of course).
|
||||
The directory structure will look like this: <details>
|
||||
|
||||
```
|
||||
/home/pterodactyl/serverfiles/cod4x
|
||||
├── main
|
||||
│ ├── iw_00.iwd
|
||||
│ ├── iw_01.iwd
|
||||
│ ├── iw_02.iwd
|
||||
│ ├── iw_03.iwd
|
||||
│ ├── iw_04.iwd
|
||||
│ ├── iw_05.iwd
|
||||
│ ├── iw_06.iwd
|
||||
│ ├── iw_07.iwd
|
||||
│ ├── iw_08.iwd
|
||||
│ ├── iw_09.iwd
|
||||
│ ├── iw_10.iwd
|
||||
│ ├── iw_11.iwd
|
||||
│ ├── iw_12.iwd
|
||||
│ ├── iw_13.iwd
|
||||
│ ├── localized_english_iw00.iwd
|
||||
│ ├── localized_english_iw01.iwd
|
||||
│ ├── localized_english_iw02.iwd
|
||||
│ ├── localized_english_iw03.iwd
|
||||
│ ├── localized_english_iw04.iwd
|
||||
│ ├── localized_english_iw05.iwd
|
||||
│ └── localized_english_iw06.iwd
|
||||
└── zone
|
||||
└── english
|
||||
├── ac130.ff
|
||||
├── aftermath.ff
|
||||
├── airlift.ff
|
||||
├── airplane.ff
|
||||
├── ambush.ff
|
||||
├── armada.ff
|
||||
├── blackout.ff
|
||||
├── bog_a.ff
|
||||
├── bog_b.ff
|
||||
├── cargoship.ff
|
||||
├── code_post_gfx.ff
|
||||
├── code_post_gfx_mp.ff
|
||||
├── common.ff
|
||||
├── common_mp.ff
|
||||
├── coup.ff
|
||||
├── hunted.ff
|
||||
├── icbm.ff
|
||||
├── jeepride.ff
|
||||
├── killhouse.ff
|
||||
├── launchfacility_a.ff
|
||||
├── launchfacility_b.ff
|
||||
├── localized_code_post_gfx_mp.ff
|
||||
├── localized_common_mp.ff
|
||||
├── mp_backlot.ff
|
||||
├── mp_backlot_load.ff
|
||||
├── mp_bloc.ff
|
||||
├── mp_bloc_load.ff
|
||||
├── mp_bog.ff
|
||||
├── mp_bog_load.ff
|
||||
├── mp_broadcast.ff
|
||||
├── mp_broadcast_load.ff
|
||||
├── mp_carentan.ff
|
||||
├── mp_carentan_load.ff
|
||||
├── mp_cargoship.ff
|
||||
├── mp_cargoship_load.ff
|
||||
├── mp_citystreets.ff
|
||||
├── mp_citystreets_load.ff
|
||||
├── mp_convoy.ff
|
||||
├── mp_convoy_load.ff
|
||||
├── mp_countdown.ff
|
||||
├── mp_countdown_load.ff
|
||||
├── mp_crash.ff
|
||||
├── mp_crash_load.ff
|
||||
├── mp_crash_snow.ff
|
||||
├── mp_crash_snow_load.ff
|
||||
├── mp_creek.ff
|
||||
├── mp_creek_load.ff
|
||||
├── mp_crossfire.ff
|
||||
├── mp_crossfire_load.ff
|
||||
├── mp_farm.ff
|
||||
├── mp_farm_load.ff
|
||||
├── mp_killhouse.ff
|
||||
├── mp_killhouse_load.ff
|
||||
├── mp_overgrown.ff
|
||||
├── mp_overgrown_load.ff
|
||||
├── mp_pipeline.ff
|
||||
├── mp_pipeline_load.ff
|
||||
├── mp_shipment.ff
|
||||
├── mp_shipment_load.ff
|
||||
├── mp_showdown.ff
|
||||
├── mp_showdown_load.ff
|
||||
├── mp_strike.ff
|
||||
├── mp_strike_load.ff
|
||||
├── mp_vacant.ff
|
||||
├── mp_vacant_load.ff
|
||||
├── scoutsniper.ff
|
||||
├── simplecredits.ff
|
||||
├── sniperescape.ff
|
||||
├── ui.ff
|
||||
├── ui_mp.ff
|
||||
├── village_assault.ff
|
||||
└── village_defend.ff
|
||||
|
||||
3 directories, 93 files
|
||||
```
|
||||
</details>
|
||||
|
||||
First of all add the directory of the mount to the config.yml (in `/etc/pterodactyl`) of your node.
|
||||
```
|
||||
allowed_mounts:
|
||||
- /home/pterodactyl/serverfiles
|
||||
```
|
||||
After you've done this, restart wings with `systemctl restart wings`.
|
||||
|
||||
Now you simply create a mount in the Pterodactyl Panel with the following settings:
|
||||
1. Set the source to `/home/pterodactyl/serverfiles/cod4x`
|
||||
2. Set the target to any directory you want (but not something in `/home/container`, I suggest something like `/mnt/gamefiles/cod4`)
|
||||
3. Set read-only to "true" ("false" will also work, but then you risk that one instance overwrites files for all other instances)
|
||||
4. For the rest of the settings you can decide what works best for you
|
||||
5. Create the mount
|
||||
6. Add the correct node to the list of nodes for the mount
|
||||
7. Add the CoD4X egg to the list of eggs for the mount
|
||||
|
||||
### Correctly configuring the servers
|
||||
In order for the server to find the game files you have to set "Game file path" variable in the server to the same directory that you used in the "target" field of the mount.
|
||||
When you start the server for the first time it will prompt you to mount the game files under the configured path.
|
||||
1. In the admin interface open your server
|
||||
2. Go to the tab "Mounts"
|
||||
3. Klick on the green "+" button on the correct mount in order to mount the game files
|
||||
4. Restart the server
|
||||
|
||||
|
||||
**Congratulations!** Your server should be able to find the game files and start.
|
||||
|
||||
## Default Server Ports
|
||||
The default is 28960, but the server will automatically use the port defined in the allocation.
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 28960 |
|
||||
|
||||
#### Plugins may require ports to be added to the server.
|
||||
@@ -1,104 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1",
|
||||
"update_url": null
|
||||
},
|
||||
"exported_at": "2021-05-04T10:23:27+02:00",
|
||||
"name": "Call of Duty 4X",
|
||||
"author": "admin@grimsi.de",
|
||||
"description": "A client and server modification for Call of Duty 4: Modern Warfare with the aim to fix bugs and enhance gameplay!",
|
||||
"features": null,
|
||||
"images": [
|
||||
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||
],
|
||||
"file_denylist": [],
|
||||
"startup": "if [ ! -d \"{{GAME_FILE_PATH}}\" ]; then echo \"CoD 4 game files not found. Maybe they are not mounted?\"; echo \"In order for the server to start mount the game files here: {{GAME_FILE_PATH}}\"; while true; do sleep 2; done; fi; .\/cod4x18_dedrun +exec server.cfg +set dedicated \"{{SERVER_NETWORK_MODE}}\" +set sv_maxclients \"{{MAX_PLAYERS}}\" +set net_ip 0.0.0.0 +set net_port \"{{SERVER_PORT}}\" +set fs_basepath \"{{GAME_FILE_PATH}}\" +set fs_homepath . +map_rotate",
|
||||
"config": {
|
||||
"files": "{\r\n \"main\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"rcon_password\": \"rcon_password \\\"{{server.build.env.ADMIN_PASSWORD}}\\\"\",\r\n \"g_password\": \"g_password \\\"{{server.build.env.SERVER_PASSWORD}}\\\"\",\r\n \"sv_authtoken\": \"sv_authtoken \\\"{{server.build.env.SERVER_AUTH_TOKEN}}\\\"\",\r\n \"sv_mapRotation\": \"sv_mapRotation \\\"{{server.build.env.MAP_ROTATION}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"By using this software you agree to the usage conditions\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/ash\r\n# CoD 4X Installation script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nDOWNLOAD_LINK=https:\/\/cod4x.me\/downloads\/cod4x_server-linux.zip\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## this is a simple script to validate a download url actually exists and is reachable\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"Download-URL is reachable.\"\r\n else \r\n echo -e \"Could not reach ${DOWNLOAD_LINK}.\"\r\n echo -e \"Aborting installation...\"\r\n exit 1\r\n fi\r\nfi\r\n\r\n# Download the server binaries\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Moving server files to \/mnt\/server\"\r\nmv .\/cod4x-linux-server\/* .\r\n\r\necho -e \"Cleaning up downloaded files.\"\r\nrm ${DOWNLOAD_LINK##*\/}\r\nrm -rf .\/cod4x-linux-server\r\n\r\necho -e \"Installing required runtime libs.\"\r\nmv .\/runtime\/libstdc++.so.6 .\r\n\r\necho -e \"Generating config file\"\r\ncat <<EOF > .\/main\/server.cfg\r\nsv_hostname \"${SERVER_NAME}\"\r\ng_password \"${SERVER_PASSWORD}\"\r\nrcon_password \"${ADMIN_PASSWORD}\"\r\n\r\nsv_punkbuster \"0\"\r\nsv_cheats \"0\"\r\nsv_voice \"0\"\r\nscr_teambalance \"1\"\r\ng_allowvote \"1\"\r\n\r\nsv_authorizemode \"0\"\r\nsv_authtoken \"${SERVER_AUTH_TOKEN}\"\r\n\r\nsv_floodProtect \"1\"\r\n\r\nsv_mapRotation \"${MAP_ROTATION}\"\r\nEOF\r\n\r\necho -e \"running 'chmod +x .\/cod4x18_dedrun'\"\r\nchmod +x .\/cod4x18_dedrun\r\n\r\necho -e \"Installation complete\"",
|
||||
"container": "quay.io\/matthewp\/pterodactyl:alpine-install",
|
||||
"entrypoint": "ash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "Server Name",
|
||||
"description": "Hostname of the server.",
|
||||
"env_variable": "SERVER_NAME",
|
||||
"default_value": "Pterodactyl CoD 4X Server",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|string|max:40"
|
||||
},
|
||||
{
|
||||
"name": "Server Password",
|
||||
"description": "Password of the server.",
|
||||
"env_variable": "SERVER_PASSWORD",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Admin Password",
|
||||
"description": "RCON password for the server.",
|
||||
"env_variable": "ADMIN_PASSWORD",
|
||||
"default_value": "password123",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|min:8|max:20"
|
||||
},
|
||||
{
|
||||
"name": "Server Slots",
|
||||
"description": "Amount of players that can play on the server.",
|
||||
"env_variable": "MAX_PLAYERS",
|
||||
"default_value": "32",
|
||||
"user_viewable": true,
|
||||
"user_editable": false,
|
||||
"rules": "required|digits_between:1,3|min:1"
|
||||
},
|
||||
{
|
||||
"name": "Game File Path",
|
||||
"description": "Path to the CoD 4 game files (has to be the same as the \"target\" of the mount)",
|
||||
"env_variable": "GAME_FILE_PATH",
|
||||
"default_value": "\/mnt\/gamefiles\/cod4",
|
||||
"user_viewable": false,
|
||||
"user_editable": false,
|
||||
"rules": "required|string|max:40"
|
||||
},
|
||||
{
|
||||
"name": "Map Rotation",
|
||||
"description": "Map rotation in Quake format.",
|
||||
"env_variable": "MAP_ROTATION",
|
||||
"default_value": "gametype war map mp_crossfire",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|max:1000"
|
||||
},
|
||||
{
|
||||
"name": "Server Network Mode",
|
||||
"description": "1 for LAN only, 2 for public",
|
||||
"env_variable": "SERVER_NETWORK_MODE",
|
||||
"default_value": "1",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "required|digits:1|min:1|max:2"
|
||||
},
|
||||
{
|
||||
"name": "Server Authentication Token",
|
||||
"description": "Token needed to list your server on the public masterserver. Generate here: https:\/\/cod4master.cod4x.me\/index.php?token_generator=true",
|
||||
"env_variable": "SERVER_AUTH_TOKEN",
|
||||
"default_value": "",
|
||||
"user_viewable": true,
|
||||
"user_editable": true,
|
||||
"rules": "nullable|string|size:40"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
# ET: Legacy
|
||||
|
||||
#### The ET: Legacy Server
|
||||
|
||||
|
||||
#### from the developers
|
||||
|
||||
Wolfenstein: Enemy Territory is a free multiplayer first-person shooter. Set during World War II and heavily focused on team work, it was initially released in 2003 by Splash Damage and id Software. More than a decade after its release, after spending countless hours of escorting tanks and trucks, stealing gold and radar parts
|
||||
and transmitting confidential documents, it was time to dust off the game which consistently refused to go down.
|
||||
|
||||
Enemy Territory: Legacy is an open source project based on the code of Wolfenstein: Enemy Territory which was released in 2010 under the terms of GPLv3 license. The main goal of this project is to fix bugs, remove old dependencies and make it playable on all major operating systems while still remaining compatible with the ET 2.60b version and as many of its mods as possible. We do appreciate any contribution to the project such as patches, suggestions or comments.
|
||||
|
||||
Make sure to checkout their [Home Page](https://www.etlegacy.com/).
|
||||
|
||||
### Server Ports
|
||||
ET: Legacy requires a single port
|
||||
|
||||
| Port | default |
|
||||
|---------|---------|
|
||||
| Game | 27960 |
|
||||
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||
"meta": {
|
||||
"version": "PTDL_v1"
|
||||
},
|
||||
"exported_at": "2019-04-29T22:08:18+08:00",
|
||||
"name": "ET Legacy",
|
||||
"author": "parker@parkervcp.com",
|
||||
"description": "Welcome to Enemy Territory: Legacy, an open source project that aims to create a fully compatible client and server for the popular online FPS game Wolfenstein: Enemy Territory - whose gameplay is still considered unmatched by many, despite its great age.",
|
||||
"image": "quay.io\/parkervcp\/pterodactyl-images:ubuntu_source",
|
||||
"startup": ".\/etlded +set net_port {{SERVER_PORT}} +map {{MAP}}",
|
||||
"config": {
|
||||
"files": "{\r\n \"etmain\/etl_server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"\/\/set net_ip \\\"\\\"\": \"set net_ip \\\"0.0.0.0\\\"\",\r\n \"\/\/set net_port \\\"27960\\\"\": \"set net_port \\\"{{server.build.env.SERVER_PORT}}\\\"\"\r\n }\r\n }\r\n}",
|
||||
"startup": "{\r\n \"done\": \"------ Server Initialization ------\",\r\n \"userInteraction\": []\r\n}",
|
||||
"logs": "{}",
|
||||
"stop": "quit"
|
||||
},
|
||||
"scripts": {
|
||||
"installation": {
|
||||
"script": "#!\/bin\/bash\r\n\r\napt-get update\r\napt-get -y install wget curl zip unzip\r\n\r\ncd \/tmp\/\r\n\r\necho \"Downloading $ET_VERSION bit ET Legacy version\"\r\n\r\nif [ $ET_VERSION == \"32\" ];then \r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 32-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nelse\r\n wget `curl https:\/\/www.etlegacy.com\/download | grep \"Linux 64-bit bin\" | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo '(http|https):\/\/[^\"]+'` -O etlegacy.tar.gz\r\nfi\r\n\r\necho \"Unpacking ET: Legacy\"\r\ntar --strip-components=1 -xzvf etlegacy.tar.gz -C \/mnt\/server\/\r\n\r\necho \"Downloading latest enemy territory files\"\r\nwget `curl https:\/\/www.splashdamage.com\/games\/wolfenstein-enemy-territory\/ | grep .x86_full | grep -Eoi '<a [^>]+>' | grep -Eo 'href=\"[^\\\"]+\"' | grep -Eo --color=never '(http|https):\/\/[^\"]+'` -O enemy_territory.zip\r\n\r\necho \"Unpacking enemy territory files\"\r\nunzip enemy_territory.zip\r\n\r\necho \"Copying enemy territory assets\"\r\n.\/*.x86_keygen_V03.run --tar xvf .\/etmain\/\r\ncp etmain\/pak*.pk3 \/mnt\/server\/etmain\/\r\n\r\n# Create .etlegacy as the server doesn't correctly create it\r\nmkdir -p \/mnt\/server\/.etlegacy",
|
||||
"container": "ubuntu:18.04",
|
||||
"entrypoint": "bash"
|
||||
}
|
||||
},
|
||||
"variables": [
|
||||
{
|
||||
"name": "ET Legacy Version",
|
||||
"description": "What version of the server to install. 32 or 64 bit version.",
|
||||
"env_variable": "ET_VERSION",
|
||||
"default_value": "32",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|integer|in:32, 64"
|
||||
},
|
||||
{
|
||||
"name": "Default Map",
|
||||
"description": "The default map to use when starting the server.",
|
||||
"env_variable": "MAP",
|
||||
"default_value": "oasis",
|
||||
"user_viewable": 1,
|
||||
"user_editable": 1,
|
||||
"rules": "required|string|max:20"
|
||||
}
|
||||
]
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user