1 Commits

754 changed files with 8239 additions and 42383 deletions
-88
View File
@@ -1,88 +0,0 @@
name: 🐛 Bug Report
description: Report an Egg issue
title: "[Bug]: <Egg Name>"
labels: ["bug", "not confirmed"]
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: input
id: install-logs
attributes:
label: Install logs
description: |
Run the command below on the SSH terminal of your Wings machine and provide the link to logs.
```
tail -n 1000 $(ls -Alrt /var/log/pterodactyl/install/*.log | tail -1 | sed 's/ */ /g' | cut -s -d' ' -f9) | nc pteropaste.com 99
```
placeholder: |
https://pteropaste.com/exampleLogs
validations:
required: true
+24
View File
@@ -0,0 +1,24 @@
---
name: "\U0001F41B Bug Report"
about: Report an issue for an egg
---
# If you are seeing any of the following go to Discord and port your error in a support channel.
* `A fatal error was encountered while starting this server.`
* `No server egg configuration could be located; aborting startup.`
Please fill out the information bellow and remove from the line up
If you just submit a bug with no info I will close out your bug.
---------------
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)
-5
View File
@@ -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.
-41
View File
@@ -1,41 +0,0 @@
name: 🥚 Egg Request
description: Suggest a server to build an egg for
title: "[Egg Request]: <Software/Game>"
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/labels/egg%20request). 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. Docker image is not a viable option.
validations:
required: true
validations:
required: true
- type: input
id: instruction-link
attributes:
label: Links for the install docs
description: Link to installation instructions or documentation covering required dependencies and configuration for the server creation. Docker image is not installation documentation!
validations:
required: true
@@ -1,88 +0,0 @@
name: 🐛 Install Bug Report
description: Report an Egg install issue
title: "[Install Bug]: <Egg Name>"
labels: ["install bug", "not confirmed"]
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 the issues for [install bugs](https://github.com/parkervcp/eggs/labels/install%20bug).
- 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: input
id: install-logs
attributes:
label: Install logs
description: |
Run the command below on the SSH terminal of your Wings machine and provide the link to logs.
```
tail -n 1000 $(ls -Alrt /var/log/pterodactyl/install/*.log | tail -1 | sed 's/ */ /g' | cut -s -d' ' -f9) | nc pteropaste.com 99
```
placeholder: |
https://pteropaste.com/exampleLogs
validations:
required: true
+19
View File
@@ -0,0 +1,19 @@
---
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
Please understand how Pterodactyl works when you are requesting an egg. (ie. docker-compose doesn't work for a pterodactyl server)
---------------
Service: (Ex. minecraft/factorio/etc)
Does this expand an already existing service: Y/N
Link to game: (Ex. minecraft.net/factorio.com/etc)
Links for server downloads: This needs to be an official link and not one that is hosted on some forum page or a personal github page.
Links for install steps/docs:
+13 -24
View File
@@ -1,33 +1,22 @@
# Description
### All Submissions:
<!-- Please explain what is being changed or added as a short overview for this PR. Also, link existing relevant issues if they exist with resolves # -->
## Checklist for all submissions
<!-- insert X into the brackets to mark it as done (i.e. [x]). You can click preview to make the links appear clickable. -->
* [ ] Have you followed the guidelines in our [Contributing document](https://github.com/parkervcp/eggs/blob/master/CONTRIBUTING.md)?
* [ ] Have you checked to ensure there aren't other open [Pull Requests](../pulls) for the same update/change?
* [ ] Have you tested and reviewed your changes with confidence that everything works?
* [ ] 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?:
<!-- If this is an egg update fill these out -->
<!-- You can erase any parts of this template not applicable to your Pull Request. -->
* [ ] You verify that the start command applied does not use a shell script
* [ ] If some script is needed then it is part of a current yolk or a PR to add one
* [ ] The egg was exported from the panel
<!-- You can erase the new egg submission template if you're not adding a completely new egg -->
## New egg Submissions
### New Server Submissions:
1. [ ] Does your submission pass tests (server is connectable)?
2. [ ] Does your egg use a custom docker image?
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 egg to the main README.md and any other README files in subdirectories of the egg (e.g /game_eggs) according to the alphabetical order?
4. [ ] Have you added a unique README.md for the egg you are adding according to the alphabetical order?
5. [ ] You verify that the start command applied does not use a shell script
* [ ] If some script is needed then it is part of a current yolk or a PR to add one
6. [ ] The egg was exported from the panel
3. [ ] 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 -3
View File
@@ -1,5 +1,3 @@
*.DS_Store
node_modules/
.vuepress/*
.vscode
.idea
.vuepress/*
+32 -62
View File
@@ -1,76 +1,46 @@
# How to contribute
# So you want to make an Egg
You can contribute by either creating a new pull request or testing [existing pull requests](https://github.com/parkervcp/eggs/pulls) and commenting on whether the egg works for you or not. Testing is very important and helpful!
## General rules
## General rules for eggs
1. Keep it simple.
We don't need 8 miles of install script.
1. Don't be afraid to submit PR's to the egg repo.
I don't bite. I will work with you on the egg and the required things to run it. Feel free to open a draft PR if you don't quite have the egg finished yet by yourself.
2. Keep it Small.
Only use what is absolutely needed.
2. Keep it secure.
No start scripts that a user can edit.
If a start script is needed it should be part of a yolk.
3. Try to stay in the stock containers.
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.
3. Keep it simple.
We don't need 8 miles of the install script.
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.
4. Keep it small.
Only use what is absolutely needed. The [yolks install images](https://github.com/parkervcp/yolks#installation-images) already contain the most basic packages that speeds up the installation process.
## Step 1.
#### Be aware of the pterodactyl install process.
5. Use the stock images.
If you need something in an image, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where it can be reviewed and built. Self-hosted or third-party images won't be accepted for security reasons.
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.
6. Export eggs from the panel
We ask that you use the panel to manage and export eggs.
This keeps the egg format correctly
## Step 2.
#### Testing
### Sources for working on a new egg
Make sure your install process is rock solid as I will be testing eggs before they ever hit my repo.
Look at existing eggs to see how they work. In most cases, you can take the existing egg as your new template. There's a brief documentation on how to [create eggs](https://pterodactyl.io/community/config/eggs/creating_a_custom_egg.html) and [Docker images](https://pterodactyl.io/community/config/eggs/creating_a_custom_image.html).
Use existing Docker images for your egg. You can find them in [Parkers Yolks fork](https://github.com/parkervcp/yolks) and [Pterodactyl Yolks](https://github.com/pterodactyl/yolks).
We have a collection of [existing install script snippets](https://github.com/parkervcp/eggs/tree/master/scripts) that you can use.
## Step 1
### Be aware of the pterodactyl install process
The Pterodactyl install process is fairly simple once you know it.
```md
1. Spin up install container
Creates a new container using an install image that's run as root.
Uses a volume mount on `/mnt/server` for the server files, which is the working directory during installation.
The volume will be later mounted as `/home/container` for the server container. Any files outside of `/mnt/server` will be gone after installation.
Install script can pull files or set up all that is needed to run the server, such as writing files, directories or compiling apps.
It is regularly used to just download the files required. Such as server files and configs.
2. Stop and destroy install container
3. Start a new container with the server files in /home/container
This is where the server is actually run. No root privileges.
Any dependencies installed during the install process are gone.
The container that is started should have everything you need.
No packages can be installed. Any required dependencies must exist in the used Docker image.
```
## Step 2
### Testing
Make sure your install process is rock solid as eggs will be tested before they are merged.
Suggestions and changes will be made at will.
I will make suggestions 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
### Make a branch and do your work in there
## Step 3.
#### Make a branch and do your work in there.
I have been getting messy PR's due to people always PRing from their master branch. Please make a separate branch and PR from there.
## Step 4
Open a new pull request and fill in the template. Make sure that the readme files have been updated to include the new egg.
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.
+1 -1
View File
@@ -1,6 +1,6 @@
MIT
Copyright (c) 2018 Michael Parker <parker@parkervcp.com> and Contributors
Copyright (c) 2015 - 2017 Dane Everitt <dane@daneeveritt.com>
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
+113 -429
View File
@@ -17,449 +17,133 @@ If you are reading this it looks like you are looking to add an egg to your serv
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.
6. Restart the daemon on your node before creating a server using the new egg(s).
# You must restart your daemon after importing an egg
## You must restart your daemon after importing an egg if you are using 0.7. This is not required on 1.X
## Please read the CONTRIBUTING.md before submitting PRs
## [Bots](/bots)
## [Bots](/bots/)
[Discord](/bots/discord)
[Discord](/bots/discord/)
* [ATL Bot](/bots/discord/atlbot/) Node JS
* [Bastion](/bots/discord/bastion/)
* [CorpBot](/bots/discord/corpbot/) Python
* [discord.js](bots/discord/discord.js/) Node JS generic
* [discord.py](bots/discord/discord.py/) Python generic
* [fragbot](/bots/discord/fragbot/) Golang
* [jmusicbot](/bots/discord/jmusicbot) Java
* [parkertron](/bots/discord/parkertron/) Golang
* [pixel-bot](/bots/discord/pixelbot/) Python
* [Red](/bots/discord/redbot/) Python
* [Sinusbot](/bots/discord/sinusbot/)
**Note:** these are actual Discord bot eggs, NOT language eggs. The old language eggs (discord-js-generic, discord-py-generic, etc) have been moved to the [generic languages section](#generic-languages).
* [Twitch](/bots/twitch)
* [PhantomBot](/bots/twitch/phantombot/)
* [Aoede](/bots/discord/aoede) Rust
* [ATL Bot](/bots/discord/atlbot) Node JS
* [Bastion](/bots/discord/bastion) Node JS
* [CorpBot](/bots/discord/corpbot) Python
* [Dynamica](/bots/discord/dynamica) Node JS
* [fragbot](/bots/discord/fragbot) Golang
* [Game Server Watcher](/bots/discord/game-server-watcher) Node JS
* [JMusicBot](/bots/discord/jmusicbot) Java
* [Muse](/bots/discord/muse) Node JS
* [parkertron](/bots/discord/parkertron) Golang
* [pixel-bot](/bots/discord/pixelbot) Python
* [Redbot](/bots/discord/redbot) Python
* [Ree6](/bots/discord/ree6) Java
* [SinusBot](/bots/discord/sinusbot)
* [TeamSpeak3](bots/teamspeak3)
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod/)
[Other](/bots/other)
* [Big Brother Bot](/bots/other/bigbrotherbot)
[Twitch](/bots/twitch)
* [PhantomBot](/bots/twitch/phantombot)
* [SogeBot](/bots/twitch/sogebot)
[TeamSpeak3](bots/teamspeak3)
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod)
## [Generic Languages](/generic)
* [C#](/generic/c%23/)
* [elixir](/generic/elixir/)
* [dart](/generic/dart/)
* [deno](/generic/deno/)
* [golang](/generic/golang/)
* [java](/generic/java/)
* [lua](/generic/lua/)
* [nodejs](/generic/nodejs/)
* [bun](/generic/bun/)
* [nodemon](/generic/nodemon/)
* [python](/generic/python/)
* [rust](/generic/rust/)
## [Database](/database)
## [Database](/database/)
### [SQL] Databases
* [MariaDB](/database/sql/mariadb/)
* [PostgreSQL](/database/sql/postgres/)
### In-Memory Databases
[Redis](/database/redis)
[Redis](/database/redis/)
* [Redis 5](/database/redis/redis-5)
* [Redis 6](/database/redis/redis-6)
* [Redis 7](/database/redis/redis-7)
### noSQL
## Game Eggs
[ET Legacy](/enemy_territory/etlegacy/)
* [MongoDB](/database/nosql/mongodb)
* [rethinkdb](/database/nosql/rethinkdb)
### SQL Databases
* [MariaDB](/database/sql/mariadb)
* [PostgreSQL](/database/sql/postgres)
## [Voice Servers](/voice_servers)
* [Lavalink](/voice_servers/lavalink)
* [Teamspeak_ARM64](/voice_servers/teamspeak_ARM64)
* [TeaSpeak](/voice_servers/teaspeak)
* [TS3-Manager](/voice_servers/ts3_manager)
## [Game Eggs](/game_eggs)
[Among Us](game_eggs/among_us)
* [BetterCrewLink Server](game_eggs/among_us/bettercrewlink_server)
* [CrewLink Server](game_eggs/among_us/crewlink_server)
* [Impostor Server](game_eggs/among_us/impostor_server)
[BeamNG.drive](game_eggs/beamng)
* [BeamMP Server](game_eggs/beamng/beammp)
* [KissMP](game_eggs/beamng/kissmp)
[ClassiCube](game_eggs/classicube)
* [MCGalaxy](game_eggs/classicube/mcgalaxy)
[Clone Hero](game_eggs/clone_hero)
[CS2D](game_eggs/cs2d)
[Cube Engine](cubeengine)
* [AssaultCube](cubeengine/assaultcube)
* [Cube 2: Sauerbraten](cubeengine/cube2)
[DDRaceNetwork](game_eggs/ddracenetwork)
[Doom](game_eggs/doom)
* [Zandronum](game_eggs/doom/zandronum)
[Escape from Tarkov](game_eggs/eft)
[ET Legacy](game_eggs/enemy_territory/etlegacy)
[FTL: Tachyon](game_eggs/ftl/tachyon)
[Factorio](game_eggs/factorio)
* [Vanilla](game_eggs/factorio/factorio)
* [ModUpdate](game_eggs/factorio/factorio-modupdate)
* [Clusterio](game_eggs/factorio/clusterio)
[Grand Theft Auto](game_eggs/gta)
[Factorio](/factorio/factorio/)
[Grand Theft Auto](/gta/)
* GTA V
* [FiveM](game_eggs/gta/fivem)
* [ragecoop](game_eggs/gta/ragecoop)
* [RageMP](game_eggs/gta/ragemp)
* [alt:V](game_eggs/gta/altv)
* [FiveM](/gta/fivem/)
* [RageMP](/gta/ragemp/)
* [alt:V](/gta/altv/)
* GTA SA
* [Multi Theft Auto](game_eggs/gta/mtasa)
* [SA-MP](game_eggs/gta/samp)
* [OpenMp](game_eggs/gta/openmp)
* GTA
* [GTAC](game_eggs/gta/gtac)
[Hogwarp](game_eggs/hogwarp)
[Kerbal Space Program](game_eggs/ksp)
[League Sandbox](game_eggs/leaguesandbox)
[Los Angeles Crimes](game_eggs/losangelescrimes)
[Neverwinter Nights: Enhanced Edition](game_eggs/neverwinter_nights_ee)
[Mindustry](game_eggs/mindustry)
[Minetest](game_eggs/minetest) (including MTG)
[Minecraft](game_eggs/minecraft)
* [Bedrock](game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows, mobile, console)
* [Bedrock](game_eggs/minecraft/bedrock/bedrock)
* [gomint](game_eggs/minecraft/bedrock/gomint)
* [LiteLoaderBDS](game_eggs/bedrock/LiteLoader-bedrock)
* [Nukkit](game_eggs/minecraft/bedrock/nukkit)
* [PocketMine MP](game_eggs/minecraft/bedrock/pocketmine_mp)
* [PowerNukkitX](game_eggs/minecraft/bedrock/PowerNukkitX)
* [Java](game_eggs/minecraft/java) Servers for Java Minecraft
* [CurseForge](game_eggs/minecraft/java/curseforge)
* [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)
* [Glowstone](game_eggs/minecraft/java/glowstone)
* [Limbo](game_eggs/minecraft/java/limbo)
* [Magma](game_eggs/minecraft/java/magma)
* [Modrinth](game_eggs/minecraft/java/modrinth)
* [Mohist](game_eggs/minecraft/java/mohist)
* [NanoLimbo](game_eggs/minecraft/java/nanolimbo)
* [NeoForge](game_eggs/minecraft/java/neoforge)
* [Paper](game_eggs/minecraft/java/paper)
* [Folia](game_eggs/minecraft/java/folia)
* [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)
* [VanillaCord](game_eggs/minecraft/java/vanillacord)
* [Crossplay](game_eggs/minecraft/crossplay/) servers for crossplay between Bedrock and Java edition
* [Purpur-GeyserMC-Floodgate](game_eggs/minecraft/crossplay/purpur-geysermc-floodgate/)
* [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies
* [Java](game_eggs/minecraft/proxy/java)
* [Travertine](game_eggs/minecraft/proxy/java/travertine)
* [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)
[Spacestation 14](game_eggs/spacestation_14)
[Rimworld](game_eggs/rimworld)
* [Open World](game_eggs/rimworld/open_world)
* [Rimworld Together](game_eggs/rimworld/together)
[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 Ascended](game_eggs/steamcmd_servers/ark_survival_ascended)
* [ARK: Survival Evolved](game_eggs/steamcmd_servers/ark_survival_evolved)
* [Arma](game_eggs/steamcmd_servers/arma)
* [Arma 3](game_eggs/steamcmd_servers/arma/arma3)
* [Arma Reforger](game_eggs/steamcmd_servers/arma/arma_reforger)
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
* [Astro Colony](game_eggs/steamcmd_servers/astro_colony)
* [Astroneer](game_eggs/steamcmd_servers/astroneer)
* [Avorion](game_eggs/steamcmd_servers/avorion)
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
* [BATTALION: Legacy](game_eggs/steamcmd_servers/battalion_legacy)
* [Black Mesa](game_eggs/steamcmd_servers/black_mesa)
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
* [Colony Survival](game_eggs/steamcmd_servers/colony_survival)
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
* [Core Keeper](game_eggs/steamcmd_servers/core_keeper)
* [Counter-Strike](game_eggs/steamcmd_servers/counter_strike/)
* [Counter-Strike: Source](game_eggs/steamcmd_servers/counter_strike/counter_strike_source/)
* [Counter-Strike 2](game_eggs/steamcmd_servers/counter_strike/counter_strike_2/)
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
* [Cryofall](game_eggs/steamcmd_servers/cryofall)
* [DayZ (Experimental)](game_eggs/steamcmd_servers/dayz-experimental)
* [DDNet](game_eggs/steamcmd_servers/ddnet)
* [Dead Matter](game_eggs/steamcmd_servers/dead_matter)
* [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve)
* [ECO](game_eggs/steamcmd_servers/eco)
* [Empyrion - Galactic Survival](game_eggs/steamcmd_servers/empyrion)
* [Enshrouded](game_eggs/steamcmd_servers/enshrouded)
* [Fistful of Frags](game_eggs/steamcmd_servers/fof)
* [Frozen Flame](game_eggs/steamcmd_servers/frozen_flame)
* [Ground Branch](game_eggs/steamcmd_servers/ground_branch)
* [HLDS Server](game_eggs/steamcmd_servers/hlds_server)
* [HLDS Vanilla](game_eggs/steamcmd_servers/hlds_server/vanilla)
* [ReHLDS](game_eggs/steamcmd_servers/hlds_server/rehlds)
* [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast)
* [HumanitZ](game_eggs/steamcmd_servers/humanitz)
* [Hurtworld](game_eggs/steamcmd_servers/hurtworld)
* [Icarus](game_eggs/steamcmd_servers/icarus)
* [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm)
* [iosoccer](game_eggs/steamcmd_servers/iosoccer)
* [Killing Floor 2](game_eggs/steamcmd_servers/killing_floor_2)
* [Left 4 Dead](game_eggs/steamcmd_servers/left4dead)
* [Left 4 Dead 2](game_eggs/steamcmd_servers/left4dead_2)
* [Longvinter](game_eggs/steamcmd_servers/longvinter)
* [Modiverse](game_eggs/steamcmd_servers/modiverse)
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](game_eggs/steamcmd_servers/mount_blade_II_bannerlord)
* [Myth of Empires](game_eggs/steamcmd_servers/myth_of_empires)
* [Necesse](game_eggs/steamcmd_servers/necesse)
* [Neos VR](game_eggs/steamcmd_servers/neosvr)
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
* [No Love Lost](game_eggs/steamcmd_servers/no_love_lost)
* [No One Survived](game_eggs/steamcmd_servers/no_one_survived)
* [Nova-Life: Amboise](game_eggs/steamcmd_servers/novalife_amboise)
* [Onset](game_eggs/steamcmd_servers/onset)
* [Open Fortress](game_eggs/steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](game_eggs/steamcmd_servers/operation_harsh_doorstop)
* [Palworld](game_eggs/steamcmd_servers/palworld)
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
* [PixARK](game_eggs/steamcmd_servers/pixark)
* [Portal Knights](game_eggs/steamcmd_servers/portal_knights)
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
* [Project Zomboid](game_eggs/steamcmd_servers/project_zomboid)
* [Quake Live](game_eggs/steamcmd_servers/quake_live)
* [Resonite](game_eggs/steamcmd_servers/resonite)
* [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)
* [exiled](game_eggs/steamcmd_servers/scpsl/exiled)
* [Smalland: Survive the Wilds](game_eggs/steamcmd_servers/smalland_survive_the_wilds)
* [Solace Crafting](game_eggs/steamcmd_servers/solace_crafting)
* [Soldat](game_eggs/steamcmd_servers/soldat)
* [Sons of the Forest](game_eggs/steamcmd_servers/sonsoftheforest)
* [Space Engineers](game_eggs/steamcmd_servers/space_engineers)
* [default](game_eggs/steamcmd_servers/space_engineers/default)
* [torch](game_eggs/steamcmd_servers/space_engineers/torch)
* [Squad](game_eggs/steamcmd_servers/squad)
* [Starbound](game_eggs/steamcmd_servers/starbound)
* [Stationeers](game_eggs/steamcmd_servers/stationeers)
* [Stationeers Vanilla](game_eggs/steamcmd_servers/stationeers/stationeers_vanilla)
* [Stationeers BepInEx](game_eggs/steamcmd_servers/stationeers/stationeers_bepinex)
* [Stormworks: Build and Rescue](game_eggs/steamcmd_servers/stormworks)
* [Subnautica: Nitrox Mod](game_eggs/steamcmd_servers/subnautica_nitrox_mod)
* [Sven Co-op](game_eggs/steamcmd_servers/svencoop)
* [Swords 'n Magic and Stuff](game_eggs/steamcmd_servers/swords_'n_Magic_and_Stuff)
* [The Forest](game_eggs/steamcmd_servers/the_forest)
* [The Front](game_eggs/steamcmd_servers/thefront)
* [The Isle](game_eggs/steamcmd_servers/the_isle)
* [Evrima](game_eggs/steamcmd_servers/the_isle/evrima)
* [Team Fortress 2 Classic](game_eggs/steamcmd_servers/team_fortress_2_classic)
* [TerraTech Worlds](game_eggs/steamcmd_servers/terratech_worlds)
* [Tower Unite](game_eggs/steamcmd_servers/tower_unite)
* [Truck Sim](game_eggs/steamcmd_servers/truck-simulator/)
* [American Truck Simulator](game_eggs/steamcmd_servers/truck-simulator/american-truck-simulator/)
* [Euro Truck Simulator 2](game_eggs/steamcmd_servers/truck-simulator/euro-truck-simulator2/)
* [Unturned](game_eggs/steamcmd_servers/unturned)
* [V Rising](game_eggs/steamcmd_servers/v_rising)
* [V Rising Vanilla](game_eggs/steamcmd_servers/v_rising/v_rising_vanilla)
* [V Rising BepInex](game_eggs/steamcmd_servers/v_rising/v_rising_bepinex)
* [Valheim](game_eggs/steamcmd_servers/valheim)
* [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](game_eggs/steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus)
* [VEIN](game_eggs/steamcmd_servers/vein)
* [Wurm Unlimited](game_eggs/steamcmd_servers/wurm_unlimited/)
[SuperTuxKart](game_eggs/SuperTuxKart)
[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)
* [OpenRCT2](game_eggs/tycoon_games/openrct2)
* [OpenTTD](game_eggs/tycoon_games/openttd)
[UrbanTerror](game_eggs/urbanterror)
[Veloren](game_eggs/veloren)
[Vintage Story](game_eggs/vintage_story)
[Wine Generic](game_eggs/wine/generic)
[Xonotic](game_eggs/xonotic/xonotic)
[FoundryVTT](game_eggs/FoundryVTT)
## [Monitoring](/monitoring/)
### Loki
* [Loki](/monitoring/loki)
### Prometheus
* [Prometheus](/monitoring/prometheus)
## [Storage](/storage/)
### S3 Storage
* [minio](/storage/minio)
### SFTP Storage Share ("Empty Egg")
* [SFTP Storage Share](/storage/sftp_storage_share)
## [Software](/software/)
### Code Server
* [Code-Server](/software/code-server)
### Elasticsearch
* [Elasticsearch](/software/elasticsearch)
### Folding@Home
* [Folding@Home](/software/foldingathome)
### Forgejo
* [Forgejo](/software/forgejo)
### Gitea
* [Gitea](/software/gitea)
### Grafana
* [Grafana](/software/grafana)
### haste-server
* [haste-server](/software/haste-server)
### LanguageTool
* [languagetool](/software/languagetool)
### Meilisearch
* [Meilisearch](/software/meilisearch)
### Owncast
* [owncast](/software/owncast)
### RabbitMQ
* [rabbitmq](/software/rabbitmq)
### Reposilite
* [Reposilite](/software/reposilite)
### Uptime Kuma
* [Uptime Kuma](/software/uptime-kuma)
### Yarr
* [yarr](/software/yarr)
### 5e Tools
* [5e Tools](/software/5e-tools)
* [Multi Theft Auto](/gta/mtasa/)
* [SA-MP](/gta/samp/)
[Mindustry](/mindustry/)
[Minecraft](/minecraft/)
* [Bedrock](/minecraft/bedrock/)
* [Bedrock](/minecraft/bedrock/bedrock/)
* [DragonProxy](/minecraft/bedrock/dragonproxy/)
* [Nukkit](/minecraft/bedrock/nukkit/)
* [PocketMine MP](/minecraft/bedrock/pocketmine_mp/)
* [Java](/minecraft/java/) Servers for Java Minecraft
* [Cuberite](/minecraft/java/cuberite/)
* [feather](/minecraft/feather/)
* [Feed The Beast](/minecraft/java/ftb/)
* [Forge](/minecraft/java/forge/)
* [Magma](/minecraft/java/magma/)
* [Paper](/minecraft/java/paper)
* [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/) (these are for the java version of minecraft)
* [Waterfall](/minecraft/proxy/waterfall/)
* [TyphoonLimbo](/minecraft/proxy/typhoonlimbo/)
* [Travertine](/minecraft/proxy/travertine/) Java
* [Velocity](/minecraft/proxy/velocity/)
[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/)
* [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client/)
* [Citadel: Forged with Fire](/steamcmd_servers/citadel)
* [Conan Exiles](/steamcmd_servers/conan_exiles)
* [Dead Matter](/steamcmd_servers/dead_matter)
* [Don't Starve](/steamcmd_servers/dont_starve)
* [ECO](/steamcmd_servers/eco/)
* [HLDS server](/steamcmd_servers/hlds_server)
* [Hurtworld](/steamcmd_servers/hurtworld)
* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm)
* [Killing Floor 2](/steamcmd_servers/killingfloor2)
* [Mordhau](/steamcmd_servers/mordhau)
* [Onset](/steamcmd_servers/onset)
* [PixARK](/steamcmd_servers/pixark/)
* [Project Zomboid](/steamcmd_servers/project_zomboid/)
* [Rust Staging Branch](/steamcmd_servers/rust_staging/)
* [SCP: Secret Laboratory](/steamcmd_servers/scpsl/)
* [dedicated](/steamcmd_servers/scpsl/dedicated/)
* [multiadmin](/steamcmd_servers/scpsl/multiadmin/)
* [SSoldat](/steamcmd_servers/soldat/)
* [Starbound](/steamcmd_servers/starbound)
* [Stationeers](/steamcmd_servers/stationeers/)
* [Sven Co-op](/steamcmd_servers/svencoop)
* [Squad](/steamcmd_servers/squad/)
* [Unturned](/steamcmd_servers/unturned/)
* [Unturned](/steamcmd_servers/unturned/unturned/)
[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/)
[Vintage Story](/vintage_story/vintage_story/)
[Xonotic](/xonotic/xonotic/)
+30 -55
View File
@@ -1,69 +1,44 @@
# Discord Bots
## Some of these bots support other services but are primarily Discord bots
### Some of these bots support other services but are primarily Discord bots
### [Aoede](aoede)
#### Generic Discord.js bot egg
discord.js
A generic discord.js bot egg. Meant to pull from a repo can also be used where a user can upload the files on their own.
[codetheweb/aoede](https://github.com/codetheweb/aoede)
🎧 a self-hosted Spotify → Discord music bot
#### ATLauncher Discord Bot
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
Their github has all the info you need
### [ATLauncher Discord Bot](atlbot)
[ATLauncher/discord-bot](https://github.com/ATLauncher/discord-bot)
Their github has all the info you need
### [Bastion](bastion)
[TheBastionBot/Bastion](https://github.com/TheBastionBot/Bastion)
#### Bastion
[TheBastionBot/Bastion](https://github.com/TheBastionBot/Bastion)
Give awesome perks to your Discord server!
### [Corpbot](corpbot)
#### DiscordJS
[discord.js](https://discord.js.org/)
A generic discord.js egg for running discord bots.
[corpnewt/CorpBot.py](https://github.com/corpnewt/CorpBot.py)
A very clumsy python bot for discord
#### DiscordPY
[discord.py](https://discordpy.readthedocs.io/en/latest/)
A generic discord.py egg for running discord bots.
### [FragBot](fragbot)
#### MusicBot
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
A Discord music bot that's easy to set up and run yourself!
[fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
#### fragbot
[fragforce/fragbot](https://github.com/fragforce/fragbot)
The bot that runs as the fragforce `@Fragbot` offering looking-for-group services for now
### [Game Server Watcher](game-server-watcher)
#### parkertron
[parkervcp/parkertron](https://github.com/parkervcp/parkertron)
The bot that runs as the pterodactyl `@Support Bot`
[a-sync/game-server-watcher](https://github.com/a-sync/game-server-watcher)
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
#### pixelbot
[possatti/pixelbot](https://github.com/possatti/pixelbot)
No longer actively developed.
Was used to test python services.
### [JMusicBot](jmusicbot)
[jagrosh/MusicBot](https://github.com/jagrosh/MusicBot)
A Discord music bot that's easy to set up and run yourself!
### [Muse](muse)
[codetheweb/muse](https://github.com/codetheweb/muse)
🎧 a self-hosted midwestern Discord music bot that doesn't suck
### [parkertron](parkertron)
[parkervcp/parkertron](https://github.com/parkervcp/parkertron)
The bot that runs as the pterodactyl `@Support Bot`
### [PixelBot](pixelbot)
[possatti/pixelbot](https://github.com/possatti/pixelbot)
No longer actively developed.
Was used to test python services.
### [RedBot](redbot)
[Cog-Creators/Red-DiscordBot](https://github.com/Cog-Creators/Red-DiscordBot)
A multifunction Discord bot
### [Ree6](ree6)
[Ree6-Applications](https://github.com/Ree6-Applications/Ree6)
All-in-one, open source and 100% free Discord Bot!
### [SinusBot](sinusbot)
[SinusBot](https://www.sinusbot.com/)
#### SinusBot
[SinusBot](https://www.sinusbot.com/)
Please Check their site for an in depth on the bot.
-28
View File
@@ -1,28 +0,0 @@
# Aoede
### Authors / Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/cleme29">
<img src="https://avatars.githubusercontent.com/u/8092733" width="50px;" alt=""/><br /><sub><b>cleme29</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=cleme29" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=cleme29" title="Maintains">🔨</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
Special thanks to Red-Thirten for providing most of the installation script and to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one !
## Their [Github](https://github.com/codetheweb/aoede)
Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.
## Server Ports
There are no ports required for the Aoede bot
-92
View File
@@ -1,92 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-12T20:05:05+00:00",
"name": "Aoede",
"author": "contact@bldy.ovh",
"description": "Aoede is a Discord music bot that directly streams from Spotify to Discord. The only interface is Spotify itself.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:ubuntu": "ghcr.io\/parkervcp\/yolks:ubuntu"
},
"file_denylist": [],
"startup": ".\/aoede",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Invite me with\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "## Credits: Red-Thirten (https:\/\/github.com\/lilkingjr1) for providing most of the installation script\r\n## Credits to TubaApollo & QuintenQVD0 for the Muse egg that helped build most of this one\r\napt-get update\r\napt-get install git curl jq cmake -y -qq\r\n\r\nGITHUB_PACKAGE=\"codetheweb\/aoede\"\r\n\r\n# Find GitHub download URL for Muse for specified version\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tarball_url')\r\n else\r\n echo -e \"Could not find version \\\"${VERSION}\\\" of Muse. Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\n fi\r\nfi\r\n\r\n# Download Aoede from GitHub & Extract\r\ncd \/mnt\/server\r\necho -e \"Downloading Aoede from GitHub...\"\r\ncurl -L ${DOWNLOAD_URL} -o aoede.tar.gz\r\necho -e \"Extracting Aoede from tarball...\"\r\ntar -xvzf aoede.tar.gz --strip-components=1\r\nrm aoede.tar.gz\r\n\r\n# Verify and clean up Aoede installation\r\nif [ ! -f Cargo.toml ]; then\r\n echo -e \"\\nFailed to download release: ${DOWNLOAD_URL}\\n\"\r\n exit 1\r\nfi\r\nrm -rf .dockerignore Dockerfile .gitignore .github\/\r\ncargo build --release\r\nmv target\/release\/aoede .\r\ncargo clean\r\n\r\n\r\necho -e \"\\nAoede Successfully Installed!\"",
"container": "rust:1.74-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Token",
"description": "Discord Bot Token",
"env_variable": "DISCORD_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Username",
"description": "Spotify Username",
"env_variable": "SPOTIFY_USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Password",
"description": "Spotify Password",
"env_variable": "SPOTIFY_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Discord User ID",
"description": "Discord user ID of the user you want Aoede to follow",
"env_variable": "DISCORD_USER_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Autoplay",
"description": "Autoplay similar songs when your music ends \r\nValue : true\/false",
"env_variable": "SPOTIFY_BOT_AUTOPLAY",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Version",
"description": "Specify a version, for example: \"v0.7.0\"\r\nFor the latest version, type \"latest\"",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
+3 -6
View File
@@ -1,9 +1,6 @@
# ATLBot
## Their [Github](https://github.com/ATLauncher/discord-bot)
### 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
### Server Ports
There are no ports required for the atl bot
+13 -20
View File
@@ -1,30 +1,25 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-01T11:14:53+02:00",
"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\/",
"features": null,
"docker_images": {
"Nodejs 16": "ghcr.io\/parkervcp\/yolks:node_16"
},
"file_denylist": [],
"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": "{}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install git openssl\r\n\r\ncd \/mnt\/server\r\nif [[ -d .git\/ ]]; then\r\n git pull\r\nelse\r\n git clone https:\/\/github.com\/ATLauncher\/discord-bot.git . \r\nfi\r\n\r\necho '{}' > config\/local.json\r\n\r\nnpm install --production\r\n\r\nnpm run build\r\n\r\nrm Dockerfile\r\nrm CONTRIBUTING.md\r\nrm README.md\r\nrm \/config\/.gitignore\r\nrm CODE_OF_CONDUCT.md\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "node:16-bookworm",
"entrypoint": "bash"
"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": [
@@ -33,20 +28,18 @@
"description": "Get a discord token at https:\/\/discordapp.com\/developers\/",
"env_variable": "CLIENT_TOKEN",
"default_value": "get_your_own_token_from_discord_",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:75",
"field_type": "text"
"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": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}
+7 -20
View File
@@ -1,26 +1,13 @@
# Bastion
### From their [Github](https://github.com/TheBastionBot/Bastion)
Give awesome perks to your Discord server!
## From their [Github](https://github.com/TheBastionBot/Bastion)
Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities.
### 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`
Invite link: `https://discord.com/oauth2/authorize?client_id=INSERT_APP_ID_HERE&scope=bot&permissions=8`
## Server Ports
| Port | default |
|-----------------------|---------|
| Bastion API Port | 8377 |
## Mongodb
Mongodb is automaticly running in the background. Leave Mongo URL to the default to use it. If you want to use a external mongodb server a connection string should look like: `mongodb+srv://<username>:<password>@<ip>/?retryWrites=true&w=majority`
## Startup cmd
By default this should be `npm start` but if you want to register your slash commands set it to `npm run commands` it will activate the slash commands on discord's side. Then the server will crash, change it back to `npm run` to start the bot back up and have slash commands enabled.
### Server Ports
No Ports are required for the bastion bot.
+47 -97
View File
@@ -1,122 +1,72 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-02T14:04:19+02:00",
"exported_at": "2020-06-20T13:11:43-04:00",
"name": "Bastion",
"author": "parker@parkervcp.com",
"description": "Bastion is a multi-purpose Discord Bot that can help you automate most tasks in your server, from administration and moderation to keeping the members active through various incentives, games and other fun activities",
"features": null,
"docker_images": {
"Bastion": "ghcr.io\/parkervcp\/yolks:bot_bastion"
},
"file_denylist": [],
"startup": "{{STARTUP_CMD}}",
"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\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Ready\"\r\n}",
"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}",
"logs": "{}",
"stop": "^^C"
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Bastion Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n## Move to install folder\r\napt update\r\napt install -y build-essential libtool python3 git tar\r\n\r\n\r\nmkdir -p \/mnt\/server\/\r\ncd \/mnt\/server\/\r\n\r\nif [ -d \"\/mnt\/server\/mongodb\" ]\r\nthen\r\n cd \/mnt\/server\/\r\n echo \"backing up mongodb\"\r\n REINSTALL=true\r\n tar -czf mongodb_backup.tar.gz mongodb\/\r\n mv mongodb_backup.tar.gz \/tmp\r\nfi\r\n\r\ncd \/mnt\/server\r\nrm -rf * .git\/ .github\/ .env.example .eslintrc.yml .gitattributes .gitignore .npm\/\r\n\r\n\r\n## Clone repo\r\necho \"cloning Bastion bot\"\r\ngit clone -q --depth 1 https:\/\/github.com\/TheBastionBot\/Bastion.git .\/\r\n\r\necho \"updating npm\"\r\nnpm install -g npm@latest\r\necho \"npm install --no-package-lock\"\r\nnpm install --no-package-lock\r\necho \"npm run build\"\r\nnpm run build\r\n\r\n## Move config files.\r\nmv settings.example.yaml settings.yaml\r\nrm -rf bastion.cmd .env.example bastion.sh scrips\/\r\n\r\n\r\nmkdir -p mongodb\/\r\nif [ \"$REINSTALL\" == \"true\" ]\r\nthen\r\n cd \/mnt\/server\r\n echo \"reinstall\"\r\n mv \/tmp\/mongodb_backup.tar.gz \/mnt\/server\r\n tar xf mongodb_backup.tar.gz\r\n rm mongodb_backup.tar.gz\r\nelse\r\n echo \"fresh install\"\r\nfi\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "node:20-bookworm",
"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"
}
},
"variables": [
{
"name": "Bot Token",
"description": "The Bot Token you get from https:\/\/discordapp.com\/developers\/applications\/",
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "BOT_TOKEN",
"default_value": "GETABOTTOKEN",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:80",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Bot Client ID",
"description": "The Bot ID you get from https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "BOT_ID",
"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": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "Mongo URL",
"description": "use `mongodb:\/\/127.0.0.1:27017\/bastion` for using the build in mongodb server",
"env_variable": "MONGO_URI",
"default_value": "mongodb:\/\/127.0.0.1:27017\/bastion",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
},
{
"name": "Music Activity",
"description": "When enabled, Bastion updates the activity to the currently playing track",
"env_variable": "BASTION_MUSIC_ACTIVITY",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Relay Direct Messages",
"description": "When enabled, Bastion will relay any direct messages it receives to the owner of the bot application \/ team.",
"env_variable": "BASTION_RELAY_DMS",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Safe Mode",
"description": "When enabled, this disables usage of unsafe commands like `exec` and `eval`.",
"env_variable": "UNSAFE_MODE",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Bastion API Port",
"description": "Port used for Bastion API Server",
"env_variable": "BASTION_API_PORT",
"default_value": "8377",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:10",
"field_type": "text"
},
{
"name": "Bastion API Auth",
"description": "Auth for accessing the Bastion API Server.",
"env_variable": "BASTION_API_AUTH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Startup cmd",
"description": "set to `npm start` if you just want to start the bot.\r\nset to `npm run commands` to activate the slash commands",
"env_variable": "STARTUP_CMD",
"default_value": "npm start",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:npm start,npm run commands",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:64"
}
]
}
+5 -8
View File
@@ -1,11 +1,8 @@
# CorpBot.py
### From their [Github](https://github.com/corpnewt/CorpBot.py)
A very clumsy python bot for discord
## From their [Github](https://github.com/corpnewt/CorpBot.py)
### Server Ports
No ports are required to run Big Brother Bot. You can assign a random port to the bot.
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
#### Mods/Plugins may require ports to be added to the server.
+13 -20
View File
@@ -1,29 +1,24 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-01T11:18:44+02:00",
"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",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:python_3.8": "ghcr.io\/parkervcp\/yolks:python_3.8"
},
"file_denylist": [],
"startup": "\/usr\/local\/bin\/python Main.py",
"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": "{}",
"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\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "python:3.8-slim-bookworm",
"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"
}
},
@@ -33,20 +28,18 @@
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "TOKEN",
"default_value": "GET_YOUR_OWN",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
"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": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}
+7
View File
@@ -0,0 +1,7 @@
# discord.js generic
This egg was designed to allow a user to pull their own nodejs discord bot from a repo.
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.
@@ -0,0 +1,81 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-07-18T23:13:34-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.",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
"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 [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install --production; 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 make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\r\n\r\necho -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n\techo -e \"assuming user knows what they are doing have a good day.\"\r\n\texit 0\r\nelse\r\n\tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n\t\techo -e \"\/mnt\/server directory is not empty.\"\r\n\t if [ -d .git ]; then\r\n\t\t\techo -e \".git directory exists\" \r\n\t\t\tif [ -f .git\/config ]; then\r\n\t\t\t\techo -e \"loading info from git config\"\r\n\t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n\t\t\telse\r\n\t\t\t\techo -e \"files found with no git config\"\r\n\t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n\t\t\t\texit 10\r\n\t\t\tfi\r\n\t\tfi\r\n\t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n\t\t\techo \"pulling latest from github\"\r\n\t\t\tgit pull \r\n\t\tfi\r\n\telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n\t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n\t\t\techo -e \"assuming master branch\"\r\n\t\t\tINSTALL_BRANCH=master\r\n\t\tfi\r\n \r\n\t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n\t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\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:12-buster-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Install Repo",
"description": "The git repo to clone and install the discord js bot from",
"env_variable": "INSTALL_REPO",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"rules": "nullable|string|max:128"
},
{
"name": "Install Branch",
"description": "The branch of the bot to install",
"env_variable": "INSTALL_BRANCH",
"default_value": "",
"user_viewable": 1,
"user_editable": 0,
"rules": "nullable|string|max:32"
},
{
"name": "User Uploaded Files",
"description": "Skip all the install cruft is you are just letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|bool"
},
{
"name": "Auto Update",
"description": "When using a git repo pull the latest files on startup.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"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": 1,
"user_editable": 1,
"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": 1,
"user_editable": 1,
"rules": "nullable|string"
}
]
}
+6
View File
@@ -0,0 +1,6 @@
# discord.py generic
This egg was designed to allow a user to pull their own python discord bot from a repo.
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.
@@ -0,0 +1,81 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v1"
},
"exported_at": "2020-08-02T14:36:53-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",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_python-3.8",
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${PY_PACKAGES} ]]; then pip install -U --target \/home\/container\/ ${PY_PACKAGES}; fi; if [[ -f \/home\/container\/requirements.txt ]]; then pip install -U --target \/home\/container\/ -r requirements.txt; 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 gcc g++ libffi-dev make\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\nfi\r\n\r\necho -e \"working on installing a discord.py bot from ${INSTALL_REPO}\"\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n\techo -e \"assuming user knows what they are doing have a good day.\"\r\n\texit 0\r\nelse\r\n\tif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n\t\techo -e \"\/mnt\/server directory is not empty.\"\r\n\t if [ -d .git ]; then\r\n\t\t\techo -e \".git directory exists\" \r\n\t\t\tif [ -f .git\/config ]; then\r\n\t\t\t\techo -e \"loading info from git config\"\r\n\t\t\t\tORIGIN=$(git config --get remote.origin.url)\r\n\t\t\telse\r\n\t\t\t\techo -e \"files found with no git config\"\r\n\t\t\t\techo -e \"closing out without touching things to not break anything\"\r\n\t\t\t\texit 10\r\n\t\t\tfi\r\n\t\tfi\r\n\t\tif [ \"${ORIGIN}\" == \"${INSTALL_REPO}\" ]; then\r\n\t\t\techo \"pulling latest from github\"\r\n\t\t\tgit pull \r\n\t\tfi\r\n\telse\r\n \techo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n\t\tif [ -z ${INSTALL_BRANCH} ]; then\r\n\t\t\techo -e \"assuming master branch\"\r\n\t\t\tINSTALL_BRANCH=master\r\n\t\tfi\r\n \r\n\t\techo -e \"running 'git clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .'\"\r\n\t\tgit clone --single-branch --branch ${INSTALL_BRANCH} ${INSTALL_REPO} .\r\n\tfi\r\nfi \r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --target \/mnt\/server\/ ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --target \/mnt\/server\/ -r requirements.txt\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "python:3.8-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Install Repo",
"description": "The git repo to clone and install the discord js bot from",
"env_variable": "INSTALL_REPO",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "Install Branch",
"description": "The branch of the bot to install",
"env_variable": "INSTALL_BRANCH",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string"
},
{
"name": "User Uploaded Files",
"description": "Skip all the install cruft is you are just letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
"env_variable": "USER_UPLOAD",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|boolean"
},
{
"name": "Auto Update",
"description": "When using a git repo pull the latest files on startup.",
"env_variable": "AUTO_UPDATE",
"default_value": "0",
"user_viewable": 1,
"user_editable": 1,
"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": 1,
"user_editable": 1,
"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": 1,
"user_editable": 1,
"rules": "nullable|string"
}
]
}
-8
View File
@@ -1,8 +0,0 @@
# Dynamica
## Their [Github](https://github.com/dynamicabot/dynamica-v2)
An easy-to-use dynamic voice channel bot.
## Port
You will manual have to change the web port in the src/main.ts on line 24.
-102
View File
@@ -1,102 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:13:31+02:00",
"name": "Dynamica",
"author": "sebastian.pietschner@gmail.com",
"description": "An easy-to-use dynamic voice channel bot.",
"features": null,
"docker_images": {
"Nodejs 18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
},
"file_denylist": [],
"startup": "npx prisma migrate deploy && yarn start",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Bot logged in as \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install tar curl jq git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nGITHUB_PACKAGE=\"DynamicaBot\/Dynamica-V2\"\r\n\r\n# Find GitHub download URL for Muse for specified version\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tarball_url')\r\n else\r\n echo -e \"Could not find version \\\"${VERSION}\\\" of Muse. Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\n fi\r\nfi\r\n\r\ncurl -sSL -o dynamica.tar.gz ${DOWNLOAD_URL}\r\ntar xvf dynamica.tar.gz --strip-components=1\r\nrm dynamica.tar.gz\r\n\r\n#curl -sSL -o tsconfig.json https:\/\/pteropaste.com\/xqhjja443pbm\r\n\r\nyarn add tsup --dev\r\nyarn install --frozen-lockfile\r\n\r\nyarn generate\r\nyarn build\r\n\r\nrm -rf .github\/ .vscode\/ Dockerfile partial.Dockerfile entrypoint.sh dynamica-egg.json\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "node:18-bookworm-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Database Path",
"description": "The path in which to create the sqlite database.",
"env_variable": "DATABASE_URL",
"default_value": "file:\/home\/container\/dynamica\/db.sqlite",
"user_viewable": true,
"user_editable": false,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Token",
"description": "The token for the discord bot.",
"env_variable": "TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Guild ID",
"description": "Add only if using the bot in a single guild.",
"env_variable": "GUILD_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "Sentry DSN",
"description": "The DSN for Sentry.",
"env_variable": "SENTRY_DSN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "MQTT URL",
"description": "The URL for the MQTT broker.",
"env_variable": "MQTT_URL",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "MQTT Username",
"description": "The username for the MQTT broker.",
"env_variable": "MQTT_USER",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
},
{
"name": "MQTT Password",
"description": "The password for the MQTT broker.",
"env_variable": "MQTT_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "string|nullable",
"field_type": "text"
}
]
}
+4 -7
View File
@@ -1,11 +1,8 @@
# fragbot
## Their [Github](https://github.com/fragforce/fragbot)
The golang based discord bot for fragforce.
### 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
### Server Ports
There are no ports required for fragbot
+7 -13
View File
@@ -1,22 +1,17 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-01T11:21:19+02:00",
"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",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:alpine": "ghcr.io\/parkervcp\/yolks:alpine"
},
"file_denylist": [],
"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}",
"startup": "{\r\n \"done\": \"Bot is now running\",\r\n \"userInteraction\": []\r\n}",
"logs": "{}",
"stop": "shutdown"
},
@@ -33,10 +28,9 @@
"description": "The token that is to be used for the bot.",
"env_variable": "DISCORD_TOKEN",
"default_value": "ThisNeedsToBeChanged",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
}
]
}
@@ -1,22 +0,0 @@
# Game Server Watcher
## From [Github](https://github.com/a-sync/game-server-watcher#readme)
A simple discord/telegram/slack bot that can be hosted on a free service to monitor your game servers and players in style. 😎
## Screenshots
<img src="https://user-images.githubusercontent.com/14183614/162092529-e1645b44-2650-4893-8123-7ba187b1f51c.png" height="280"> <img src="https://user-images.githubusercontent.com/14183614/162092488-f28bd60c-88bf-4b1e-a31e-d7dca51d8c28.png" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/0461ad76-bb13-468c-a7b3-437d6a3cea63" height="280"> <img src="https://github.com/a-sync/game-server-watcher/assets/14183614/ee0ef0de-83bc-42ae-8f64-62f481f6ba8f" height="280">
## Running the bot
Refer to the wiki on how to acquire tokens for:
* [steam](https://github.com/a-sync/game-server-watcher/wiki/Steam-Web-API-key)
* [discord](https://github.com/a-sync/game-server-watcher/wiki/Discord-bot-token)
* [telegram](https://github.com/a-sync/game-server-watcher/wiki/Telegram-bot-token)
* [slack](https://github.com/a-sync/game-server-watcher/wiki/Slack-bot-token)
## Server Ports
GSW Control Panel requires one port for http traffic.
(It can be any port.)
| Port | default |
|---------|---------|
| Web | 8081 |
@@ -1,122 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:15:38+02:00",
"name": "Game Server Watcher",
"author": "a-sync@devs.space",
"description": "A simple discord\/telegram\/slack bot that can be hosted on a free service to monitor your game servers and players in style. \ud83d\ude0e",
"features": null,
"docker_images": {
"Node.js 20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
},
"file_denylist": [],
"startup": "env PORT={{SERVER_PORT}} \/usr\/local\/bin\/node \/home\/container\/dist\/server.js",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"starting loop...\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt-get update && apt-get install ca-certificates git -yq --no-install-suggests --no-install-recommends --allow-downgrades --allow-remove-essential --allow-change-held-packages\r\n\r\n\r\ncd \/mnt\/server\r\n\r\ngit config --global --add safe.directory \/mnt\/server\r\ngit clone https:\/\/github.com\/a-sync\/game-server-watcher.git . || git pull\r\n\r\n\r\nnpm install --no-save && npm update gamedig && npm run build\r\nnpm prune --omit=dev\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "node:20-bookworm-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "SECRET",
"description": "Admin secret",
"env_variable": "SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:8|max:255",
"field_type": "text"
},
{
"name": "DATA_PATH",
"description": "Writable folder for data storage",
"env_variable": "DATA_PATH",
"default_value": ".\/data\/",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|min:1|max:255",
"field_type": "text"
},
{
"name": "REFRESH_TIME_MINUTES",
"description": "Game server info refresh interval in minutes",
"env_variable": "REFRESH_TIME_MINUTES",
"default_value": "2",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|min:1",
"field_type": "text"
},
{
"name": "DISCORD_BOT_TOKEN",
"description": "Discord bot token",
"env_variable": "DISCORD_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "TELEGRAM_BOT_TOKEN",
"description": "Telegram bot token",
"env_variable": "TELEGRAM_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "STEAM_WEB_API_KEY",
"description": "Steam web API key",
"env_variable": "STEAM_WEB_API_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "Debug Mode",
"description": "Enable or disable debug mode.",
"env_variable": "DBG",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|in:0,1",
"field_type": "text"
},
{
"name": "SLACK_BOT_TOKEN",
"description": "Slack bot token",
"env_variable": "SLACK_BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
},
{
"name": "SLACK_APP_TOKEN",
"description": "Slack app token",
"env_variable": "SLACK_APP_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string",
"field_type": "text"
}
]
}
+4 -92
View File
@@ -1,94 +1,6 @@
# JMusicBot
### Their [Github](https://github.com/jagrosh/MusicBot)
A Discord music bot that's easy to set up and run yourself!
___
## 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.
### Server Ports
There are no ports required for JMusicBot
-183
View File
@@ -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
+26 -114
View File
@@ -1,142 +1,54 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2023-09-20T21:17:10+02:00",
"exported_at": "2020-06-15T17:43:44-04:00",
"name": "JMusicBot",
"author": "parker@parkervcp.com",
"description": "A Discord music bot that's easy to set up and run yourself!",
"features": null,
"docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
},
"file_denylist": [],
"startup": "java -Dnogui=true -jar JMusicBot.jar",
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre",
"startup": "java -Djavax.accessibility.assistive_technologies=\" \" -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}",
"files": "{\r\n \"config.txt\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"token =\": \"token = \\\"{{env.BOT_TOKEN}}\\\"\",\r\n \"prefix =\": \"prefix = \\\"{{env.BOT_PREFIX}}\\\"\",\r\n \"owner =\": \"owner = \\\"{{env.BOT_OWNER}}\\\"\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y jq curl\r\n\r\nCONFIG_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/jmusicbot\/config.txt\"\r\nPLAYLIST_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/jmusicbot\/example_playlist.txt\"\r\n\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/jagrosh\/MusicBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/jagrosh\/MusicBot\/releases\")\r\nMATCH=JMusicBot\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\n## JMusicBot Setup\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\ncd \/mnt\/server\r\necho -e \"\\nInstalling\/Updating JMusicBot...\\n\"\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n echo -e \"Updating JMusicBot.jar to latest version...\"\r\n echo -e '\\t(Old version can be found at \"JMusicBot.jar-old\")'\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\necho -e \"Running: curl -sSLo JMusicBot.jar ${DOWNLOAD_URL}\\n\"\r\ncurl -sSLo JMusicBot.jar ${DOWNLOAD_URL}\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"Updating config.txt to latest version...\"\r\n echo -e '\\t(Old version can be found at \"config.txt-old\")'\r\n mv -f config.txt config.txt-old\r\nfi\r\necho -e \"Running: curl -sSLo config.txt ${CONFIG_LINK}\\n\"\r\ncurl -sSLo config.txt ${CONFIG_LINK}\r\n\r\n[ ! -d Playlists ] && mkdir Playlists\r\ncd Playlists\r\nif [ -f example_playlist.txt ]; then\r\n echo -e \"example_playlist.txt already exists. Skipping default download.\"\r\nelse\r\n echo -e \"example_playlist.txt not found. Downloading default example_playlist...\"\r\n echo -e \"Running: curl -sSLo example_playlist.txt ${PLAYLIST_LINK}\"\r\n curl -sSLo example_playlist.txt ${PLAYLIST_LINK}\r\nfi\r\n\r\necho -e \"\\nJMusicBot Successfully Installed!\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"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, VERSION and MATCH (match is to match the filename in some way)\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\nMATCH=\"Linux\"\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i config)\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 latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\n CONFIG_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n fi\r\nfi\r\n\r\n[ ! -d \/mnt\/server ] && mkdir \/mnt\/server\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -f JMusicBot.jar ]; then\r\n mv -f JMusicBot.jar JMusicBot.jar-old\r\nfi\r\n\r\ncurl -Lo JMusicBot.jar ${DOWNLOAD_LINK}\r\n\r\nif [ -f config.txt ]; then\r\n echo -e \"config found\"\r\nelse\r\n echo -e \"config not found getting default\"\r\n curl -Lo config.txt ${CONFIG_LINK}\r\nfi\r\n\r\necho \"Job's Done\"",
"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\/",
"name": "Discord Bot Token",
"description": "The token for the discord bot.\r\n\r\nhttps:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"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_between:17,18",
"field_type": "text"
"default_value": "You need to get a token",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"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).",
"description": "Thew prefix for the bot.\r\n\r\nDefault is it @mention the bot.",
"env_variable": "BOT_PREFIX",
"default_value": "@mention",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
"name": "Bot Owner ID",
"description": "This is the user ID of the bot owner.",
"env_variable": "BOT_OWNER",
"default_value": "changethistoyourdiscordid",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
}
]
}
}
@@ -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
-43
View File
@@ -1,43 +0,0 @@
# Muse
### Authors / Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/TubaApollo">
<img src="https://avatars.githubusercontent.com/u/86665265" width="50px;" alt=""/><br /><sub><b>TubaApollo</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=TubaApollo" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=TubaApollo" title="Maintains">🔨</a>
</td>
<td align="center">
<a href="https://github.com/lilkingjr1">
<img src="https://avatars.githubusercontent.com/u/4533989" width="50px;" alt=""/><br /><sub><b>Red-Thirten</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=lilkingjr1" title="Contributor">💡</a>
</td>
<td align="center">
<a href="https://github.com/QuintenQVD0">
<img src="https://avatars.githubusercontent.com/u/67589015" width="50px;" alt=""/><br /><sub><b>QuintenQVD0</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=QuintenQVD0" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=QuintenQVD0" title="Contributor">💡</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
## Their [Github](https://github.com/codetheweb/muse)
Muse is a highly-opinionated midwestern self-hosted Discord music bot that doesn't suck.
## Server Ports
There are no ports required for the Muse bot
-92
View File
@@ -1,92 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:42:04+02:00",
"name": "Muse",
"author": "hello@apollo.moe",
"description": "\ud83c\udfa7 a self-hosted midwestern Discord music bot that doesn't suck",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_20": "ghcr.io\/parkervcp\/yolks:nodejs_20"
},
"file_denylist": [],
"startup": "npm start",
"config": {
"files": "{\r\n \".env\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"DISCORD_TOKEN\": \"DISCORD_TOKEN={{env.discord_token}}\",\r\n \"DATA_DIR\": \"DATA_DIR={{env.data_dir}}\",\r\n \"YOUTUBE_API_KEY\": \"YOUTUBE_API_KEY={{env.api_key}}\",\r\n \"SPOTIFY_CLIENT_ID\": \"SPOTIFY_CLIENT_ID={{env.client_id}}\",\r\n \"SPOTIFY_CLIENT_SECRET\": \"SPOTIFY_CLIENT_SECRET={{env.client_secret}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Running version \"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "## Credits: Red-Thirten (https:\/\/github.com\/lilkingjr1) for providing most of the installation script\r\napt-get update\r\napt-get install git curl jq -y python3 python3-pip make build-essential -qq\r\n\r\nGITHUB_PACKAGE=\"codetheweb\/muse\"\r\n\r\n# Find GitHub download URL for Muse for specified version\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tarball_url')\r\n else\r\n echo -e \"Could not find version \\\"${VERSION}\\\" of Muse. Defaulting to latest release...\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq -r '.tarball_url')\r\n fi\r\nfi\r\n\r\n# Download Muse from GitHub & Extract\r\ncd \/mnt\/server\r\necho -e \"Downloading Muse from GitHub...\"\r\ncurl -L ${DOWNLOAD_URL} -o muse.tar.gz\r\necho -e \"Extracting Muse from tarball...\"\r\ntar -xvzf muse.tar.gz --strip-components=1\r\nrm muse.tar.gz\r\n\r\n# Verify and clean up Muse installation\r\nif [ ! -f .env.example ]; then\r\n echo -e \"\\nFailed to download release: ${DOWNLOAD_URL}\\n\"\r\n exit 1\r\nfi\r\ncp .env.example .env\r\nrm -rf .dockerignore Dockerfile .gitignore .github\/\r\nyarn install --prod #--frozen-lockfile\r\n#sed -i 's\/of filterWrapper[)]\/of filterWrapper|| [])\/g' \/mnt\/server\/node_modules\/ytsr\/lib\/utils.js\r\n\r\necho -e \"\\nMuse Successfully Installed!\"",
"container": "node:lts-bookworm-slim",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "TOKEN",
"description": "Discord Bot Token",
"env_variable": "discord_token",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Data directory",
"description": "Default: .\/data",
"env_variable": "data_dir",
"default_value": ".\/data",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "YouTube API Key",
"description": "You can get it here: https:\/\/console.developers.google.com\/",
"env_variable": "api_key",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Spotify Client ID",
"description": "You can get it here: https:\/\/developer.spotify.com\/dashboard\/applications",
"env_variable": "client_id",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Spotify Client Secret",
"description": "You can get it here: https:\/\/developer.spotify.com\/dashboard\/applications",
"env_variable": "client_secret",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Version",
"description": "Specify a version, for example: \"v2.4.1\"\r\nFor the latest version, type \"latest\"",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
+4 -7
View File
@@ -1,11 +1,8 @@
# parkertron
## Their [Github](https://github.com/parkervcp/parkertron)
Purely a chatbot. Not even a smart one.
### 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
### Server Ports
There are no ports required for parkertron
+7 -12
View File
@@ -1,30 +1,25 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-02T14:23:14+02:00",
"exported_at": "2020-04-03T12:50:58-04:00",
"name": "parkertron",
"author": "parker@parkervcp.com",
"description": "The stupid chatbot parkertron by Parkervcp.\r\n\r\nhttps:\/\/github.com\/parkervcp\/parkertron",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:bot_parkertron": "ghcr.io\/parkervcp\/yolks:bot_parkertron"
},
"file_denylist": [],
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_parkertron",
"startup": ".\/parkertron",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Bot is now running\"\r\n}",
"logs": "{}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "shutdown"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# parkertron Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nexport GOPATH=$HOME\/go\r\nexport PATH=$GOROOT\/bin:$GOPATH\/bin:$PATH\r\n\r\ncd\r\n\r\napt update\r\n\r\napt install -y tesseract-ocr tesseract-ocr-eng libtesseract-dev\r\n\r\necho \"pulling the parkertron git repo\"\r\n\r\ngit clone https:\/\/github.com\/parkervcp\/parkertron.git\r\n\r\ncd parkertron\/\r\n\r\necho \"building parkertron\"\r\n\r\ngo build \r\n\r\necho \"build complete copying parkertron and example configs over\"\r\n\r\ncp parkertron \/mnt\/server\/\r\n\r\nif [ -d \/mnt\/server\/configs ]; then\r\n echo \"Files exist already\"\r\nelse\r\n cp -r \/root\/parkertron\/configs\/ \/mnt\/server\/\r\nfi\r\n\r\necho \"Install complete. If you watched this. Congrats.\"",
"container": "golang:1.19-bookworm",
"entrypoint": "bash"
"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",
"entrypoint": "ash"
}
},
"variables": []
+5 -9
View File
@@ -1,13 +1,9 @@
# pixelbot
### Their [Github](https://github.com/possatti/pixelbot)
Bot for pixelcanvas.io
## Their [Github](https://github.com/possatti/pixelbot)
Bot for pixelcanvas.io
## Server Ports
### Server Ports
There are no ports required for pixelbot
## Side notes
This was to make sure the parkervcp/images:python 3 image worked.
### Side notes
This was to make sure the parkervcp/images:python 3 image worked.
+23 -33
View File
@@ -1,29 +1,24 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-01T11:25:50+02:00",
"exported_at": "2020-01-19T11:11:24-05: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",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:python_3.7": "ghcr.io\/parkervcp\/yolks:python_3.7"
},
"file_denylist": [],
"startup": "\/usr\/local\/bin\/python bot.py",
"image": "quay.io\/parkervcp\/pterodactyl-images:alpine_python-3",
"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}",
"startup": "{\r\n \"done\": \"Logged in as\"\r\n}",
"logs": "{}",
"startup": "{\r\n \"done\": \"Logged in as\",\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\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\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "python:3.7-alpine",
"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",
"container": "python:3.6-alpine3.7",
"entrypoint": "ash"
}
},
@@ -33,50 +28,45 @@
"description": "The Discord UID of the bot owner.",
"env_variable": "OWNER_UID",
"default_value": "copy from discord",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:32"
},
{
"name": "Discord Bot Token",
"description": "Get the app token from https:\/\/discordapp.com\/developers\/applications\/me",
"env_variable": "BOT_TOKEN",
"default_value": "get from discord developers",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:64"
},
{
"name": "Bot Name",
"description": "The name that you want set for the bot",
"env_variable": "BOT_NAME",
"default_value": "Ispyra",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
},
{
"name": "Imgur API ID",
"description": "Add your Imgur API client_id if you want. \r\n\r\nhttps:\/\/api.imgur.com\/oauth2\/addclient",
"env_variable": "IMGUR_KEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:64",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:64"
},
{
"name": "Imgur Secret",
"description": "Add your Imgur API client_secret if you want. \r\n\r\nhttps:\/\/api.imgur.com\/oauth2\/addclient",
"env_variable": "IMGUR_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "nullable|string|max:20"
}
]
}
+7 -14
View File
@@ -1,20 +1,13 @@
# Red-DiscordBot
### From their [Github](https://github.com/Cog-Creators/Red-DiscordBot)
A multifunction Discord bot
## From their [Github](https://github.com/Cog-Creators/Red-DiscordBot)
A multifunction Discord bot
## Server Ports
### 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. To resolve this error you must increase the size of `tmpfs` using custom container policy.
## Additional Requirements
For additional details see: https://pterodactyl.io/daemon/0.6/configuration.html#container-policy
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
#### Mods/Plugins may require ports to be added to the server.
+11 -28
View File
@@ -1,18 +1,13 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2023-08-05T10:50:21+02:00",
"exported_at": "2020-04-20T23:06:14-04:00",
"name": "Red",
"author": "parker@parkervcp.com",
"description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:bot_red": "ghcr.io\/parkervcp\/yolks:bot_red"
},
"file_denylist": [],
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_red",
"startup": "PATH=$PATH:\/home\/container\/.local\/bin redbot pterodactyl --token {{TOKEN}} --prefix {{PREFIX}}",
"config": {
"files": "{}",
@@ -22,8 +17,8 @@
},
"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-17-jre-headless\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\npip install --upgrade pip\r\nsu - container -c 'pip install -U pip wheel'\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/redbot\/config.json -o \/mnt\/server\/.config\/Red-DiscordBot\/config.json\r\nfi\r\n\r\necho \"-------------------------------------------------------\"\r\necho \"Installation completed\"\r\necho \"-------------------------------------------------------\"",
"container": "python:3.11-slim",
"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:\/\/gist.githubusercontent.com\/parkervcp\/4a5a68aec5a26b35e4315b22dd6d6748\/raw\/a776b1610949dd242ff8ce5cdc8ad7d43e4f7dad\/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"
}
},
@@ -33,30 +28,18 @@
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
"env_variable": "TOKEN",
"default_value": "GET_YOUR_OWN",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
"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": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Owner",
"description": "Owner of the Bot to use special commands",
"env_variable": "OWNER",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:30",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}
-73
View File
@@ -1,73 +0,0 @@
# Ree6
___
## Authors / Contributors
<!-- prettier-ignore-start -->
<!-- markdownlint-disable -->
<table>
<tr>
<td align="center">
<a href="https://github.com/dxssucuk">
<img src="https://avatars.githubusercontent.com/u/53257574" width="50px;" alt=""/><br /><sub><b>Presti</b></sub>
</a>
<br />
<a href="https://github.com/Ree6-Applications/Ree6/commits?author=dxssucuk" title="Codes">💻</a>
<a href="https://github.com/Ree6-Applications/Ree6/commits?author=dxssucuk" title="Original Bot Creator">🤖</a>
</td>
<td align="center">
<a href="https://github.com/parkervcp">
<img src="https://avatars.githubusercontent.com/u/1207679" width="50px;" alt=""/><br /><sub><b>parkervcp</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=parkervcp" title="Codes">💻</a>
<a href="https://github.com/parkervcp/eggs/commits?author=parkervcp" title="Original Egg Creator">🥚</a>
</td>
<td align="center">
<a href="https://github.com/QuintenQVD0">
<img src="https://avatars.githubusercontent.com/u/67589015" width="50px;" alt=""/><br /><sub><b>QuintenQVD0</b></sub>
</a>
<br />
<a href="https://github.com/parkervcp/eggs/commits?author=QuintenQVD0" title="Codes">💻</a>
</td>
</tr>
</table>
<!-- markdownlint-enable -->
<!-- prettier-ignore-end -->
___
## Bot Description & Features
From the developer's [Github](https://github.com/Ree6-Applications/Ree6):
> Ree6 is an all-in-one Discord Bot maintained by Presti, which started as an alternative of Mee6 to provide a lot of features that are hidden behind a paywall or subscription.
- Contains almost every feature Mee6 has.
- Has a open Source Webinterface.
- Provides advanced Audit-Logging.
- Has built in post notifications (Twitter, Instagram, YouTube, Reddit and Twitch).
- Built-in simple Ticket System.
- And more!
___
## Configuration
- You will need to modify the config.yml to even start the bot.
___
## Server Ports
There are no ports required for Ree6.
___
## Updating
Re-Installing the server via the panel will do the following:
1. Update the bot to the latest version.
## API keys
This bot uses a lot of api keys. It will print some errors to the console if you don't have some filled in but the bot should still function as normal with the api keys you entered.
-128
View File
@@ -1,128 +0,0 @@
# ################################
# # #
# # Ree6 Config File #
# # by Presti #
# # #
# ################################
#
# Do not change this!
config:
version: 3.0.0
creation: 1686731674683
# HikariCP Configuration
hikari:
# SQL Configuration
sql:
user: root
db: root
pw: yourpw
host: localhost
port: 3306
# Misc Configuration
misc:
storage: sqlite # Possible entries: sqlite, mariadb, postgresql, h2, h2-server
storageFile: storage/Ree6.db
createEmbeddedServer: false # Should an instance of an embedded Server be created? Only used for H2-Server.
poolSize: 10
# Discord Application and overall Bot Configuration, used for OAuth, Bot Authentication and customization.
bot:
tokens:
release: ReleaseTokenhere # Token used when set to release build.
beta: BetaTokenhere # Token used when set to beta build.
dev: DevTokenhere # Token used when set to dev build.
# Configuration for the Bot itself.
misc:
status: ree6.de | %guilds% Servers. (%shard%) # The Status of the Bot.
feedbackChannelId: 0 # The Channel used for Feedback.
ownerId: <YOUR DISCORD ID> # The ID of the Bot Owner. Change this to yours!
predefineInformation: | # Predefined Information for the AI.
You are Ree6 a Discord bot.
invite: https://invite.ree6.de # The Invite Link of the Bot.
support: https://support.ree6.de # The Support Server Link of the Bot.
github: https://github.ree6.de # The GitHub Link of the Bot.
website: https://ree6.de # The Website Link of the Bot.
webinterface: https://cp.ree6.de # The Webinterface Link of the Bot.
recording: https://cp.ree6.de/external/recording # The Recording Link of the Bot.
twitchAuth: https://cp.ree6.de/external/twitch # The Twitch Authentication Link of the Bot.
advertisement: powered by Tube-hosting # The Advertisement in Embed Footers and the rest.
name: Ree6 # The Name of the Bot.
shards: 1 # The shard amount of the Bot. Check out https://anidiots.guide/understanding/sharding/#sharding for more information.
# Customize the active modules in Ree6.
modules:
moderation: true # Enable the moderation module.
music: true # Enable the music module.
fun: true # Enable the fun commands.
community: true # Enable the community commands.
economy: true # Enable the economy commands.
level: true # Enable the level module.
nsfw: true # Enable the nsfw module.
info: true # Enable the info commands.
hidden: true # Enable the hidden commands.
logging: true # Enable the logging module.
notifier: true # Enable the notifier module.
streamtools: true # Enable the Stream-tools module.
temporalvoice: true # Enable the Temporal-voice module.
tickets: true # Enable the Tickets module.
suggestions: true # Enable the suggestions module.
customcommands: true # Enable the custom Commands module.
customevents: true # Enable the custom Events module.
ai: true # Enable the AI module.
addons: false # Enable the Addons module.
news: true # Enable the news command/module.
games: true # Enable the Games module.
reactionroles: true # Enable the reaction-roles module.
slashcommands: true # Enable the slash-commands support.
messagecommands: true # Enable the message-commands support.
# Heartbeat Configuration, for status reporting
heartbeat:
url: none # The URL to the Heartbeat-Server
interval: 60
dagpi:
apitoken: DAGPI.xyz API-Token # Your Dagpi.xyz API-Token, for tweet image generation!
amari:
apitoken: Amari API-Token # Your Amari API-Token, for Amari Level imports!
openai:
apiToken: OpenAI API-Token # Your OpenAI API-Token, for ChatGPT!
apiUrl: https://api.openai.com/v1/chat/completions # The URL to the OpenAI API.
model: gpt-3.5-turbo-0301 # The Model used for the OpenAI API.
sentry:
dsn: yourSentryDSNHere # Your Sentry DSN, for error reporting!
# Spotify Application Configuration, used to parse Spotify Tracks/Playlists to YouTube search queries.
spotify:
client:
id: yourspotifyclientid
secret: yourspotifyclientsecret
# Twitch Application Configuration, used for the StreamTools and Twitch Notifications.
twitch:
client:
id: yourtwitchclientidhere
secret: yourtwitchclientsecrethere
# Twitter Application Configuration, used for the Twitter Notifications.
twitter:
bearer: yourTwitterBearerToken
# Reddit Application Configuration, used for the Reddit Notification.
reddit:
client:
id: yourredditclientid
secret: yourredditclientsecret
# Instagram Application Configuration, used for the Instagram Notification.
instagram:
username: yourInstagramUsername
password: yourInstagramPassword
-422
View File
@@ -1,422 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-06-14T13:03:27+02:00",
"name": "Ree6",
"author": "presti@presti.me",
"description": "All-in-one, open source and 100% free Discord Bot!",
"features": null,
"docker_images": {
"Java_17": "ghcr.io\/pterodactyl\/yolks:java_17"
},
"file_denylist": [],
"startup": "java -Dnogui=true -jar Ree6.jar",
"config": {
"files": "{\r\n \"config.yml\": {\r\n \"parser\": \"yaml\",\r\n \"find\": {\r\n \"hikari.sql.user\": \"{{server.build.env.DATABASE_USER}}\",\r\n \"hikari.sql.db\": \"{{server.build.env.DATABASE_DB}}\",\r\n \"hikari.sql.pw\": \"{{server.build.env.DATABASE_PW}}\",\r\n \"hikari.sql.host\": \"{{server.build.env.DATABASE_HOST}}\",\r\n \"hikari.sql.port\": \"{{server.build.env.DATABASE_PORT}}\",\r\n \"hikari.misc.storage\": \"{{server.build.env.DATABASE_TYP}}\",\r\n \"hikari.misc.storageFile\": \"{{server.build.env.DATABASE_FILE}}\",\r\n \"hikari.misc.poolSize\": \"{{server.build.env.DATABASE_POOL}}\",\r\n \"hikari.misc.createEmbeddedServer\": \"{{server.build.env.DATABASE_EMBEDDED}}\",\r\n \"heartbeat.url\": \"{{server.build.env.HEARTBEAT_URL}}\",\r\n \"heartbeat.interval\": \"{{server.build.env.HEARTBEAT_INTERVAL}}\",\r\n \"dagpi.apitoken\": \"{{server.build.env.DAGPI_TOKEN}}\",\r\n \"amari.apitoken\": \"{{server.build.env.AMARI_TOKEN}}\",\r\n \"sentry.dsn\": \"{{server.build.env.SENTRY_DSN}}\",\r\n \"spotify.client.id\": \"{{server.build.env.SPOTIFY_CLIENT_ID}}\",\r\n \"spotify.client.secret\": \"{{server.build.env.SPOTIFY_CLIENT_SECRET}}\",\r\n \"twitch.client.id\": \"{{server.build.env.TWITCH_CLIENT_ID}}\",\r\n \"twitch.client.secret\": \"{{server.build.env.TWITCH_CLIENT_SECRET}}\",\r\n \"twitter.consumer.key\": \"{{server.build.env.TWITTER_CONSUMER_ID}}\",\r\n \"twitter.consumer.secret\": \"{{server.build.env.TWITTER_CONSUMER_SECRET}}\",\r\n \"twitter.access.key\": \"{{server.build.env.TWITTER_ACCESS_ID}}\",\r\n \"twitter.access.secret\": \"{{server.build.env.TWITTER_ACCESS_SECRET}}\",\r\n \"reddit.client.id\": \"{{server.build.env.REDDIT_CLIENT_ID}}\",\r\n \"reddit.client.secret\": \"{{server.build.env.REDDIT_CLIENT_SECRET}}\",\r\n \"instagram.username\": \"{{server.build.env.INSTAGRAM_USERNAME}}\",\r\n \"instagram.password\": \"{{server.build.env.INSTAGRAM_PASSWORD}}\",\r\n \"bot.tokens.release\": \"{{server.build.env.BOT_TOKEN}}\",\r\n \"openai.apiToken\": \"{{server.build.env.AI_TOKEN}}\",\r\n \"openai.apiUrl\": \"{{server.build.env.AI_URL}}\",\r\n \"openai.model\": \"{{server.build.env.AI_MODEL}}\",\r\n \"bot.misc.status\": \"{{server.build.env.MISC_STATUS}}\",\r\n \"bot.misc.feedbackChannelId\": \"{{server.build.env.MISC_FEEDBACK}}\",\r\n \"bot.misc.ownerId\": \"{{server.build.env.MISC_OWNER}}\",\r\n \"bot.misc.predefineInformation\": \"{{server.build.env.MISC_PREDEF}}\",\r\n \"bot.misc.invite\": \"{{server.build.env.MISC_INVITE}}\",\r\n \"bot.misc.support\": \"{{server.build.env.MISC_SUPPORT}}\",\r\n \"bot.misc.website\": \"{{server.build.env.MISC_WEB}}\",\r\n \"bot.misc.webinterface\": \"{{server.build.env.MISC_INTERFACE}}\",\r\n \"bot.misc.record\": \"{{server.build.env.MISC_RECORD}}\",\r\n \"bot.misc.twitchAuth\": \"{{server.build.env.MISC_TWITCH}}\",\r\n \"bot.misc.advertisement\": \"{{server.build.env.MISC_ADV}}\",\r\n \"bot.misc.name\": \"{{server.build.env.MISC_NAME}}\",\r\n \"bot.misc.shards\": \"{{server.build.env.MISC_SHARD}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Finished Loading\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n## this is a simple script to use the github API for release versions.\r\n## this requires the egg has a variable for GITHUB_PACKAGE and VERSION\r\n## this supports using oauth\/personal access tokens via GITHUB_USER and GITHUB_OAUTH_TOKEN (both are required.)\r\n## if you are getting hit with GitHub API limit issues then you need to have the user and token set.\r\napt update\r\napt install -y jq curl\r\n\r\n\r\nCONFIG_LINK=\"https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/ree6\/config.yml\"\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/Ree6-Applications\/Ree6\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/Ree6-Applications\/Ree6\/releases\")\r\nMATCH=jar-with-dependencies.jar\r\n\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"${MATCH}\" | head -1 )\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i \"${MATCH}\" | head -1)\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i *.jar)\r\n fi\r\nfi\r\n\r\n## Ree6 Setup\r\n[ ! -d \/mnt\/server ] && mkdir -p \/mnt\/server\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncd \/mnt\/server\r\necho -e \"\\nInstalling\/Updating Ree6...\\n\"\r\n\r\nif [ -f Ree6.jar ]; then\r\n echo -e \"Updating Ree6.jar to latest version...\"\r\n echo -e '\\t(Old version can be found at \"Ree6.jar-old\")'\r\n mv -f Ree6.jar Ree6.jar-old\r\nfi\r\n\r\necho -e \"Running: curl -sSL -o Ree6.jar ${DOWNLOAD_LINK}\\n\"\r\ncurl -sSL -o Ree6.jar ${DOWNLOAD_LINK}\r\n\r\nif [ -f config.yml ]; then\r\n echo -e \"Updating config.yml to latest version...\"\r\n echo -e '\\t(Old version can be found at \"config.yml-old\")'\r\n mv -f config.yml config.yml-old\r\nfi\r\n\r\necho -e \"Running: curl -sSL -o config.yml ${CONFIG_LINK}\\n\"\r\ncurl -sSL -o config.yml ${CONFIG_LINK}\r\n \r\n\r\necho -e \"\\nRee6 Successfully Installed!\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "[REQUIRED] Discord Bot Token",
"description": "The token for your Discord bot. Learn how to obtain a token and configure your bot application properly here: https:\/\/jmusicbot.com\/getting-a-bot-token\/",
"env_variable": "BOT_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
},
{
"name": "Dagpi token",
"description": "Your Dagpi.xyz API-Token, for tweet image generation!",
"env_variable": "DAGPI_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Sentry DSN",
"description": "Your Sentry DSN, for error reporting!",
"env_variable": "SENTRY_DSN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Spotify Client Id",
"description": "Spotify Application Configuration, used to parse Spotify Tracks\/Playlists to YouTube search queries.",
"env_variable": "SPOTIFY_CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Spotify Client Secret",
"description": "Spotify Application Configuration, used to parse Spotify Tracks\/Playlists to YouTube search queries.",
"env_variable": "SPOTIFY_CLIENT_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Heartbeat Url",
"description": "The URL to the Heartbeat-Server",
"env_variable": "HEARTBEAT_URL",
"default_value": "none",
"user_viewable": true,
"user_editable": true,
"rules": "string",
"field_type": "text"
},
{
"name": "Heartbeat Interval",
"description": "The interval between the heartbeats.",
"env_variable": "HEARTBEAT_INTERVAL",
"default_value": "60",
"user_viewable": true,
"user_editable": true,
"rules": "integer",
"field_type": "text"
},
{
"name": "Amari Token",
"description": "Your Amari API-Token, for Amari Level imports!",
"env_variable": "AMARI_TOKEN",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitch Client Id",
"description": "Twitch Application Configuration, used for the StreamTools and Twitch Notifications.",
"env_variable": "TWITCH_CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitch Client Secret",
"description": "Twitch Application Configuration, used for the StreamTools and Twitch Notifications.",
"env_variable": "TWITCH_CLIENT_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitter Bearer Key",
"description": "Twitter Application Configuration, used for the Twitter Notifications.",
"env_variable": "TWITTER_BEARER",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Reddit Client Id",
"description": "Reddit Application Configuration, used for the Reddit Notification.",
"env_variable": "REDDIT_CLIENT_ID",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Reddit Client Secret",
"description": "Reddit Application Configuration, used for the Reddit Notification.",
"env_variable": "REDDIT_CLIENT_SECRET",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Instagram Username",
"description": "Instagram Application Configuration, used for the Instagram Notification.",
"env_variable": "INSTAGRAM_USERNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Instagram Password",
"description": "Instagram Application Configuration, used for the Instagram Notification.",
"env_variable": "INSTAGRAM_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "SQL Username",
"description": "Username for the SQL connection.",
"env_variable": "DATABASE_USER",
"default_value": "root",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:32",
"field_type": "text"
},
{
"name": "SQL Database",
"description": "Database for the SQL Connection",
"env_variable": "DATABASE_DB",
"default_value": "root",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:64",
"field_type": "text"
},
{
"name": "SQL Password",
"description": "Password for the SQL connection.",
"env_variable": "DATABASE_PW",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "SQL Port",
"description": "Port for the SQL connection.",
"env_variable": "DATABASE_PORT",
"default_value": "3306",
"user_viewable": true,
"user_editable": true,
"rules": "integer",
"field_type": "text"
},
{
"name": "Database Typ",
"description": "The Typ of the Database Ree6 should use!\r\nPossible typs:\r\n- mariadb\r\n- sqlite\r\n- h2\r\n- postgres",
"env_variable": "DATABASE_TYP",
"default_value": "sqlite",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:mariadb,sqlite,postgres,postregsql,h2",
"field_type": "text"
},
{
"name": "Database Storagefile",
"description": "The location of the storagefile if sqlite is being used.",
"env_variable": "DATABASE_FILE",
"default_value": "storage\/Ree6.db",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:32",
"field_type": "text"
},
{
"name": "[DEVELOPER-STUFF] Database Poolsize",
"description": "The Database connection pool size!",
"env_variable": "DATABASE_POOL",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "Database host",
"description": "The Host address of the Database connection.",
"env_variable": "DATABASE_HOST",
"default_value": "localhost",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "OpenAI Token",
"description": "Your Authentication token that should be used in the AI API calls.",
"env_variable": "AI_TOKEN",
"default_value": "OpenAI API-Token",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "OpenAI Url",
"description": "The URL that should receive the API calls.",
"env_variable": "AI_URL",
"default_value": "https:\/\/api.openai.com\/v1\/chat\/completions",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "OpenAI Model",
"description": "The AI model that should be used in the API calls.",
"env_variable": "AI_MODEL",
"default_value": "gpt-3.5-turbo-0301",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:32",
"field_type": "text"
},
{
"name": "Activity Status",
"description": "The Activity status of the Bot that will be shown.",
"env_variable": "MISC_STATUS",
"default_value": "ree6.de | %guilds% Servers. (%shard%)",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Feedback Channel",
"description": "The Channel Id of the Feedback channel.",
"env_variable": "MISC_FEEDBACK",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "integer",
"field_type": "text"
},
{
"name": "[DEVELOPER-STUFF] Bot Owner Id",
"description": "The ID of the Bot Owner, this will be used internally on some checks.",
"env_variable": "MISC_OWNER",
"default_value": "321580743488831490",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
},
{
"name": "Invite Link",
"description": "The Invite link to invite the Bot.",
"env_variable": "MISC_INVITE",
"default_value": "https:\/\/invite.ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Predefined Information for AI",
"description": "The Information for the AI.",
"env_variable": "MISC_PREDEF",
"default_value": "You are Ree6 a Discord bot.",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Support Link",
"description": "The Url link for users to receive support.",
"env_variable": "MISC_SUPPORT",
"default_value": "https:\/\/support.ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Website",
"description": "The Url to the Website of the Bot.",
"env_variable": "MISC_WEB",
"default_value": "https:\/\/ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Webinterface",
"description": "The Url to the Webinterface.",
"env_variable": "MISC_INTERFACE",
"default_value": "https:\/\/cp.ree6.de",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Record Url",
"description": "The Url that uses can access to get their recording.",
"env_variable": "MISC_RECORD",
"default_value": "https:\/\/cp.ree6.de\/external\/recording",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Twitch Url",
"description": "The Url used to connect a Twitch Account with the Ree6 System.",
"env_variable": "MISC_TWITCH",
"default_value": "https:\/\/cp.ree6.de\/external\/twitch",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Advertisment",
"description": "The Advertisement in Embed Footers and the rest.",
"env_variable": "MISC_ADV",
"default_value": "powered by Tube-hosting",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:128",
"field_type": "text"
},
{
"name": "Name",
"description": "The Name of the Bot.",
"env_variable": "MISC_NAME",
"default_value": "Ree6",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Shards",
"description": "The amount of shards that should be created.",
"env_variable": "MISC_SHARD",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer",
"field_type": "text"
}
]
}
+6 -15
View File
@@ -1,24 +1,15 @@
# SinusBot
### Their [Site](https://www.sinusbot.com/)
Listen to your favorite music together with all of your friends
## 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!
## First startup
On first startup wait until this message in the console appears: `TSClient quit.` Then press restart.
Now the SinusBot will fully startup and you can login to the WebUI.
## Server Ports
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.
### Side notes
This uses a custom image.
+12 -18
View File
@@ -1,29 +1,24 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2023-08-14T15:15:05+02:00",
"exported_at": "2019-07-25T10:48:45-04:00",
"name": "Sinusbot",
"author": "support@pterodactyl.io",
"description": "Musicbot for Discord and Teamspeak.",
"features": null,
"docker_images": {
"sinusbot": "ghcr.io\/parkervcp\/yolks:bot_sinusbot"
},
"file_denylist": [],
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_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}",
"startup": "{\r\n \"done\": \"Initialization complete\"\r\n}",
"logs": "{}",
"startup": "{\r\n \"done\": \"Initialization complete\",\r\n \"userInteraction\": []\r\n}",
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"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-dlp\r\n\r\ncd \/mnt\/server\r\n\r\n#Download Sinusbot\r\nwget -qO - https:\/\/www.sinusbot.com\/dl\/sinusbot.current.tar.bz2 | tar xj\r\n\r\n\r\n#Download Latest TeamSpeak Client\r\n#TS_VERSION=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.version')\r\n#TS_DL_LINK=$(curl https:\/\/teamspeak.com\/versions\/client.json | jq -r '.linux.x86_64.mirrors.\"teamspeak.com\"')\r\n\r\n# Sinusbot is not yet updated...\r\nTS_VERSION=3.5.6\r\nTS_DL_LINK=https:\/\/files.teamspeak-services.com\/releases\/client\/3.5.6\/TeamSpeak3-Client-linux_amd64-3.5.6.run\r\n\r\necho -e \"downloading teamspeak version ${TS_VERSION}\"\r\necho -e \"running 'wget ${TS_DL_LINK}'\"\r\n\r\nwget ${TS_DL_LINK}\r\n\r\n# Install TeamSpeak Client\r\nchmod 0755 TeamSpeak3-Client-linux_amd64*.run\r\n.\/TeamSpeak3-Client-linux_amd64*.run --tar xfv -C TeamSpeak3-Client-linux_amd64\r\n\r\n## Cleaning up \r\n\r\nrm TeamSpeak3-Client-linux_amd64*.run\r\n# Remove glx-integration lib\r\nrm TeamSpeak3-Client-linux_amd64\/xcbglintegrations\/libqxcb-glx-integration.so\r\n\r\n#Install Sinusbot\r\nchmod +x sinusbot\r\ncp config.ini.dist config.ini\r\nsed -i \"s|^TS3Path.*|TS3Path = \\\"\/home\/container\/TeamSpeak3-Client-linux_amd64\/ts3client_linux_amd64\\\"|g\" config.ini\r\necho 'YoutubeDLPath = \"\/home\/container\/youtube-dlp\/youtube-dlp\"' >> config.ini\r\n\r\n#Install Sinusbot plugin\r\ncp plugin\/libsoundbot_plugin.so TeamSpeak3-Client-linux_amd64\/plugins\r\n\r\n#Download youtube-dlp\r\ncd \/mnt\/server\/youtube-dlp\r\nwget https:\/\/github.com\/yt-dlp\/yt-dlp\/releases\/latest\/download\/yt-dlp -O youtube-dlp\r\nchmod a+rx youtube-dlp\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"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",
"container": "ubuntu:18.04",
"entrypoint": "bash"
}
},
@@ -32,11 +27,10 @@
"name": "Password",
"description": "Password for admin account.",
"env_variable": "OVERRIDE_PASSWORD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
"default_value": "CHANGEME",
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}
}
-11
View File
@@ -1,11 +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,31 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-01T11:27:47+02: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",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:python_2.7": "ghcr.io\/parkervcp\/yolks:python_2.7"
},
"file_denylist": [],
"startup": "python b3_run.py",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"No idea what to put here\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\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\r\n\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "python:2.7-slim",
"entrypoint": "bash"
}
},
"variables": []
}
+4 -5
View File
@@ -1,8 +1,7 @@
# TeamSpeak3 Bots
## Some of these bots support other services but are primarily TeamSpeak3 bots
### Some of these bots support other services but are primarily TeamSpeak3 bots
### [JTS3ServerMod](jts3servermod)
[JTS3ServerMod](https://www.stefan1200.de/forum/index.php?topic=2.0)
Please Check their site for an in depth on the bot.
#### JTS3ServerMod
[JTS3ServerMod](https://www.stefan1200.de/forum/index.php?topic=2.0)
Please Check their site for an in depth on the bot.
@@ -1,42 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2022-07-03T18:18:04-04:00",
"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",
"features": null,
"docker_images": {
"ghcr.io\/pterodactyl\/yolks:java_8": "ghcr.io\/pterodactyl\/yolks:java_8"
},
"file_denylist": [],
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar JTS3ServerMod.jar",
"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}",
"logs": "{}",
"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\n# All required packages are installed in the used install image ghcr.io\/parkervcp\/installers:debian\r\n\r\nexport HOME=\/mnt\/server\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ -z \"$SERVER_VERSION\" ] || [ \"$SERVER_VERSION\" == \"latest\" ]; then\r\n echo -e \"Downloading latest version with curl -L \"https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod &\r\n type=.zip\" -o JTS3ServerMod.zip\"\r\n curl -L \"https:\/\/www.stefan1200.de\/dlrequest.php?file=jts3servermod&type=.zip\" -o JTS3ServerMod.zip\r\nelse\r\n echo -e \"running curl -L \"https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip\" -o JTS3ServerMod.zip\"\r\n curl -L \"https:\/\/www.stefan1200.de\/downloads\/JTS3ServerMod_$SERVER_VERSION.zip\" -o JTS3ServerMod.zip\r\nfi\r\n\r\n# no need to continue if we don't have an archive\r\nif [ ! -f JTS3ServerMod.zip ]; then\r\n echo \"JTS3ServerMod.zip not found. Something went wrong. Exiting\"\r\n exit 2\r\nfi\r\n\r\nunzip JTS3ServerMod.zip\r\nrm JTS3ServerMod.zip JTS3ServerMod-Windows.exe JTS3ServerMod-Windows_NoWindow.exe jts3servermod_startscript.sh\r\necho -e \"Installation completed.\\nConfiguration of the server must be done in the config folder to proceed.\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"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": "Version to download. Use latest to install latest version",
"description": "",
"env_variable": "SERVER_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:20"
}
]
}
}
+3 -12
View File
@@ -1,15 +1,6 @@
# Twitch Bots
## Some of these bots support other services but are primarily Twitch bots
### Some of these bots support other services but are primarily Twitch bots
### [PhantomBot](phantombot)
[Website](https://phantombot.github.io/PhantomBot/)
[GitHub](https://github.com/phantombot/PhantomBot)
PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.
### [SogeBot](sogebot)
[Website](https://sogebot.xyz)
[GitHub](https://github.com/sogebot/sogeBot)
Free Twitch Bot built on Node.js
#### PhantomBot [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/)
#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/)
+22 -8
View File
@@ -1,13 +1,27 @@
# PhantomBot
### Their [Site](https://phantombot.tv)
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.
[Website](https://phantombot.dev/)
[GitHub](https://github.com/phantombot/PhantomBot)
PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.
## Server Ports
1 port is required to run PhantomBot.
### Server Ports
3 ports are required to run PhantomBot.
| Port | default |
|---------------------|---------|
| Web UI (HTTP Server)| 25000 |
| 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!
+55 -51
View File
@@ -1,113 +1,117 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2023-09-02T23:24:58+00:00",
"exported_at": "2020-04-26T14:11:30+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,
"docker_images": {
"Java 16 [DEPRECATED]": "ghcr.io\/parkervcp\/yolks:java_16",
"Java 19": "ghcr.io\/parkervcp\/yolks:java_19"
},
"file_denylist": [],
"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 \"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\": \"Joined \"\r\n}",
"logs": "{}",
"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 wget 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:\/\/api.github.com\/repos\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -e '\"tag_name\"' | sed -E 's\/.*\"([^\"]+)\".*\/\\1\/' | sed 's\/^.\/\/')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}-lin.zip\r\n echo -e \"${DOWNLOAD_URL}\"\r\nfi\r\n\r\n# Download files\r\ncd \/mnt\/server\r\nwget ${DOWNLOAD_URL} -O PhantomBot.zip\r\n\r\n# Unzip files and delete the archive\r\nunzip -o PhantomBot.zip\r\nrm PhantomBot.zip\r\n\r\n# Move unzipped files into the server folder and delete the folder \r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\nrm -rf PhantomBot-*\/\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\r\necho \"install finished\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"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 last 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# Downloading\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Moveing unziped 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": "ubuntu:16.04",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Version",
"description": "latest = Latest Stable\r\nmaster = latest Github\r\n3.9.0.7 = Latest known working with Java 16",
"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",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:9"
},
{
"name": "Twitch Channel Name",
"description": "Enter the Twitch channel name where the bot will connect to",
"description": "Please enter the bot's Twitch username",
"env_variable": "CHANNEL_NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:26",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"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",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"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": 1,
"user_editable": 1,
"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.tv\/oauth\/",
"env_variable": "USER_OAUTH_TOKEN",
"default_value": "",
"user_viewable": 1,
"user_editable": 1,
"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",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"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",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"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",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:2000"
},
{
"name": "Youtube API Key",
"description": "https:\/\/phantombot.dev\/guides\/#guide=content\/integrations\/youtubesetup",
"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:128",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "max:64"
},
{
"name": "Discord Bot Token",
"description": "https:\/\/phantombot.dev\/guides\/#guide=content\/integrations\/discordintegrationsetup",
"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:128",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "max:64"
}
]
}
}
+6 -8
View File
@@ -1,17 +1,15 @@
# SogeBot
[Website](https://sogebot.xyz)
[GitHub](https://github.com/sogebot/sogeBot)
Free Twitch Bot built on Node.js
## Server Ports
# PhantomBot
### Their [Site](https://www.sogebot.xyz)
sogBot 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
#NOTES
The installation take a long time, because a lot of things must be compiled. It can take 5 or more minutes !!!
+14 -20
View File
@@ -1,42 +1,36 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-02T14:27:18+02:00",
"exported_at": "2020-05-01T11:41:48+02:00",
"name": "SogeBot",
"author": "eggs@goover.dev",
"author": "panel@mgc4you.de",
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
},
"file_denylist": [],
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
"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}",
"files": "{\r\n \".env\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"PORT=\": \"PORT={{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"WebPanel is available at\"\r\n}",
"logs": "{}",
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#\/bin\/bash\r\n# Installscript for sogeBot | Author: eggs@goover.dev\r\n\r\nexport DEBIAN_FRONTEND=noninteractive\r\n\r\napt -y update\r\napt install -y curl unzip jq python3 build-essential ca-certificates\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\nchown -R root:root \/mnt\r\n\r\n#Backup database & config\r\nmkdir -p .backup\r\ncp -f .env \/mnt\/server\/.backup\r\ncp -f sogebot.db \/mnt\/server\/.backup\r\n\r\n#delete old dir's to prevent errors on update\r\nrm -fR dest\r\nrm -fR public\r\nrm -fR node-modules\r\nrm -fR tools\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/sogebot\/sogeBot\/releases\")\r\nMATCH=sogeBot\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"Downloading from $DOWNLOAD_LINK\"\r\ncurl -sSL -o sogeBot.zip ${DOWNLOAD_LINK}\r\n\r\nunzip -o sogeBot.zip\r\nrm -rf sogeBot.zip\r\n\r\n\r\necho \"--------------------------------------------------------------------------\"\r\necho \"Installing dependencies, this will take some time so sit back and relax...\"\r\necho \"IGNORE WARNINGS. THESE ARE NOT ERRORS !!!\"\r\necho \"--------------------------------------------------------------------------\"\r\n\r\nnpm install -g npm@8\r\n\r\nnpm install --verbose --force\r\n\r\necho -e \"install completed\"\r\nexit 0",
"container": "node:18-bookworm-slim",
"entrypoint": "bash"
"script": "#\/bin\/ash\r\napk update\r\napk add --no-cache git make gcc g++ python autoconf automake nasm build-base zlib zlib-dev libtool ca-certificates curl unzip sqlite gettext\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n RELEASE_VERSION=$(curl -s \"https:\/\/api.github.com\/repos\/sogehige\/sogeBot\/releases\/latest\" | awk -F '\"' '\/tag_name\/{print $4}')\r\n DOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\n curl -L -o sogebot.zip ${DOWNLOAD_URL}\r\n unzip -o sogebot.zip\r\n rm sogebot.zip\r\n \r\nrm -rf \/mnt\/server\/.env\r\ncat <<EOT > \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n\r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n \r\nelif [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n git clone https:\/\/github.com\/sogehige\/sogeBot.git .\r\n cp src\/bot\/data\/.* .\r\n \r\nrm -rf \/mnt\/server\/.env\r\ncat <<EOT > \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n \r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n \r\nelse\r\n DOWNLOAD_URL=https:\/\/github.com\/sogehige\/sogeBot\/releases\/download\/${RELEASE_VERSION}\/sogeBot-${RELEASE_VERSION}.zip\r\n curl -L -o sogebot.zip ${DOWNLOAD_URL}\r\n unzip -o sogebot.zip\r\n rm sogebot.zip\r\n \r\nrm -rf \/mnt\/server\/.env\r\ncat <<EOT > \/mnt\/server\/.env\r\nTYPEORM_CONNECTION=sqlite\r\nTYPEORM_DATABASE=.\/sogebot.db\r\nPORT=20000\r\n \r\n# DON'T CHANGE ANYTHING BELOW THIS LINE\r\nTYPEORM_ENTITIES=dest\/database\/entity\/*.js\r\nTYPEORM_MIGRATIONS=dest\/database\/migration\/sqlite\/*.js\r\nTYPEORM_SUBSCRIBERS=dest\/database\/entity\/*.js\r\n\r\nTYPEORM_ENTITIES_DIR=src\/bot\/database\/entity\r\nTYPEORM_MIGRATIONS_DIR=src\/bot\/database\/migration\/sqlite\r\nTYPEORM_SUBSCRIBERS_DIR=src\/bot\/database\/entity\r\nEOT\r\n\r\nfi\r\n\r\nnpm install -g npm@latest\r\n\r\n#\/usr\/local\/bin\/npm install sqlite3 --save\r\n#\/usr\/local\/bin\/npm install --save-dev electron-rebuild\r\n\r\nif [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"## Compiling SourceCode with make && Downloading npm components\"\r\n make\r\nelse\r\n echo -e \"## Downloading npm components\"\r\n \/usr\/local\/bin\/npm ci\r\nfi\r\n\r\nexit 0",
"container": "node:12-alpine3.10",
"entrypoint": "ash"
}
},
"variables": [
{
"name": "Version",
"description": "Version to install. Latest will install the latest available version.",
"env_variable": "VERSION",
"description": "Use: \"latest\" => latest official Version of SogeBot | \"master\" => Latest master branch Version |\"10.x.x\" other Version",
"env_variable": "RELEASE_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "max:9"
}
]
}
+8 -22
View File
@@ -1,27 +1,13 @@
# Databases
## In-Memory Databases
### [redis](redis)
https://redis.io/
## NoSQL
### [mongodb](nosql/mongodb)
https://www.mongodb.com/
### [rethinkdb](nosql/rethinkdb)
https://rethinkdb.com/
# databases
## SQL Databases
### [mariadb](sql/mariadb)
### [mariadb](/mariadb/)
https://mariadb.org/
### [postgres](sql/postgres)
### [postgres](/postgres/)
https://www.postgresql.org/
## In-Memory Databases
### [redis](/redis/)
https://redis.io/
-51
View File
@@ -1,51 +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.
### MongoDB free monitoring.
To disable the message about free monitoring you can run `db.disableFreeMonitoring()`.
## Security
By default, MongoDB **does not enforce access control**, meaning that even if you set an admin username and password in the settings of your Pterodactyl server, **anyone will be able to connect to the database without authentication**, and perform any operation.
> :warning: This is why we recommend to expose your MongoDB database only to your local network, if possible
### Enabling authentication
To enable authentification, you need to edit the following lines to your `mongod.conf` file:
```yaml
security:
authorization: "enabled"
```
> :closed_lock_with_key: To learn more about MongoDB security, you can read the [MongoDB Security Checklist](https://www.mongodb.com/docs/manual/administration/security-checklist/#security-checklist)
### Notes specific to the MongoDB 6 or 7 egg
**The [MongoDB 6 egg](./egg-mongo-d-b6.json) or [MongoDB 7 egg](./egg-mongo-d-b7.json) enables access control by default** in the `mongod.conf` file, meaning that even if people will be able to connect to your database as guests, [they will not be able to perform any operation, apart from nonhazardous commands](https://dba.stackexchange.com/a/292175)
### Disabling authentication
**If you know what you are doing** and want to explicitly disable access control, you can edit the following lines to your `mongod.conf` file:
```yaml
security:
authorization: "disabled"
```
## 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 |
-53
View File
@@ -1,53 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2022-08-28T13:33:51+02: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.",
"features": null,
"docker_images": {
"MongoDB_4": "ghcr.io\/parkervcp\/yolks:mongodb_4",
"MongoDB_5": "ghcr.io\/parkervcp\/yolks:mongodb_5"
},
"file_denylist": [],
"startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log -f \/home\/container\/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done && mongo --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 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",
"field_type": "text"
},
{
"name": "Mongo Admin Password",
"description": "",
"env_variable": "MONGO_USER_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
@@ -1,52 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2022-10-31T17:26:13+00:00",
"name": "MongoDB 6",
"author": "parker@parkervcp.com",
"description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.",
"features": null,
"docker_images": {
"MongoDB_6": "ghcr.io\/parkervcp\/yolks:mongodb_6"
},
"file_denylist": [],
"startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log -f \/home\/container\/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done; mongosh --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} && mongosh --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}",
"config": {
"files": "{\r\n \"mongod.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#security:\": \"security: \\r\\n authorization: \\\"enabled\\\"\"\r\n }\r\n }\r\n}",
"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\nmongosh --eval \"db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})\"\r\n\r\nmongosh --eval \"db.getSiblingDB('admin').shutdownServer()\"",
"container": "mongo:6-focal",
"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",
"field_type": "text"
},
{
"name": "Mongo Admin Password",
"description": "",
"env_variable": "MONGO_USER_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
@@ -1,52 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-02-02T10:25:08+01:00",
"name": "MongoDB 7",
"author": "parker@parkervcp.com",
"description": "MongoDB is a general purpose, document-based, distributed database built for modern application developers and for my butt era.",
"features": null,
"docker_images": {
"MongoDB_7": "ghcr.io\/parkervcp\/yolks:mongodb_7"
},
"file_denylist": [],
"startup": "mongod --fork --dbpath \/home\/container\/mongodb\/ --port ${SERVER_PORT} --bind_ip 0.0.0.0 --logpath \/home\/container\/logs\/mongo.log -f \/home\/container\/mongod.conf; until nc -z -v -w5 127.0.0.1 ${SERVER_PORT}; do echo 'Waiting for mongodb connection...'; sleep 5; done; mongosh --username ${MONGO_USER} --password ${MONGO_USER_PASS} --host 127.0.0.1:${SERVER_PORT} && mongosh --eval \"db.getSiblingDB('admin').shutdownServer()\" 127.0.0.1:${SERVER_PORT}",
"config": {
"files": "{\r\n \"mongod.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#security:\": \"security: \\r\\n authorization: \\\"enabled\\\"\"\r\n }\r\n }\r\n}",
"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 -p \/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\nmongosh --eval \"db.getSiblingDB('admin').createUser({user: '${MONGO_USER}', pwd: '${MONGO_USER_PASS}', roles: ['root']})\"\r\n\r\nmongosh --eval \"db.getSiblingDB('admin').shutdownServer()\"\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "mongo:7-jammy",
"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",
"field_type": "text"
},
{
"name": "Mongo Admin Password",
"description": "",
"env_variable": "MONGO_USER_PASS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
-21
View File
@@ -1,21 +0,0 @@
# Rethinkdb
## [Website](https://rethinkdb.com/)
The open-source database for the realtime web
## Notes
- The web dashboard by default is disabled (remove the ` --no-http-admin` flag from startup to enable).
- It defaults bind to 0.0.0.0 what is all interfaces so it is public availble.
- On first start a admin pasword is randomly generated.
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| cluster | 25567 |
| driver | 25568 |
| http | 25569 |
@@ -1,62 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:35:12+02:00",
"name": "rethinkdb",
"author": "josdekurk@gmail.com",
"description": "The open-source database for the realtime web",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/rethinkdb --bind 0.0.0.0 --cluster-port {{SERVER_PORT}} --driver-port {{DRIVER_PORT}} --http-port {{HTTP_PORT}} --initial-password auto --no-http-admin",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Server ready\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y wget tar binutils xz-utils\r\n\r\nARCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"amd64\" || echo \"arm64\")\r\n\r\nmkdir -p \/mnt\/server\r\n\r\ncd \/tmp\r\nwget https:\/\/download.rethinkdb.com\/repository\/debian-bookworm\/pool\/r\/rethinkdb\/rethinkdb_${VERSION}~0bookworm_${ARCH}.deb -O rethinkdb.deb\r\n\r\nar xv rethinkdb.deb\r\n\r\ntar xvf data.tar.xz\r\n\r\nmv \/tmp\/usr\/bin\/rethinkdb \/mnt\/server\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Version",
"description": "",
"env_variable": "VERSION",
"default_value": "2.4.4",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Driver port",
"description": "",
"env_variable": "DRIVER_PORT",
"default_value": "25568",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:10",
"field_type": "text"
},
{
"name": "Http port",
"description": "",
"env_variable": "HTTP_PORT",
"default_value": "25569",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:10",
"field_type": "text"
}
]
}
+4 -7
View File
@@ -1,17 +1,14 @@
# Redis
## From their [Website](https://redis.io/)
### 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
### 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/>
See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/
## Server Ports
### Server Ports
Ports required to run the server in a table format.
| Port | default |
@@ -1,18 +1,13 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2022-07-11T13:17:43+02:00",
"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.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:redis_5": "ghcr.io\/parkervcp\/yolks:redis_5"
},
"file_denylist": [],
"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": "{}",
@@ -23,7 +18,7 @@
"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": "ghcr.io\/parkervcp\/installers:alpine",
"container": "alpine:3.10",
"entrypoint": "ash"
}
},
@@ -33,10 +28,9 @@
"description": "The password redis should use to secure the server.",
"env_variable": "SERVER_PASSWORD",
"default_value": "P@55w0rd",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}
}
+4 -11
View File
@@ -1,21 +1,14 @@
# Redis
## From their [Website](https://redis.io/)
### 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.
## Server Startup
You must first authenticate before trying to execute commands, to do this run `AUTH <YOUR_PASSWORD_HERE>` (without the `<>`). This should be the same as the password set in the `SERVER_PASSWORD` variable.
## Minimum RAM warning
### 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/>
See here https://docs.redislabs.com/latest/rs/administering/designing-production/hardware-requirements/
## Server Ports
### Server Ports
Ports required to run the server in a table format.
| Port | default |
+10 -16
View File
@@ -1,19 +1,14 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2022-07-11T13:18:27+02:00",
"exported_at": "2020-07-11T00:34:47-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.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:redis_6": "ghcr.io\/parkervcp\/yolks:redis_6"
},
"file_denylist": [],
"startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}}; redis-cli -p {{SERVER_PORT}} -a {{SERVER_PASSWORD}} shutdown save",
"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}",
@@ -22,8 +17,8 @@
},
"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": "ghcr.io\/parkervcp\/installers:alpine",
"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\/redis\/redis\/6.0\/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"
}
},
@@ -33,10 +28,9 @@
"description": "The password redis should use to secure the server.",
"env_variable": "SERVER_PASSWORD",
"default_value": "P@55w0rd",
"user_viewable": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string"
}
]
}
}
File diff suppressed because it is too large Load Diff
-23
View File
@@ -1,23 +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.
## Server Startup
You must first authenticate before trying to execute commands, to do this run `AUTH <YOUR_PASSWORD_HERE>` (without the `<>`). This should be the same as the password set in the `SERVER_PASSWORD` variable.
## 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 |
-42
View File
@@ -1,42 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2022-10-02T16:30:14+01:00",
"name": "Redis-7",
"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.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:redis_7": "ghcr.io\/parkervcp\/yolks:redis_7"
},
"file_denylist": [],
"startup": "\/usr\/local\/bin\/redis-server \/home\/container\/redis.conf --save 60 1 --dir \/home\/container\/ --bind 0.0.0.0 --port {{SERVER_PORT}} --requirepass {{SERVER_PASSWORD}} --maxmemory {{SERVER_MEMORY}}mb --daemonize yes && redis-cli -p {{SERVER_PORT}}; 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-7\/redis.conf -o redis.conf\r\nfi\r\n\r\nsleep 5\r\necho -e \"Install complete. Made this to not have issues.\"",
"container": "ghcr.io\/parkervcp\/installers:alpine",
"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": true,
"user_editable": true,
"rules": "required|string",
"field_type": "text"
}
]
}
File diff suppressed because it is too large Load Diff
+6 -9
View File
@@ -1,18 +1,15 @@
# 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.
## 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
### Minimum RAM warning
There is no actual minimum suggested for MariaDB.
See here <https://mariadb.com/kb/en/library/mariadb-hardware-requirements/>
See here https://mariadb.com/kb/en/library/mariadb-hardware-requirements/
## Server Ports
### Server Ports
Ports required to run the server in a table format.
| Port | default |
@@ -1,18 +1,13 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2023-12-19T09:54:17+01:00",
"name": "MariaDB 10.3",
"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.",
"features": null,
"docker_images": {
"MariaDB 10.3": "ghcr.io\/parkervcp\/yolks:mariadb_10.3"
},
"file_denylist": [],
"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}",
@@ -28,4 +23,4 @@
}
},
"variables": []
}
}
+5 -8
View File
@@ -1,17 +1,14 @@
# PostgreSQL
### From their [Website](https://www.postgresql.org/)
The World's Most Advanced Open Source Relational Database
## From their [Website](https://www.postgresql.org/)
The World's Most Advanced Open Source Relational Database
## Minimum RAM warning
### Minimum RAM warning
2 Gigabytes minimum recommended
See here <https://www.commandprompt.com/blog/postgresql_mininum_requirements/>
See here https://www.commandprompt.com/blog/postgresql_mininum_requirements/
## Server Ports
### Server Ports
Ports required to run the server in a table format.
| Port | default |
+63
View File
@@ -0,0 +1,63 @@
{
"_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:12.2-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 databas the user will have access too.",
"env_variable": "PGDATABASE",
"default_value": "pterodactyl",
"user_viewable": 1,
"user_editable": 0,
"rules": "required|string|max:20"
}
]
}
-52
View File
@@ -1,52 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-12T15:32:12+01:00",
"name": "Postgres 14",
"author": "parker@parkervcp.com",
"description": "A default Postgres install that is not really editable.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:postgres_14": "ghcr.io\/parkervcp\/yolks:postgres_14"
},
"file_denylist": [],
"startup": "postgres -D \/home\/container\/postgres_db\/",
"config": {
"files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#port =\": \"port = {{server.build.default.port}}\",\r\n \"#external_pid_file =\": \"external_pid_file = '\/home\/container\/postgres_db\/run\/postgres.pid'\",\r\n \"#unix_socket_directories =\": \"unix_socket_directories = '\/home\/container\/postgres_db\/run\/'\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"database system is ready to accept connections\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U \"$PGUSER\" --pwfile=<(echo \"$PGPASSWORD\")'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\n## Add default \"allow from all\" auth rule to pg_hba\r\nif ! grep -q \"# Custom rules\" \"\/mnt\/server\/postgres_db\/pg_hba.conf\"; then\r\n echo -e \"# Custom rules\\nhost all all 0.0.0.0\/0 md5\" >> \"\/mnt\/server\/postgres_db\/pg_hba.conf\"\r\nfi\r\n\r\necho -e \"Done\"",
"container": "postgres:14-alpine",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Superuser Name",
"description": "The username for the postgres superuser",
"env_variable": "PGUSER",
"default_value": "pterodactyl",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Superuser Password",
"description": "The postgres super user password with a strong default.\r\nYou should be generating new ones for each server.\r\nIf you don't then users can hit other users DB's",
"env_variable": "PGPASSWORD",
"default_value": "Pl3453Ch4n63M3!",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
-52
View File
@@ -1,52 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-12-12T15:33:25+01:00",
"name": "Postgres 16",
"author": "parker@parkervcp.com",
"description": "A default Postgres install that is not really editable.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:postgres_16": "ghcr.io\/parkervcp\/yolks:postgres_16"
},
"file_denylist": [],
"startup": "postgres -D \/home\/container\/postgres_db\/",
"config": {
"files": "{\r\n \"postgres_db\/postgresql.conf\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"#port =\": \"port = {{server.build.default.port}}\",\r\n \"#external_pid_file =\": \"external_pid_file = '\/home\/container\/postgres_db\/run\/postgres.pid'\",\r\n \"#unix_socket_directories =\": \"unix_socket_directories = '\/home\/container\/postgres_db\/run\/'\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"database system is ready to accept connections\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#! \/bin\/ash\r\nadduser -D -h \/home\/container container\r\n\r\nchown -R container: \/mnt\/server\/\r\n\r\nsu container -c 'initdb -D \/mnt\/server\/postgres_db\/ -A md5 -U \"$PGUSER\" --pwfile=<(echo \"$PGPASSWORD\")'\r\n\r\nmkdir -p \/mnt\/server\/postgres_db\/run\/\r\n\r\n## Add default \"allow from all\" auth rule to pg_hba\r\nif ! grep -q \"# Custom rules\" \"\/mnt\/server\/postgres_db\/pg_hba.conf\"; then\r\n echo -e \"# Custom rules\\nhost all all 0.0.0.0\/0 md5\" >> \"\/mnt\/server\/postgres_db\/pg_hba.conf\"\r\nfi\r\n\r\necho -e \"Done\"",
"container": "postgres:16-alpine",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Superuser Name",
"description": "The username for the postgres superuser",
"env_variable": "PGUSER",
"default_value": "pterodactyl",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Superuser Password",
"description": "The postgres super user password with a strong default.\r\nYou should be generating new ones for each server.\r\nIf you don't then users can hit other users DB's",
"env_variable": "PGPASSWORD",
"default_value": "Pl3453Ch4n63M3!",
"user_viewable": true,
"user_editable": false,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
+658
View File
@@ -0,0 +1,658 @@
# -----------------------------
# PostgreSQL configuration file
# -----------------------------
#
# This file consists of lines of the form:
#
# name = value
#
# (The "=" is optional.) Whitespace may be used. Comments are introduced with
# "#" anywhere on a line. The complete list of parameter names and allowed
# values can be found in the PostgreSQL documentation.
#
# The commented-out settings shown in this file represent the default values.
# Re-commenting a setting is NOT sufficient to revert it to the default value;
# you need to reload the server.
#
# This file is read on server startup and when the server receives a SIGHUP
# signal. If you edit the file on a running system, you have to SIGHUP the
# server for the changes to take effect, run "pg_ctl reload", or execute
# "SELECT pg_reload_conf()". Some parameters, which are marked below,
# require a server shutdown and restart to take effect.
#
# Any parameter can also be given as a command-line option to the server, e.g.,
# "postgres -c log_connections=on". Some parameters can be changed at run time
# with the "SET" SQL command.
#
# Memory units: kB = kilobytes Time units: ms = milliseconds
# MB = megabytes s = seconds
# GB = gigabytes min = minutes
# TB = terabytes h = hours
# d = days
#------------------------------------------------------------------------------
# FILE LOCATIONS
#------------------------------------------------------------------------------
# The default values of these variables are driven from the -D command-line
# option or PGDATA environment variable, represented here as ConfigDir.
#data_directory = 'ConfigDir' # use data in another directory
# (change requires restart)
#hba_file = 'ConfigDir/pg_hba.conf' # host-based authentication file
# (change requires restart)
#ident_file = 'ConfigDir/pg_ident.conf' # ident configuration file
# (change requires restart)
# If external_pid_file is not explicitly set, no extra PID file is written.
#external_pid_file = '' # write an extra PID file
# (change requires restart)
#------------------------------------------------------------------------------
# CONNECTIONS AND AUTHENTICATION
#------------------------------------------------------------------------------
# - Connection Settings -
listen_addresses = '*'
# comma-separated list of addresses;
# defaults to 'localhost'; use '*' for all
# (change requires restart)
port = 5432 # (change requires restart)
#max_connections = 100 # (change requires restart)
#superuser_reserved_connections = 3 # (change requires restart)
#unix_socket_directories = '/tmp' # comma-separated list of directories
# (change requires restart)
#unix_socket_group = '' # (change requires restart)
#unix_socket_permissions = 0777 # begin with 0 to use octal notation
# (change requires restart)
#bonjour = off # advertise server via Bonjour
# (change requires restart)
#bonjour_name = '' # defaults to the computer name
# (change requires restart)
# - Security and Authentication -
#authentication_timeout = 1min # 1s-600s
#ssl = off
#ssl_ciphers = 'HIGH:MEDIUM:+3DES:!aNULL' # allowed SSL ciphers
#ssl_prefer_server_ciphers = on
#ssl_ecdh_curve = 'prime256v1'
#ssl_dh_params_file = ''
#ssl_cert_file = 'server.crt'
#ssl_key_file = 'server.key'
#ssl_ca_file = ''
#ssl_crl_file = ''
#password_encryption = md5 # md5 or scram-sha-256
#db_user_namespace = off
#row_security = on
# GSSAPI using Kerberos
#krb_server_keyfile = ''
#krb_caseins_users = off
# - TCP Keepalives -
# see "man 7 tcp" for details
#tcp_keepalives_idle = 0 # TCP_KEEPIDLE, in seconds;
# 0 selects the system default
#tcp_keepalives_interval = 0 # TCP_KEEPINTVL, in seconds;
# 0 selects the system default
#tcp_keepalives_count = 0 # TCP_KEEPCNT;
# 0 selects the system default
#------------------------------------------------------------------------------
# RESOURCE USAGE (except WAL)
#------------------------------------------------------------------------------
# - Memory -
#shared_buffers = 32MB # min 128kB
# (change requires restart)
#huge_pages = try # on, off, or try
# (change requires restart)
#temp_buffers = 8MB # min 800kB
#max_prepared_transactions = 0 # zero disables the feature
# (change requires restart)
# Caution: it is not advisable to set max_prepared_transactions nonzero unless
# you actively intend to use prepared transactions.
#work_mem = 4MB # min 64kB
#maintenance_work_mem = 64MB # min 1MB
#replacement_sort_tuples = 150000 # limits use of replacement selection sort
#autovacuum_work_mem = -1 # min 1MB, or -1 to use maintenance_work_mem
#max_stack_depth = 2MB # min 100kB
#dynamic_shared_memory_type = posix # the default is the first option
# supported by the operating system:
# posix
# sysv
# windows
# mmap
# use none to disable dynamic shared memory
# (change requires restart)
# - Disk -
#temp_file_limit = -1 # limits per-process temp file space
# in kB, or -1 for no limit
# - Kernel Resource Usage -
#max_files_per_process = 1000 # min 25
# (change requires restart)
#shared_preload_libraries = '' # (change requires restart)
# - Cost-Based Vacuum Delay -
#vacuum_cost_delay = 0 # 0-100 milliseconds
#vacuum_cost_page_hit = 1 # 0-10000 credits
#vacuum_cost_page_miss = 10 # 0-10000 credits
#vacuum_cost_page_dirty = 20 # 0-10000 credits
#vacuum_cost_limit = 200 # 1-10000 credits
# - Background Writer -
#bgwriter_delay = 200ms # 10-10000ms between rounds
#bgwriter_lru_maxpages = 100 # 0-1000 max buffers written/round
#bgwriter_lru_multiplier = 2.0 # 0-10.0 multiplier on buffers scanned/round
#bgwriter_flush_after = 0 # measured in pages, 0 disables
# - Asynchronous Behavior -
#effective_io_concurrency = 1 # 1-1000; 0 disables prefetching
#max_worker_processes = 8 # (change requires restart)
#max_parallel_workers_per_gather = 2 # taken from max_parallel_workers
#max_parallel_workers = 8 # maximum number of max_worker_processes that
# can be used in parallel queries
#old_snapshot_threshold = -1 # 1min-60d; -1 disables; 0 is immediate
# (change requires restart)
#backend_flush_after = 0 # measured in pages, 0 disables
#------------------------------------------------------------------------------
# WRITE AHEAD LOG
#------------------------------------------------------------------------------
# - Settings -
#wal_level = replica # minimal, replica, or logical
# (change requires restart)
#fsync = on # flush data to disk for crash safety
# (turning this off can cause
# unrecoverable data corruption)
#synchronous_commit = on # synchronization level;
# off, local, remote_write, remote_apply, or on
#wal_sync_method = fsync # the default is the first option
# supported by the operating system:
# open_datasync
# fdatasync (default on Linux)
# fsync
# fsync_writethrough
# open_sync
#full_page_writes = on # recover from partial page writes
#wal_compression = off # enable compression of full-page writes
#wal_log_hints = off # also do full page writes of non-critical updates
# (change requires restart)
#wal_buffers = -1 # min 32kB, -1 sets based on shared_buffers
# (change requires restart)
#wal_writer_delay = 200ms # 1-10000 milliseconds
#wal_writer_flush_after = 1MB # measured in pages, 0 disables
#commit_delay = 0 # range 0-100000, in microseconds
#commit_siblings = 5 # range 1-1000
# - Checkpoints -
#checkpoint_timeout = 5min # range 30s-1d
#max_wal_size = 1GB
#min_wal_size = 80MB
#checkpoint_completion_target = 0.5 # checkpoint target duration, 0.0 - 1.0
#checkpoint_flush_after = 0 # measured in pages, 0 disables
#checkpoint_warning = 30s # 0 disables
# - Archiving -
#archive_mode = off # enables archiving; off, on, or always
# (change requires restart)
#archive_command = '' # command to use to archive a logfile segment
# placeholders: %p = path of file to archive
# %f = file name only
# e.g. 'test ! -f /mnt/server/archivedir/%f && cp %p /mnt/server/archivedir/%f'
#archive_timeout = 0 # force a logfile segment switch after this
# number of seconds; 0 disables
#------------------------------------------------------------------------------
# REPLICATION
#------------------------------------------------------------------------------
# - Sending Server(s) -
# Set these on the master and on any standby that will send replication data.
#max_wal_senders = 10 # max number of walsender processes
# (change requires restart)
#wal_keep_segments = 0 # in logfile segments, 16MB each; 0 disables
#wal_sender_timeout = 60s # in milliseconds; 0 disables
#max_replication_slots = 10 # max number of replication slots
# (change requires restart)
#track_commit_timestamp = off # collect timestamp of transaction commit
# (change requires restart)
# - Master Server -
# These settings are ignored on a standby server.
#synchronous_standby_names = '' # standby servers that provide sync rep
# method to choose sync standbys, number of sync standbys,
# and comma-separated list of application_name
# from standby(s); '*' = all
#vacuum_defer_cleanup_age = 0 # number of xacts by which cleanup is delayed
# - Standby Servers -
# These settings are ignored on a master server.
#hot_standby = on # "off" disallows queries during recovery
# (change requires restart)
#max_standby_archive_delay = 30s # max delay before canceling queries
# when reading WAL from archive;
# -1 allows indefinite delay
#max_standby_streaming_delay = 30s # max delay before canceling queries
# when reading streaming WAL;
# -1 allows indefinite delay
#wal_receiver_status_interval = 10s # send replies at least this often
# 0 disables
#hot_standby_feedback = off # send info from standby to prevent
# query conflicts
#wal_receiver_timeout = 60s # time that receiver waits for
# communication from master
# in milliseconds; 0 disables
#wal_retrieve_retry_interval = 5s # time to wait before retrying to
# retrieve WAL after a failed attempt
# - Subscribers -
# These settings are ignored on a publisher.
#max_logical_replication_workers = 4 # taken from max_worker_processes
# (change requires restart)
#max_sync_workers_per_subscription = 2 # taken from max_logical_replication_workers
#------------------------------------------------------------------------------
# QUERY TUNING
#------------------------------------------------------------------------------
# - Planner Method Configuration -
#enable_bitmapscan = on
#enable_hashagg = on
#enable_hashjoin = on
#enable_indexscan = on
#enable_indexonlyscan = on
#enable_material = on
#enable_mergejoin = on
#enable_nestloop = on
#enable_seqscan = on
#enable_sort = on
#enable_tidscan = on
# - Planner Cost Constants -
#seq_page_cost = 1.0 # measured on an arbitrary scale
#random_page_cost = 4.0 # same scale as above
#cpu_tuple_cost = 0.01 # same scale as above
#cpu_index_tuple_cost = 0.005 # same scale as above
#cpu_operator_cost = 0.0025 # same scale as above
#parallel_tuple_cost = 0.1 # same scale as above
#parallel_setup_cost = 1000.0 # same scale as above
#min_parallel_table_scan_size = 8MB
#min_parallel_index_scan_size = 512kB
#effective_cache_size = 4GB
# - Genetic Query Optimizer -
#geqo = on
#geqo_threshold = 12
#geqo_effort = 5 # range 1-10
#geqo_pool_size = 0 # selects default based on effort
#geqo_generations = 0 # selects default based on effort
#geqo_selection_bias = 2.0 # range 1.5-2.0
#geqo_seed = 0.0 # range 0.0-1.0
# - Other Planner Options -
#default_statistics_target = 100 # range 1-10000
#constraint_exclusion = partition # on, off, or partition
#cursor_tuple_fraction = 0.1 # range 0.0-1.0
#from_collapse_limit = 8
#join_collapse_limit = 8 # 1 disables collapsing of explicit
# JOIN clauses
#force_parallel_mode = off
#------------------------------------------------------------------------------
# ERROR REPORTING AND LOGGING
#------------------------------------------------------------------------------
# - Where to Log -
#log_destination = 'stderr' # Valid values are combinations of
# stderr, csvlog, syslog, and eventlog,
# depending on platform. csvlog
# requires logging_collector to be on.
# This is used when logging to stderr:
#logging_collector = off # Enable capturing of stderr and csvlog
# into log files. Required to be on for
# csvlogs.
# (change requires restart)
# These are only used if logging_collector is on:
#log_directory = 'log' # directory where log files are written,
# can be absolute or relative to PGDATA
#log_filename = 'postgresql-%Y-%m-%d_%H%M%S.log' # log file name pattern,
# can include strftime() escapes
#log_file_mode = 0600 # creation mode for log files,
# begin with 0 to use octal notation
#log_truncate_on_rotation = off # If on, an existing log file with the
# same name as the new log file will be
# truncated rather than appended to.
# But such truncation only occurs on
# time-driven rotation, not on restarts
# or size-driven rotation. Default is
# off, meaning append to existing files
# in all cases.
#log_rotation_age = 1d # Automatic rotation of logfiles will
# happen after that time. 0 disables.
#log_rotation_size = 10MB # Automatic rotation of logfiles will
# happen after that much log output.
# 0 disables.
# These are relevant when logging to syslog:
#syslog_facility = 'LOCAL0'
#syslog_ident = 'postgres'
#syslog_sequence_numbers = on
#syslog_split_messages = on
# This is only relevant when logging to eventlog (win32):
# (change requires restart)
#event_source = 'PostgreSQL'
# - When to Log -
#client_min_messages = notice # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# log
# notice
# warning
# error
#log_min_messages = warning # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic
#log_min_error_statement = error # values in order of decreasing detail:
# debug5
# debug4
# debug3
# debug2
# debug1
# info
# notice
# warning
# error
# log
# fatal
# panic (effectively off)
#log_min_duration_statement = -1 # -1 is disabled, 0 logs all statements
# and their durations, > 0 logs only
# statements running at least this number
# of milliseconds
# - What to Log -
#debug_print_parse = off
#debug_print_rewritten = off
#debug_print_plan = off
#debug_pretty_print = on
#log_checkpoints = off
#log_connections = off
#log_disconnections = off
#log_duration = off
#log_error_verbosity = default # terse, default, or verbose messages
#log_hostname = off
#log_line_prefix = '%m [%p] ' # special values:
# %a = application name
# %u = user name
# %d = database name
# %r = remote host and port
# %h = remote host
# %p = process ID
# %t = timestamp without milliseconds
# %m = timestamp with milliseconds
# %n = timestamp with milliseconds (as a Unix epoch)
# %i = command tag
# %e = SQL state
# %c = session ID
# %l = session line number
# %s = session start timestamp
# %v = virtual transaction ID
# %x = transaction ID (0 if none)
# %q = stop here in non-session
# processes
# %% = '%'
# e.g. '<%u%%%d> '
#log_lock_waits = off # log lock waits >= deadlock_timeout
#log_statement = 'none' # none, ddl, mod, all
#log_replication_commands = off
#log_temp_files = -1 # log temporary files equal or larger
# than the specified size in kilobytes;
# -1 disables, 0 logs all temp files
#log_timezone = 'GMT'
# - Process Title -
#cluster_name = '' # added to process titles if nonempty
# (change requires restart)
#update_process_title = on
#------------------------------------------------------------------------------
# RUNTIME STATISTICS
#------------------------------------------------------------------------------
# - Query/Index Statistics Collector -
#track_activities = on
#track_counts = on
#track_io_timing = off
#track_functions = none # none, pl, all
#track_activity_query_size = 1024 # (change requires restart)
#stats_temp_directory = 'pg_stat_tmp'
# - Statistics Monitoring -
#log_parser_stats = off
#log_planner_stats = off
#log_executor_stats = off
#log_statement_stats = off
#------------------------------------------------------------------------------
# AUTOVACUUM PARAMETERS
#------------------------------------------------------------------------------
#autovacuum = on # Enable autovacuum subprocess? 'on'
# requires track_counts to also be on.
#log_autovacuum_min_duration = -1 # -1 disables, 0 logs all actions and
# their durations, > 0 logs only
# actions running at least this number
# of milliseconds.
#autovacuum_max_workers = 3 # max number of autovacuum subprocesses
# (change requires restart)
#autovacuum_naptime = 1min # time between autovacuum runs
#autovacuum_vacuum_threshold = 50 # min number of row updates before
# vacuum
#autovacuum_analyze_threshold = 50 # min number of row updates before
# analyze
#autovacuum_vacuum_scale_factor = 0.2 # fraction of table size before vacuum
#autovacuum_analyze_scale_factor = 0.1 # fraction of table size before analyze
#autovacuum_freeze_max_age = 200000000 # maximum XID age before forced vacuum
# (change requires restart)
#autovacuum_multixact_freeze_max_age = 400000000 # maximum multixact age
# before forced vacuum
# (change requires restart)
#autovacuum_vacuum_cost_delay = 20ms # default vacuum cost delay for
# autovacuum, in milliseconds;
# -1 means use vacuum_cost_delay
#autovacuum_vacuum_cost_limit = -1 # default vacuum cost limit for
# autovacuum, -1 means use
# vacuum_cost_limit
#------------------------------------------------------------------------------
# CLIENT CONNECTION DEFAULTS
#------------------------------------------------------------------------------
# - Statement Behavior -
#search_path = '"$user", public' # schema names
#default_tablespace = '' # a tablespace name, '' uses the default
#temp_tablespaces = '' # a list of tablespace names, '' uses
# only default tablespace
#check_function_bodies = on
#default_transaction_isolation = 'read committed'
#default_transaction_read_only = off
#default_transaction_deferrable = off
#session_replication_role = 'origin'
#statement_timeout = 0 # in milliseconds, 0 is disabled
#lock_timeout = 0 # in milliseconds, 0 is disabled
#idle_in_transaction_session_timeout = 0 # in milliseconds, 0 is disabled
#vacuum_freeze_min_age = 50000000
#vacuum_freeze_table_age = 150000000
#vacuum_multixact_freeze_min_age = 5000000
#vacuum_multixact_freeze_table_age = 150000000
#bytea_output = 'hex' # hex, escape
#xmlbinary = 'base64'
#xmloption = 'content'
#gin_fuzzy_search_limit = 0
#gin_pending_list_limit = 4MB
# - Locale and Formatting -
#datestyle = 'iso, mdy'
#intervalstyle = 'postgres'
#timezone = 'GMT'
#timezone_abbreviations = 'Default' # Select the set of available time zone
# abbreviations. Currently, there are
# Default
# Australia (historical usage)
# India
# You can create your own file in
# share/timezonesets/.
#extra_float_digits = 0 # min -15, max 3
#client_encoding = sql_ascii # actually, defaults to database
# encoding
# These settings are initialized by initdb, but they can be changed.
#lc_messages = 'C' # locale for system error message
# strings
#lc_monetary = 'C' # locale for monetary formatting
#lc_numeric = 'C' # locale for number formatting
#lc_time = 'C' # locale for time formatting
# default configuration for text search
#default_text_search_config = 'pg_catalog.simple'
# - Other Defaults -
#dynamic_library_path = '$libdir'
#local_preload_libraries = ''
#session_preload_libraries = ''
#------------------------------------------------------------------------------
# LOCK MANAGEMENT
#------------------------------------------------------------------------------
#deadlock_timeout = 1s
#max_locks_per_transaction = 64 # min 10
# (change requires restart)
#max_pred_locks_per_transaction = 64 # min 10
# (change requires restart)
#max_pred_locks_per_relation = -2 # negative values mean
# (max_pred_locks_per_transaction
# / -max_pred_locks_per_relation) - 1
#max_pred_locks_per_page = 2 # min 0
#------------------------------------------------------------------------------
# VERSION/PLATFORM COMPATIBILITY
#------------------------------------------------------------------------------
# - Previous PostgreSQL Versions -
#array_nulls = on
#backslash_quote = safe_encoding # on, off, or safe_encoding
#default_with_oids = off
#escape_string_warning = on
#lo_compat_privileges = off
#operator_precedence_warning = off
#quote_all_identifiers = off
#standard_conforming_strings = on
#synchronize_seqscans = on
# - Other Platforms and Clients -
#transform_null_equals = off
#------------------------------------------------------------------------------
# ERROR HANDLING
#------------------------------------------------------------------------------
#exit_on_error = off # terminate session on any error?
#restart_after_crash = on # reinitialize after backend crash?
#------------------------------------------------------------------------------
# CONFIG FILE INCLUDES
#------------------------------------------------------------------------------
# These options allow settings to be loaded from files other than the
# default postgresql.conf.
#include_dir = 'conf.d' # include files ending in '.conf' from
# directory 'conf.d'
#include_if_exists = 'exists.conf' # include file only if it exists
#include = 'special.conf' # include file
#------------------------------------------------------------------------------
# CUSTOMIZED OPTIONS
#------------------------------------------------------------------------------
# Add settings for extensions here
@@ -1,22 +1,20 @@
# ET: Legacy
## The ET: Legacy Server
#### The ET: Legacy Server
## from the developers
#### 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.
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
### Server Ports
ET: Legacy requires a single port
| Port | default |
|---------|---------|
| Game | 27960 |
|---------|---------|
| Server | 27950 |
| Game | 27960 |
@@ -0,0 +1,45 @@
{
"_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"
}
]
}
+9 -33
View File
@@ -1,44 +1,20 @@
# Example Server Name
### From their [Github](https://github.com/parkervcp/eggs)
A link to the site that you download game files from.
The description of the server usually provided by the game/server maker.
<!--Please remove these comments and irelevent parts for the server egg your adding before summiting a PR request-->
### 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.
## From their [Github](https://github.com/parkervcp/eggs)
### Minimum RAM warning
Minimum required memory to run the server.
A link to the site that you download the server files from.
## [Documentation](https://github.com/parkervcp/eggs/blob/master/README.md)
A link to relevent documentation for the server.
The description of the server usually provided by the game/server maker.
<!--Example: Parkers Pterodactyl Eggs Repo. Server eggs for the Pterodactyl management panel-->
## Install notes
<!--Make a note if the user needs to get any keys or other items to run/use the server-->
Due to rate limiting the console on the panel, it cannot keep up with the game console and the build will complete before the panel console may show it. Reloading the console will load it to the latest part of the log.
## Installation/System Requirements
<!--Make changes to reflect the server minimum/recommended hardware specs-->
| | Bare Minimum | Recommended |
|---------|---------|---------|
| Processor | *Main info (32/64 bit or ARM support)* | *More info about egg's preferred processor* |
| RAM | *Minimum amount of RAM (in MiB/GiB)* | *Recommended amount of RAM (in MiB/GiB)* |
| Storage | *Minimum amount of Storage (in MiB/GiB)* | *Recommended amount of Storage (in MiB/GiB)* |
| Network | *Minimum network speed (in Mbit/s)* | *Recommended network speed (in Mbit/s)* |
| Game Ownership | *Can the server start without it?* | *Is it needed for any other features?* |
## Server Ports
### Server Ports
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 25565 |
### Notes
<!--Notes about the server ports.-->
25565 is the default port, but any port can be used.
### Mods/Plugins may require ports to be added to the server
#### Mods/Plugins may require ports to be added to the server.
@@ -1,13 +1,11 @@
# Factorio
## The Factorio Server
#### The Factorio Server
The server supports mods
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.
#### from the developers
## from the developers
Factorio is a game in which you build and maintain factories.
Factorio is a game in which you build and maintain factories.
You will be mining resources, researching technologies, building infrastructure, automating production and fighting enemies. Use your imagination to design your factory, combine simple elements into ingenious structures, apply management skills to keep it working, and protect it from the creatures who don't really like you.
@@ -17,14 +15,9 @@ Factorio has been in development since the spring of 2012. So far over 1,400,000
New to the game? Make sure to checkout their [starter page](https://factorio.com/starter-page).
## Server Ports
Factorio requires a single port
### Server Ports
Factorio requires a single port
| Port | default |
|---------|---------|
| Game | 34197 |
## ARM64
There is a factorio egg for ARM64 machines that uses the box64 emulator.
If you are on **AMD64** Like most of you download the normal non ARM64 egg!
| Game | 34197 |
@@ -1,29 +1,24 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
"version": "PTDL_v1"
},
"exported_at": "2024-04-02T11:03:08+02:00",
"exported_at": "2020-06-26T12:55:32-04:00",
"name": "Factorio",
"author": "parker@parkervcp.com",
"description": "The vanilla Factorio server.\r\n\r\nhttps:\/\/www.factorio.com\/",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": "if [ ! -f \".\/saves\/{{SAVE_NAME}}.zip\" ]; then .\/bin\/x64\/factorio --create .\/saves\/{{SAVE_NAME}}.zip --map-gen-settings data\/map-gen-settings.json --map-settings data\/map-settings.json; fi; .\/bin\/x64\/factorio --port {{SERVER_PORT}} --server-settings data\/server-settings.json --start-server saves\/{{SAVE_NAME}}.zip",
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
"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}",
"logs": "{}",
"startup": "{\r\n \"done\": \"Hosting game at\",\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 .\/saves\/${SAVE_NAME}.zip ]; then\r\n echo \"save file exists\"\r\nelse\r\n .\/bin\/x64\/factorio --create .\/saves\/${SAVE_NAME} --map-gen-settings data\/map-gen-settings.json --map-settings data\/map-settings.json\r\n chmod o+w .\/saves\/${SAVE_NAME}.zip\r\nfi\r\n\r\n## install end\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"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"
}
},
@@ -33,100 +28,90 @@
"description": "Which version of Factorio to install and use.",
"env_variable": "FACTORIO_VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|between:3,12",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|between:3,12"
},
{
"name": "Maximum Slots",
"description": "Total number of slots to allow on the server.",
"env_variable": "MAX_SLOTS",
"default_value": "20",
"user_viewable": true,
"user_editable": false,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
"user_viewable": 1,
"user_editable": 0,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Save Name",
"description": "The save name for the server.",
"env_variable": "SAVE_NAME",
"default_value": "gamesave",
"user_viewable": true,
"user_editable": true,
"rules": "alpha_dash|between:1,100",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "alpha_dash|between:1,100"
},
{
"name": "Server Token",
"description": "Your factorio.com token, it is required for your server to be visible in the public server list.",
"env_variable": "SERVER_TOKEN",
"default_value": "undefined",
"user_viewable": true,
"user_editable": true,
"rules": "alpha_num|max:100",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "alpha_num|max:100"
},
{
"name": "Server Name",
"description": "Name of the game as it will appear in the game listing",
"env_variable": "SERVER_NAME",
"default_value": "Factorio Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:100"
},
{
"name": "Server Description",
"description": "Description of the game that will appear in the listing.",
"env_variable": "SERVER_DESC",
"default_value": "Description",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:200",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:200"
},
{
"name": "Server Username",
"description": "Username used for the server",
"env_variable": "SERVER_USERNAME",
"default_value": "unnamed",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:40",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|string|max:40"
},
{
"name": "Auto Save Interval",
"description": "Time between auto saves specified in minutes",
"env_variable": "SAVE_INTERVAL",
"default_value": "10",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "Auto Save Slots",
"description": "The number of auto saves to keep.",
"env_variable": "SAVE_SLOTS",
"default_value": "5",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
},
{
"name": "AFK Kick",
"description": "Time specified in minutes to kick AFK players.\r\n0 is off",
"env_variable": "AFK_KICK",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|digits_between:1,3",
"field_type": "text"
"user_viewable": 1,
"user_editable": 1,
"rules": "required|numeric|digits_between:1,3"
}
]
}
-12
View File
@@ -1,12 +0,0 @@
# Foundry VTT
[Foundry VTT](https://foundryvtt.com/) is a standalone application built for experiencing multiplayer tabletop RPGs using a feature-rich and modern self-hosted application where your players connect directly through the browser.
# Installation
Foundry requires a license. In order to use this egg, you will need to purchase a foundry license, select the linux platform from your profile on the website, and then paste the "Timed URL" into the variable when seting up the server.
![image](https://user-images.githubusercontent.com/1012176/141174950-840fbf28-37d9-4244-8402-a72821458f41.png)
Note that this egg only runs the node application. You will need to manage TLS, reverse proxying, etc. on your own.
# Server Ports
This is a node application and only needs a single port that you will connect to over http(s)
-62
View File
@@ -1,62 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-01-31T11:59:34+01:00",
"name": "Foundry VTT",
"author": "pterodactyl@demi.cloud",
"description": "Foundry VTT is a standalone application built for experiencing multiplayer tabletop RPGs using a feature-rich and modern self-hosted application where your players connect directly through the browser.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_18": "ghcr.io\/parkervcp\/yolks:nodejs_18"
},
"file_denylist": [],
"startup": "node .\/app\/resources\/app\/main.js --dataPath=\"\/home\/container\/data\"",
"config": {
"files": "{\r\n \"data\/Config\/options.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"language\": \"{{server.build.env.FOUNDRY_LANGUAGE}}\",\r\n \"updateChannel\": \"{{server.build.env.UPDATE_CHANNEL}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server started and listening on port\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# FoundryVTT install script\r\n#\r\n# Server Files: \/mnt\/server\r\ndeclare -r DIR_ROOT=\"\/mnt\/server\"\r\ndeclare -r DIR_APP=\"${DIR_ROOT}\/app\"\r\ndeclare -r DIR_DATA=\"${DIR_ROOT}\/data\"\r\ndeclare -r ZIP_FILE_NAME=\"foundryvtt.zip\"\r\n\r\nmain() {\r\n apt update\r\n apt install -y unzip\r\n\r\n printf \"\\nBuilding directory structure...\\n\"\r\n mkdir -p \"${DIR_ROOT}\/data\/Config\"\r\n mkdir -p \"${DIR_ROOT}\/app\"\r\n # shellcheck disable=SC2164\r\n cd \"${DIR_APP}\"\r\n printf \"\\nDownloading FoundryVTT files...\\n\"\r\n wget \"${TIMED_URL}\" -O \"${ZIP_FILE_NAME}\"\r\n printf \"\\nunzipping FoundryVTT files...\\n\"\r\n unzip \"${ZIP_FILE_NAME}\" -d \"${DIR_APP}\"\r\n #rm \"${ZIP_FILE_NAME}\"\r\n\r\n printf \"\\nGenerating default configuration...\\n\"\r\n cat <<EOF >\"${DIR_DATA}\/Config\/options.json\"\r\n{\r\n \"port\": 30000,\r\n \"upnp\": false,\r\n \"fullscreen\": false,\r\n \"hostname\": null,\r\n \"localHostname\": null,\r\n \"routePrefix\": null,\r\n \"sslCert\": null,\r\n \"sslKey\": null,\r\n \"awsConfig\": null,\r\n \"dataPath\": \"\/home\/container\/data\",\r\n \"passwordSalt\": null,\r\n \"proxySSL\": false,\r\n \"proxyPort\": null,\r\n \"minifyStaticFiles\": true,\r\n \"updateChannel\": \"release\",\r\n \"language\": \"en.core\",\r\n \"upnpLeaseDuration\": null,\r\n \"world\": null\r\n} \r\nEOF\r\n printf \"Installation Done.\\n\"\r\n}\r\nmain \"@\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Timed URL",
"description": "This is required to download the foundry files. Available in your https:\/\/foundryvtt.com\/ profile after you've purchased a license. This link generally lasts for about 5 minutes.",
"env_variable": "TIMED_URL",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|url",
"field_type": "text"
},
{
"name": "Language",
"description": "As may be expected, this setting configures the localization of the program and can be leveraged by localization modules to ensure that the interface is translated to the language of your choosing wherever possible.",
"env_variable": "FOUNDRY_LANGUAGE",
"default_value": "en.core",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:20",
"field_type": "text"
},
{
"name": "Update Channel",
"description": "Select what channel you want to use for automatic updates",
"env_variable": "UPDATE_CHANNEL",
"default_value": "release",
"user_viewable": true,
"user_editable": true,
"rules": "string|max:256",
"field_type": "text"
}
]
}
-275
View File
@@ -1,275 +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](classicube)
* [MCGalaxy](classicube/mcgalaxy)
[Clone Hero](clone_hero)
[CS2D](cs2d)
[Cube Engine](cubeengine)
* [AssaultCube](cubeengine/assaultcube)
* [Cube 2: Sauerbraten](cubeengine/cube2)
[DDRaceNetwork](ddracenetwork/)
[Doom](doom)
* [Zandronum](doom/zandronum)
[Escape from Tarkov](eft)
[ET Legacy](enemy_territory/etlegacy)
[Factorio](factorio)
* [Vanilla](factorio/factorio)
* [ModUpdate](factorio/factorio-modupdate)
* [Clusterio](factorio/clusterio)
[FTL: Tachyon](ftl/tachyon)
[Grand Theft Auto](gta)
* GTA V
* [FiveM](gta/fivem)
* [ragecoop](gta/ragecoop)
* [RageMP](gta/ragemp)
* [alt:V](gta/altv)
* GTA SA
* [Multi Theft Auto](gta/mtasa)
* [SA-MP](gta/samp)
* [OpenMp](gta/openmp)
* GTA
* [GTAC](gta/gtac)
[Hogwarp](hogwarp)
[Kerbal Space Program](ksp)
[Los Angeles Crimes](losangelescrimes)
[League Sandbox](leaguesandbox)
[Neverwinter Nights: Enhanced Edition](neverwinter_nights_ee)
[Mindustry](mindustry)
[Minecraft](minecraft)
* [Bedrock](minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
* [Bedrock](minecraft/bedrock/bedrock)
* [gomint](minecraft/bedrock/gomint)
* [LiteLoaderBDS](bedrock/LiteLoader-bedrock)
* [Nukkit](minecraft/bedrock/nukkit)
* [PocketMine MP](minecraft/bedrock/pocketmine_mp)
* [Java](minecraft/java) Servers for Java Minecraft
* [CurseForge](minecraft/java/curseforge)
* [Cuberite](minecraft/java/cuberite)
* [Fabric](minecraft/java/fabric)
* [Feather](minecraft/java/feather)
* [Feed The Beast](minecraft/java/ftb)
* [Forge](minecraft/java/forge)
* [Glowstone](minecraft/java/glowstone)
* [Limbo](minecraft/java/limbo)
* [Magma](minecraft/java/magma)
* [Mohist](minecraft/java/mohist)
* [NanoLimbo](minecraft/java/nanolimbo)
* [NeoForge](minecraft/java/neoforge)
* [Paper](minecraft/java/paper)
* [Folia](minecraft/java/folia)
* [Purpur](minecraft/java/purpur)
* [Spigot](minecraft/java/spigot)
* [SpongeForge](minecraft/java/spongeforge)
* [SpongeVanilla](minecraft/java/spongevanilla)
* [Technic](minecraft/java/technic)
* [VanillaCord](minecraft/java/vanillacord)
* [Crossplay](minecraft/crossplay/) servers for crossplay between Bedrock and Java edition
* [Purpur-GeyserMC-Floodgate](minecraft/crossplay/purpur-geysermc-floodgate/)
* [Proxies](minecraft/proxy) Minecraft Server Proxies
* [Java](minecraft/proxy/java)
* [Travertine](minecraft/proxy/java/travertine)
* [Velocity](minecraft/proxy/java/velocity)
* [Waterfall](minecraft/proxy/java/waterfall)
* [Bedrock](minecraft/proxy/bedrock)
* [Waterdog PE](minecraft/proxy/bedrock/waterdog_pe)
* [Cross Platform](minecraft/proxy/cross_platform)
* [GeyserMC](minecraft/proxy/cross_platform/geyser)
* [Waterdog](minecraft/proxy/cross_platform/waterdog)
[Minetest](minetest) (including MTG)
[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)
[Spacestation 14](spacestation_14)
[Rimworld](rimworld)
* [Open World](rimworld/open_world)
* [Rimworld Together](rimworld/together)
[Starmade](starmade)
[SteamCMD Servers](steamcmd_servers) These eggs use SteamCMD to install
* [7 Days to Die](steamcmd_servers/7_days_to_die)
* [ARK: Survival Ascended](steamcmd_servers/ark_survival_ascended)
* [ARK: Survival Evolved](steamcmd_servers/ark_survival_evolved)
* [Arma](steamcmd_servers/arma)
* [Arma 3](steamcmd_servers/arma/arma3)
* [Arma Reforger](steamcmd_servers/arma/arma_reforger)
* [Assetto Corsa](steamcmd_servers/assetto_corsa)
* [Astro Colony](steamcmd_servers/astro_colony)
* [Astroneer](steamcmd_servers/astroneer)
* [Avorion](steamcmd_servers/avorion)
* [Barotrauma](steamcmd_servers/barotrauma)
* [BATTALION: Legacy](steamcmd_servers/battalion_legacy)
* [Black Mesa](steamcmd_servers/black_mesa)
* [Citadel: Forged with Fire](steamcmd_servers/citadel)
* [Colony Survival](steamcmd_servers/colony_survival)
* [Conan Exiles](steamcmd_servers/conan_exiles)
* [Core Keeper](steamcmd_servers/core_keeper)
* [Counter-Strike](steamcmd_servers/counter_strike/)
* [Counter-Strike: Source](steamcmd_servers/counter_strike/counter_strike_source/)
* [Counter-Strike 2](steamcmd_servers/counter_strike/counter_strike_2/)
* [Craftopia](game_eggs/steamcmd_servers/craftopia)
* [CryoFall](steamcmd_servers/cryofall)
* [DayZ (Experimental)](steamcmd_servers/dayz-experimental)
* [Dead Matter](steamcmd_servers/dead_matter)
* [DDNet](steamcmd_servers/ddnet)
* [Don't Starve Together](steamcmd_servers/dont_starve)
* [ECO](steamcmd_servers/eco)
* [Empyrion - Galactic Survival](steamcmd_servers/empyrion)
* [Enshrouded](steamcmd_servers/enshrouded)
* [Fistful of Frags](steamcmd_servers/fof)
* [Frozen Flame](steamcmd_servers/frozen_flame)
* [Ground Branch](steamcmd_servers/ground_branch)
* [HLDS Server](steamcmd_servers/hlds_server)
* [HLDS Vanilla](steamcmd_servers/hlds_server/vanilla)
* [ReHLDS](steamcmd_servers/hlds_server/rehlds)
* [Holdfast: Nations At War](steamcmd_servers/holdfast)
* [HumanitZ](steamcmd_servers/humanitz)
* [Hurtworld](steamcmd_servers/hurtworld)
* [Icarus](steamcmd_servers/icarus)
* [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm)
* [iosoccer](steamcmd_servers/iosoccer)
* [Killing Floor 2](steamcmd_servers/killing_floor_2)
* [Left 4 Dead](steamcmd_servers/left4dead)
* [Left 4 Dead 2](steamcmd_servers/left4dead_2)
* [Longvinter](steamcmd_servers/longvinter)
* [Modiverse](steamcmd_servers/modiverse)
* [Mordhau](steamcmd_servers/mordhau)
* [Mount & Blade II: Bannerlord](steamcmd_servers/mount_blade_II_bannerlord)
* [Myth of Empires](steamcmd_servers/myth_of_empires)
* [Necesse](steamcmd_servers/necesse)
* [Neos VR](steamcmd_servers/neosvr)
* [No More Room in Hell](steamcmd_servers/nmrih)
* [No Love Lost](steamcmd_servers/no_love_lost)
* [No One Survived](steamcmd_servers/no_one_survived)
* [Nova-Life: Amboise](steamcmd_servers/novalife_amboise)
* [Onset](steamcmd_servers/onset)
* [Open Fortress](steamcmd_servers/open_fortress)
* [Operation Harsh Doorstop](steamcmd_servers/operation_harsh_doorstop)
* [Palworld](steamcmd_servers/palworld)
* [Pavlov VR](steamcmd_servers/pavlov_vr)
* [PixARK](steamcmd_servers/pixark)
* [Portal Knights](steamcmd_servers/portal_knights)
* [Post Scriptum](steamcmd_servers/post_scriptum)
* [Project Zomboid](steamcmd_servers/project_zomboid)
* [Quake Live](steamcmd_servers/quake_live)
* [Resonite](steamcmd_servers/resonite)
* [Rising World](steamcmd_servers/rising_world)
* [Legacy Java](steamcmd_servers/rising_world/legacy)
* [Unity](steamcmd_servers/rising_world/unity)
* [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)
* [Exiled](steamcmd_servers/scpsl/exiled)
* [Smalland: Survive the Wilds](steamcmd_servers/smalland_survive_the_wilds)
* [Solace Crafting](steamcmd_servers/solace_crafting)
* [Soldat](steamcmd_servers/soldat)
* [Sons of the Forest](steamcmd_servers/sonsoftheforest)
* [Space Engineers](steamcmd_servers/space_engineers)
* [default](steamcmd_servers/space_engineers/default)
* [torch](steamcmd_servers/space_engineers/torch)
* [Squad](steamcmd_servers/squad)
* [Starbound](steamcmd_servers/starbound)
* [Stationeers](steamcmd_servers/stationeers)
* [Stationeers Vanilla](steamcmd_servers/stationeers/stationeers_vanilla)
* [Stationeers BepInEx](steamcmd_servers/stationeers/stationeers_bepinex)
* [Stormworks: Build and Rescue](steamcmd_servers/stormworks)
* [Subnautica: Nitrox Mod](steamcmd_servers/subnautica_nitrox_mod)
* [Sven Co-op](steamcmd_servers/svencoop)
* [Swords 'n Magic and Stuff](steamcmd_servers/swords_'n_Magic_and_Stuff)
* [Team Fortress 2 Classic](steamcmd_servers/team_fortress_2_classic)
* [TerraTech Worlds](steamcmd_servers/terratech_worlds)
* [The Forest](steamcmd_servers/the_forest)
* [The Front](steamcmd_servers/thefront)
* [The Isle](steamcmd_servers/the_isle)
* [Evrima](steamcmd_servers/the_isle/evrima)
* [Tower Unite](steamcmd_servers/tower_unite)
* [Truck Sim](steamcmd_servers/truck-simulator)
* [American Truck Simulator](steamcmd_servers/truck-simulator/american-truck-simulator/)
* [Euro Truck Simulator 2](steamcmd_servers/truck-simulator/euro-truck-simulator2/)
* [Unturned](steamcmd_servers/unturned)
* [V Rising](steamcmd_servers/v_rising)
* [V Rising Vanilla](steamcmd_servers/v_rising/v_rising_vanilla)
* [V Rising BepInex](steamcmd_servers/v_rising/v_rising_bepinex)
* [Valheim](steamcmd_servers/valheim)
* [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla)
* [Valheim BepInEx](steamcmd_servers/valheim/valheim_bepinex)
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
* [VEIN](steamcmd_servers/vein)
* [Wurm Unlimited](steamcmd_servers/wurm_unlimited/)
[SuperTuxKart](SuperTuxKart)
[Teeworlds](teeworlds)
[Terraria](terraria)
* [tModLoader](terraria/tmodloader)
* [TShock](terraria/tshock)
* [Vanilla](terraria/vanilla)
[Tycoon Games](tycoon_games)
* [OpenRCT2](tycoon_games/openrct2)
* [OpenTTD](tycoon_games/openttd)
[Veloren](veloren)
[Vintage Story](vintage_story)
[Xonotic](xonotic/xonotic)
[FoundryVTT](FoundryVTT)
-33
View File
@@ -1,33 +0,0 @@
# SuperTuxKart
SuperTuxKart is a 3D open-source arcade racer with a variety characters, tracks, and modes to play.
## [Documentation](https://github.com/supertuxkart/stk-code/blob/master/NETWORKING.md)
Essentially this is a standard build of the regular SuperTuxKart client but with a special flag when being compiled that produces a GUI-less binary optimized for size and memory usage.
## Install notes
First install will take a while because the games source code and assets will be downloaded and the games executable will have to be compiled.
## Installation/System Requirements
| | Bare Minimum | Recommended |
|---------|---------|---------|
| RAM | 1GiB | 1GiB |
| Storage | 3GiB | 5GiB |
## Server Ports
| Port | default |
|---------|---------|
| Game | 2759 |
### Notes
To change server settings, stop the server then edit the 'config.xml' file in the root of the container. When done save the file and start the server.
2759 is the default port, but any port can be used. You will have to manually change it in the config.xml file.
To update the server (only should have to be done when the games code or assets are updated) in panel as an admin go to Servers > SuperTuxKart Server > Manage > Reinstall. If you are a standard user go to SuperTuxKart Server > Settings > Reinstall Server. This will download the updated code/assets (should exclude anything that didn't change) and recompile the executable.
Currently this is setup to run a local lan server. To make this a wan server (available in the SuperTuxKart online lobby list) read the document at this link and make the necessary changes to the [startup command](https://github.com/supertuxkart/stk-code/blob/master/NETWORKING.md).
@@ -1,92 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-03-24T19:19:23+01:00",
"name": "SuperTuxKart",
"author": "mattamn107@github.com",
"description": "Egg for hosting a SuperTuxKart Server.",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/bin\/supertuxkart --server-config={{CONFIG_NAME}} --lan-server={{SERVER_NAME}} --network-console --port=\"{{SERVER_PORT}}\" --difficulty={{DIFFICULTY}} --mode={{MODE}} --max-players={{MAX_PLAYERS}} --motd=\"{{MOTD}}\"",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"Available command:\"\r\n}",
"logs": "{}",
"stop": "quit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\n# Install build tools\r\necho \"deb http:\/\/deb.debian.org\/debian bullseye-backports main\" >> \/etc\/apt\/sources.list && \\\r\napt-get update && apt-get -y full-upgrade && \\\r\n apt-get install -y build-essential cmake libbluetooth-dev libsdl2-dev \\\r\n libcurl4-openssl-dev libenet-dev libfreetype6-dev libharfbuzz-dev \\\r\n libjpeg-dev libogg-dev libopenal-dev libpng-dev \\\r\n libssl-dev libvorbis-dev libmbedtls-dev pkg-config zlib1g-dev subversion\r\n\r\nif [ ! -d \"\/mnt\/server\/stk-code\" ] && [ ! -d \"\/mnt\/server\/stk-assets\" ]; then\r\n \r\n #clone code repo\r\n git clone https:\/\/github.com\/supertuxkart\/stk-code \/mnt\/server\/stk-code\r\n \r\n #get assets\r\n svn co https:\/\/svn.code.sf.net\/p\/supertuxkart\/code\/stk-assets \/mnt\/server\/stk-assets\r\n \r\n # go into the stk-code directory\r\n cd \/mnt\/server\/stk-code\r\n \r\n # create and enter the cmake_build directory\r\n mkdir cmake_build\r\n \r\nelse\r\n\r\n #update existing stuff\r\n cd \/mnt\/server\/stk-assets\r\n svn up\r\n \r\n cd \/mnt\/server\/stk-code\r\n git pull\r\n\r\n\r\nfi\r\n\r\n#build the server\r\ncd cmake_build\r\ncmake .. -DSERVER_ONLY=ON\r\nmake\r\n\r\n#copy binary to root\/bin and make it executable\r\nmkdir \/mnt\/server\/bin\r\ncp \/mnt\/server\/stk-code\/cmake_build\/bin\/supertuxkart \/mnt\/server\/bin\/supertuxkart\r\nchmod +x \/mnt\/server\/bin\/supertuxkart\r\n\r\n#copy data folder\r\ncp -r \/mnt\/server\/stk-code\/data \/mnt\/server\/data\r\n\r\n#copy extra assets to data folder\r\ncd \/mnt\/server\/stk-assets\r\ncp -r library models music sfx textures tracks karts \/mnt\/server\/data\/\r\n\r\n# Delete repo's to save disk space.\r\n#rm -rf \/mnt\/server\/stk-code && rm -rf \/mnt\/server\/stk-assets",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "The Name of the Server",
"env_variable": "SERVER_NAME",
"default_value": "Pterodactyl_Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:50",
"field_type": "text"
},
{
"name": "Config File Name",
"description": "Name of the Config File.",
"env_variable": "CONFIG_NAME",
"default_value": "config.xml",
"user_viewable": true,
"user_editable": true,
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.xml)$\/",
"field_type": "text"
},
{
"name": "Mode",
"description": "0 = Normal Race\r\n1 = Time Trial\r\n2 = Battle\r\n3 = Soccer\r\n4 = Follow The Leader\r\n5 = Capture the Flag",
"env_variable": "MODE",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:0,1,2,3,4,5",
"field_type": "text"
},
{
"name": "Difficulty",
"description": "Speed of the carts and AI difficulty\r\n0 = Beginner\r\n1 = Intermediate\r\n2 = Expert\r\n3 = SuperTux",
"env_variable": "DIFFICULTY",
"default_value": "0",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:0,1,2,3",
"field_type": "text"
},
{
"name": "Max Players",
"description": "How many players can there be in the server.",
"env_variable": "MAX_PLAYERS",
"default_value": "8",
"user_viewable": true,
"user_editable": true,
"rules": "required|numeric|between:1,24",
"field_type": "text"
},
{
"name": "Message of the Day",
"description": "Message of the Day displayed in the server.",
"env_variable": "MOTD",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:100",
"field_type": "text"
}
]
}
-10
View File
@@ -1,10 +0,0 @@
# Among Us
[BetterCrewLink Server](bettercrewlink_server)
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required.
[CrewLink Server](crewlink_server)
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,15 +0,0 @@
# Among Us - BetterCrewLink Server
## From their [Github](https://github.com/OhMyGuus/BetterCrewLink)
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required. Spatial audio ensures that you can only hear people close to you.
## Server Port
Ports required to run the server in a table format.
| Port | default (HTTPS enabled) | default (HTTPS disabled) |
|---------|---------|---------|
| Game | 443 | 9736 |
Default port is 443 if HTTPS is enabled, and 9736 if not. But you can change to any port or domain/ip in the egg
@@ -1,92 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T13:58:58+02:00",
"name": "BetterCrewlink Server",
"author": "tobiornotto@gmail.com",
"description": "An egg designed to allow support for Proximity Chat in Among Us using BetterCrewLink Server",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_16": "ghcr.io\/parkervcp\/yolks:nodejs_16"
},
"file_denylist": [],
"startup": "yarn start",
"config": {
"files": "{}",
"startup": "{\r\n \"done\": \"<info> BetterCrewLink Server started\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git python3 python3-pip build-essential\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nINSTALL_REPO=\"https:\/\/github.com\/OhMyGuus\/BetterCrewLink-server.git\"\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\ncloning files from repo\"\r\necho -e \"running 'git clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .'\"\r\ngit clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/yarn install\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
"container": "node:16-bookworm",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Github branch",
"description": "Select one of the available BetterCrewLink-server branches. Master per default.",
"env_variable": "BRANCH",
"default_value": "master",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
},
{
"name": "Domain",
"description": "Domain of your server or ip of your server",
"env_variable": "HOSTNAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:50",
"field_type": "text"
},
{
"name": "Server name",
"description": "Specifiy the name of your BetterCrewLink server",
"env_variable": "NAME",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:75",
"field_type": "text"
},
{
"name": "Use HTTPS",
"description": "Enables https. You must place privkey.pem and fullchain.pem in your CWD.",
"env_variable": "HTTPS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Path to SSL",
"description": "Alternate path to SSL certificates.",
"env_variable": "SSLPATH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:250",
"field_type": "text"
},
{
"name": "Port",
"description": "Choose the port your server should run on",
"env_variable": "PORT",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
@@ -1,15 +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
Ports required to run the server in a table format.
| Port | default |
|---------|---------|
| Game | 9736 |
Default port is 9736 but you can change to any port or domain/ip in the egg
@@ -1,92 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T14:26:29+02: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,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:nodejs_16": "ghcr.io\/parkervcp\/yolks:nodejs_16"
},
"file_denylist": [],
"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:16-bookworm",
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"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",
"field_type": "text"
},
{
"name": "Use HTTPS",
"description": "Enables https. You must place privkey.pem and fullchain.pem in your CWD.",
"env_variable": "HTTPS",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:20",
"field_type": "text"
},
{
"name": "Path to SSL",
"description": "Alternate path to SSL certificates.",
"env_variable": "SSLPATH",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "nullable|string|max:250",
"field_type": "text"
},
{
"name": "Port",
"description": "Choose the port your server should run on",
"env_variable": "PORT",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:20",
"field_type": "text"
}
]
}
@@ -1,18 +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,43 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2023-03-04T15:04:21+01:00",
"name": "Among Us - Impostor Server",
"author": "eggs@goover.dev",
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
"features": null,
"docker_images": {
"Dotnet_7": "ghcr.io\/parkervcp\/yolks:dotnet_7",
"Dotnet_6": "ghcr.io\/parkervcp\/yolks:dotnet_6"
},
"file_denylist": [],
"startup": ".\/Impostor.Server",
"config": {
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Server.PublicPort\": \"{{server.build.default.port}}\",\r\n \"Server.ListenPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Matchmaker is listening on\"\r\n}",
"logs": "{}",
"stop": "^^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt -y install curl jq tar\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/Impostor\/Impostor\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/Impostor\/Impostor\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"linux-x64\" || echo \"linux-arm64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"\\nDownloading from $DOWNLOAD_URL\"\r\ncurl -sSL -o imposter-server.tar.gz $DOWNLOAD_URL\r\n\r\n\r\necho -e \"\\nUnpacking .tar.gz\"\r\ntar xvf imposter-server.tar.gz\r\n\r\nrm imposter-server.tar.gz\r\nchmod +x Impostor.Server\r\n\r\necho -e \"\\nInstall completed\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Download Version",
"description": "Version to Download. Leave latest for the latest release.\r\n\r\nFind all releases at https:\/\/github.com\/Impostor\/Impostor\/releases\r\nNote: versions start with a v, example: v1.8.0",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:30",
"field_type": "text"
}
]
}
-6
View File
@@ -1,6 +0,0 @@
# BeamMP
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
* [BeamMP Server](beammp)
* [KissMP](kissmp)
-6
View File
@@ -1,6 +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,122 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-05T12:07:19+02:00",
"name": "BeamMP Servers",
"author": "noah@noahserver.online",
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point through which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
"features": null,
"docker_images": {
"Debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/BeamMP-Server",
"config": {
"files": "{\r\n \"ServerConfig.toml\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"Name =\": \"Name = \\\"{{env.NAME}}\\\"\",\r\n \"Port =\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTHKEY}}\\\"\",\r\n \"Private =\": \"Private = {{env.PRIVATE}}\",\r\n \"MaxPlayers =\": \"MaxPlayers = {{server.build.env.MAX_PLAYERS}}\",\r\n \"Description =\": \"Description = \\\"{{env.DESCRIPTION}}\\\"\",\r\n \"MaxCars =\": \"MaxCars = {{env.MAX_CARS}}\",\r\n \"Map =\": \"Map = \\\"{{env.MAP}}\\\"\",\r\n \"LogChat =\": \"LogChat = {{env.LOGCHAT}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
"logs": "{}",
"stop": "exit"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n#Create the server directory\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n#Remove any old versions\r\nrm -f BeamMP-Server\r\n\r\n#Check for latest release & download URLs\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/BeamMP\/BeamMP-Server\/releases\")\r\nMATCH=$([[ \"$(uname -m)\" == \"x86_64\" ]] && echo \"Server.debian.12.x86_64\" || echo \"Server.debian.12.arm64\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest BeamMP server version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"${MATCH}\" | head -1)\r\nelse\r\n echo -e \"Chosen version :${VERSION}. Verifying version from releases\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i \"${MATCH}\" | head -1)\r\n else\r\n echo -e \"No valid versions found. Defaulting to the latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i \"Server\" | grep -i \"debian\" | grep -i \"12\" | grep -i \"x\" | grep -i \"64\" | head -1)\r\n fi\r\nfi\r\n\r\n#Download the BeamMP server binary\r\necho -e \"Running curl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\"\r\ncurl -sSL ${DOWNLOAD_URL} -o BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\n#Create a default configuration file\r\necho \"# This is the BeamMP-Server config file.\r\n# Help & Documentation: `https:\/\/wiki.beammp.com\/en\/home\/server-maintenance`\r\n# IMPORTANT: Fill in the AuthKey with the key you got from `https:\/\/keymaster.beammp.com\/` on the left under 'Keys'\r\n\r\n[General]\r\nName = 'BeamMP Server'\r\nPort = 30814\r\n# AuthKey has to be filled out in order to run the server\r\nAuthKey = ''\r\n# Whether to log chat messages in the console \/ log\r\nLogChat = true\r\n# Add custom identifying tags to your server to make it easier to find. Format should be TagA,TagB,TagC. Note the comma seperation.\r\nTags = 'Freeroam'\r\nDebug = false\r\nPrivate = true\r\nMaxCars = 1\r\nMaxPlayers = 8\r\nMap = '\/levels\/gridmap_v2\/info.json'\r\nDescription = 'BeamMP Default Description'\r\nResourceFolder = 'Resources'\r\n\r\n[Misc]\r\n# Hides the periodic update message which notifies you of a new server version. You should really keep this on and always update as soon as possible. For more information visit https:\/\/wiki.beammp.com\/en\/home\/server-maintenance#updating-the-server. An update message will always appear at startup regardless.\r\nImScaredOfUpdates = false\r\n# You can turn on\/off the SendErrors message you get on startup here\r\nSendErrorsShowMessage = true\r\n# If SendErrors is 'true', the server will send helpful info about crashes and other issues back to the BeamMP developers. This info may include your config, who is on your server at the time of the error, and similar general information. This kind of data is vital in helping us diagnose and fix issues faster. This has no impact on server performance. You can opt-out of this system by setting this to 'false'\r\nSendErrors = true\" > ServerConfig.toml\r\n\r\n\r\necho \"-----------------------------------------\"\r\necho \"Installation completed...\"\r\necho \"-----------------------------------------\"",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": [
{
"name": "Server Name",
"description": "The name of your server. This is what appears on the server list.",
"env_variable": "NAME",
"default_value": "BeamMP Server",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
},
{
"name": "Server Description",
"description": "Sets the server description",
"env_variable": "DESCRIPTION",
"default_value": "BeamMP Default Description",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:128",
"field_type": "text"
},
{
"name": "BeamMP Server Version",
"description": "The BeamMP server version to be installed. Latest or invalid versions will default to latest. See all available versions at https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases\r\n\r\nexample: v3.1.0 or v2.2.0 or latest",
"env_variable": "VERSION",
"default_value": "latest",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:12",
"field_type": "text"
},
{
"name": "Authentication Key",
"description": "The authentication key for your server. A key can be obtained from the BeamMP keymaster at https:\/\/keymaster.beammp.com",
"env_variable": "AUTHKEY",
"default_value": "",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Max Players",
"description": "The maximum number of players allowed on the server.",
"env_variable": "MAX_PLAYERS",
"default_value": "6",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|max:100",
"field_type": "text"
},
{
"name": "Private",
"description": "Should the server be private?",
"env_variable": "PRIVATE",
"default_value": "false",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
},
{
"name": "Max Cars",
"description": "The maximum number of cars allowed to be spawned per player.",
"env_variable": "MAX_CARS",
"default_value": "1",
"user_viewable": true,
"user_editable": true,
"rules": "required|integer|max:10",
"field_type": "text"
},
{
"name": "Map",
"description": "The map for your server. Stock maps are listed below.\r\n\r\n\/levels\/gridmap_v2\/info.json\r\n\/levels\/automation_test_track\/info.json\r\n\/levels\/east_coast_usa\/info.json\r\n\/levels\/hirochi_raceway\/info.json\r\n\/levels\/italy\/info.json\r\n\/levels\/jungle_rock_island\/info.json\r\n\/levels\/industrial\/info.json\r\n\/levels\/small_island\/info.json\r\n\/levels\/smallgrid\/info.json\r\n\/levels\/utah\/info.json\r\n\/levels\/west_coast_usa\/info.json\r\n\/levels\/driver_training\/info.json\r\n\/levels\/derby\/info.json",
"env_variable": "MAP",
"default_value": "\/levels\/gridmap_v2\/info.json",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|max:64",
"field_type": "text"
},
{
"name": "Chat logging",
"description": "Enable chat logging by the server",
"env_variable": "LOGCHAT",
"default_value": "true",
"user_viewable": true,
"user_editable": true,
"rules": "required|string|in:true,false",
"field_type": "text"
}
]
}
-5
View File
@@ -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.
-31
View File
@@ -1,31 +0,0 @@
{
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
"meta": {
"version": "PTDL_v2",
"update_url": null
},
"exported_at": "2024-04-02T11:01:56+02:00",
"name": "KissMP Server",
"author": "me@weilbyte.dev",
"description": "Server for the KISS Multiplayer BeamNG.drive mod",
"features": null,
"docker_images": {
"ghcr.io\/parkervcp\/yolks:debian": "ghcr.io\/parkervcp\/yolks:debian"
},
"file_denylist": [],
"startup": ".\/kissmp-server",
"config": {
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
"startup": "{\r\n \"done\": \"Server is running!\"\r\n}",
"logs": "{}",
"stop": "^C"
},
"scripts": {
"installation": {
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y wget unzip \r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_RELEASE=$(wget -qO- https:\/\/api.github.com\/repos\/TheHellBox\/KISS-multiplayer\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\nDownloading latest release ${LATEST_RELEASE}\"\r\n\r\nwget $LATEST_RELEASE -O kissmp.zip\r\nunzip -j kissmp.zip '*\/kissmp-server'\r\n\r\nrm -rf kissmp.zip\r\n\r\nif [ -f \/mnt\/server\/kissmp-server ]; then\r\n echo -e \"Install complete\"\r\n chmod +x \/mnt\/server\/kissmp-server\r\n \r\n # Generate config\r\n .\/kissmp-server & serverpid=$! \r\n sleep 1\r\n kill $serverpid\r\n \r\n exit 0\r\nelse \r\n echo -e \"Install failed (no \/mnt\/server\/kissmp-server file present)\"\r\n exit 1\r\nfi",
"container": "ghcr.io\/parkervcp\/installers:debian",
"entrypoint": "bash"
}
},
"variables": []
}

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