mirror of
https://github.com/parkervcp/eggs.git
synced 2024-11-29 18:58:15 +08:00
Merge branch 'master' into add/eugenServers
This commit is contained in:
commit
5f7210be31
78
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
78
.github/ISSUE_TEMPLATE/bug-report.yml
vendored
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
name: 🐛 Bug Report
|
||||||
|
description: Report an issue for an egg
|
||||||
|
title: "[Bug]: "
|
||||||
|
labels: [Bug]
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
If you see any of the following, go to [Discord](https://discord.gg/pterodactyl) and report your error in a support channel.
|
||||||
|
* `A fatal error was encountered while starting this server.`
|
||||||
|
* `No server egg configuration could be located; aborting startup.`
|
||||||
|
- type: input
|
||||||
|
id: panel-version
|
||||||
|
attributes:
|
||||||
|
label: Panel Version
|
||||||
|
description: Version number of your Panel (latest is not a version)
|
||||||
|
placeholder: 1.x.x
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: wings-version
|
||||||
|
attributes:
|
||||||
|
label: Wings Version
|
||||||
|
description: Version number of your Wings (latest is not a version)
|
||||||
|
placeholder: 1.x.x
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: service
|
||||||
|
attributes:
|
||||||
|
label: Service
|
||||||
|
description: Service you are experiencing issues with
|
||||||
|
placeholder: minecraft/factorio/etc
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
id: modified
|
||||||
|
attributes:
|
||||||
|
label: Modified
|
||||||
|
description: Did you add or change things, this includes startup configs/install scripts/variables
|
||||||
|
options:
|
||||||
|
- Yes, I modified the egg (will provide details below)
|
||||||
|
- No, I did not modify the egg
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: expected-behavior
|
||||||
|
attributes:
|
||||||
|
label: Expected Behavior
|
||||||
|
description: What did you expect to happen
|
||||||
|
placeholder: Install the server, start it, play
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: actual-behavior
|
||||||
|
attributes:
|
||||||
|
label: Actual Behavior
|
||||||
|
description: What actually happened instead
|
||||||
|
placeholder: Server crashed with error X
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: reproduce-steps
|
||||||
|
attributes:
|
||||||
|
label: Steps To Reproduce
|
||||||
|
description: Step by step what to do to cause the issue
|
||||||
|
placeholder: |
|
||||||
|
Step 1 Set version to latest
|
||||||
|
Step 2 install
|
||||||
|
Step 3 Receive error X or Y
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
id: logs
|
||||||
|
attributes:
|
||||||
|
label: Relevant log output
|
||||||
|
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||||
|
render: shell
|
24
.github/ISSUE_TEMPLATE/bugs.md
vendored
24
.github/ISSUE_TEMPLATE/bugs.md
vendored
@ -1,24 +0,0 @@
|
|||||||
---
|
|
||||||
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
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
5
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
blank_issues_enabled: false
|
||||||
|
contact_links:
|
||||||
|
- name: ❓ Discord
|
||||||
|
url: https://discord.gg/pterodactyl
|
||||||
|
about: Please visit our Discord for support with configuration issues.
|
49
.github/ISSUE_TEMPLATE/egg-request.yml
vendored
Normal file
49
.github/ISSUE_TEMPLATE/egg-request.yml
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
name: 🎮 Game Request
|
||||||
|
description: Suggest a server to build an egg for
|
||||||
|
title: "[Egg Request]: "
|
||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
Make sure there are no existing egg requests by searching the repository issues. Please understand how Pterodactyl works when you are requesting an egg. (ie. docker-compose doesn't work for a pterodactyl server)
|
||||||
|
- type: input
|
||||||
|
id: service
|
||||||
|
attributes:
|
||||||
|
label: Service
|
||||||
|
description: Service you are experiencing issues with
|
||||||
|
placeholder: minecraft/factorio/etc
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- 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 game
|
||||||
|
placeholder: minecraft.net/factorio.com/etc
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: download-link
|
||||||
|
attributes:
|
||||||
|
label: Links for server downloads
|
||||||
|
description: This needs to be an official link and not one that is hosted on some forum page or a personal Github page.
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
id: instruction-link
|
||||||
|
attributes:
|
||||||
|
label: Links for the install docs
|
||||||
|
description: Link to install instructions or documentation based on which the server can be created
|
||||||
|
placeholder: Install the server, start it, play
|
||||||
|
validations:
|
||||||
|
required: true
|
19
.github/ISSUE_TEMPLATE/request.md
vendored
19
.github/ISSUE_TEMPLATE/request.md
vendored
@ -1,19 +0,0 @@
|
|||||||
---
|
|
||||||
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:
|
|
2
.github/pull_request_template.md
vendored
2
.github/pull_request_template.md
vendored
@ -1,7 +1,7 @@
|
|||||||
### All Submissions:
|
### All Submissions:
|
||||||
|
|
||||||
* [ ] Have you followed the guidelines in our Contributing document?
|
* [ ] 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?
|
* [ ] 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?
|
* [ ] Did you branch your changes and PR from that branch and not from your master branch?
|
||||||
* If not, why?:
|
* If not, why?:
|
||||||
|
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
Only use what is absolutely needed.
|
Only use what is absolutely needed.
|
||||||
|
|
||||||
3. Try to stay in the stock containers.
|
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.
|
If you need something in a container, open a PR in [my yolks repo](https://github.com/parkervcp/yolks) where I can review and pull it up to the main repo. In addition, there is a larger quantity of [images here](https://github.com/parkervcp/images) for you to use that have not been migrated to Yolks yet.
|
||||||
|
|
||||||
4. Don't be afraid to submit PR's to the egg repo.
|
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.
|
I don't bite. I will work with you on the egg and the required things to run it.
|
||||||
|
280
README.md
280
README.md
@ -1,4 +1,4 @@
|
|||||||
# Parkers Pterodactyl eggs repo
|
# Parkers Pterodactyl eggs repo
|
||||||
|
|
||||||
I am working on adding a large collection of public eggs for the Pterodactyl community.
|
I am working on adding a large collection of public eggs for the Pterodactyl community.
|
||||||
|
|
||||||
@ -17,9 +17,8 @@ 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
|
4. Browse to the json file you saved earlier
|
||||||
5. Select what nest you want to put the egg in.
|
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.
|
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
|
## Please read the CONTRIBUTING.md before submitting PRs
|
||||||
@ -28,26 +27,26 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
|
|
||||||
[Discord](/bots/discord)
|
[Discord](/bots/discord)
|
||||||
* [ATL Bot](/bots/discord/atlbot) Node JS
|
* [ATL Bot](/bots/discord/atlbot) Node JS
|
||||||
* [Bastion](/bots/discord/bastion)
|
* [Bastion](/bots/discord/bastion) Node JS
|
||||||
* [CorpBot](/bots/discord/corpbot) Python
|
* [CorpBot](/bots/discord/corpbot) Python
|
||||||
* [discord.js](bots/discord/discord.js) Node JS generic
|
* [discord.js](bots/discord/discord.js) Node JS generic
|
||||||
* [discord.py](bots/discord/discord.py) Python generic
|
* [discord.py](bots/discord/discord.py) Python generic
|
||||||
* [discordgo](bots/discord/discordgo) golang generic
|
* [discordgo](bots/discord/discordgo) Golang generic
|
||||||
* [fragbot](/bots/discord/fragbot) Golang
|
* [fragbot](/bots/discord/fragbot) Golang
|
||||||
* [jmusicbot](/bots/discord/jmusicbot) Java
|
* [JMusicBot](/bots/discord/jmusicbot) Java
|
||||||
* [parkertron](/bots/discord/parkertron) Golang
|
* [parkertron](/bots/discord/parkertron) Golang
|
||||||
* [pixel-bot](/bots/discord/pixelbot) Python
|
* [pixel-bot](/bots/discord/pixelbot) Python
|
||||||
* [Red](/bots/discord/redbot) Python
|
* [Redbot](/bots/discord/redbot) Python
|
||||||
* [Sinusbot](/bots/discord/sinusbot)
|
* [SinusBot](/bots/discord/sinusbot)
|
||||||
|
|
||||||
* [Twitch](/bots/twitch)
|
|
||||||
* [PhantomBot](/bots/twitch/phantombot)
|
|
||||||
* [sogeBot](/bots/twitch/sogebot)
|
|
||||||
|
|
||||||
[Other](/bots/other)
|
[Other](/bots/other)
|
||||||
* [Big Brother Bot](/bots/other/bigbrotherbot)
|
* [Big Brother Bot](/bots/other/bigbrotherbot)
|
||||||
|
|
||||||
* [TeamSpeak3](bots/teamspeak3)
|
[Twitch](/bots/twitch)
|
||||||
|
* [PhantomBot](/bots/twitch/phantombot)
|
||||||
|
* [SogeBot](/bots/twitch/sogebot)
|
||||||
|
|
||||||
|
[TeamSpeak3](bots/teamspeak3)
|
||||||
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod)
|
* [JTS3ServerMod](/bots/teamspeak3/jts3servermod)
|
||||||
|
|
||||||
## [Database](/database)
|
## [Database](/database)
|
||||||
@ -63,140 +62,193 @@ If you are reading this it looks like you are looking to add an egg to your serv
|
|||||||
* [MariaDB](/database/sql/mariadb)
|
* [MariaDB](/database/sql/mariadb)
|
||||||
* [PostgreSQL](/database/sql/postgres)
|
* [PostgreSQL](/database/sql/postgres)
|
||||||
|
|
||||||
## Voice Servers
|
## [Voice Servers](/voice_servers)
|
||||||
* [Lavalink](/voice_servers/lavalink)
|
* [Lavalink](/voice_servers/lavalink)
|
||||||
* [TeaSpeak](/voice_servers/teaspeak)
|
* [TeaSpeak](/voice_servers/teaspeak)
|
||||||
* [TS3-Manager](/voice_servers/ts3_manager)
|
* [TS3-Manager](/voice_servers/ts3_manager)
|
||||||
|
|
||||||
## Game Eggs
|
## [Game Eggs](/game_eggs)
|
||||||
[Among Us Impostor Server](/among_us/impostor_server)
|
[Among Us](game_eggs/among_us)
|
||||||
|
* [Impostor Server](game_eggs/among_us/impostor_server)
|
||||||
|
* [CrewLink Server](game_eggs/among_us/crewlink_server)
|
||||||
|
|
||||||
[Cryofall](/cryofall)
|
[BeamNG.drive](game_eggs/beamng)
|
||||||
|
* [BeamMP Server](game_eggs/beamng/beammp)
|
||||||
|
* [KissMP](game_eggs/beamng/kissmp)
|
||||||
|
|
||||||
[ET Legacy](/enemy_territory/etlegacy)
|
[Call of Duty 4X](game_eggs/cod/cod4x)
|
||||||
|
|
||||||
* [Eugen games](/eugen)
|
[Cryofall](game_eggs/cryofall/cryofall)
|
||||||
|
|
||||||
|
[Eugen games](/eugen)
|
||||||
* [Steel Division 2](/eugen/steel-division-2)
|
* [Steel Division 2](/eugen/steel-division-2)
|
||||||
* [Wargame: Red Dragon](/eugen/wargame-red-dragon)
|
* [Wargame: Red Dragon](/eugen/wargame-red-dragon)
|
||||||
* [Wargame: Red Dragon - patched](/eugen/wargame-red-dragon-patched)
|
* [Wargame: Red Dragon - patched](/eugen/wargame-red-dragon-patched)
|
||||||
|
|
||||||
|
[ET Legacy](game_eggs/enemy_territory/etlegacy)
|
||||||
|
|
||||||
[Factorio](/factorio/factorio)
|
[Factorio](/factorio/factorio)
|
||||||
|
|
||||||
[Grand Theft Auto](/gta)
|
[FTL: Tachyon](game_eggs/ftl/tachyon)
|
||||||
|
|
||||||
|
[Factorio](game_eggs/factorio)
|
||||||
|
* [Vanilla](game_eggs/factorio/factorio)
|
||||||
|
* [ModUpdate](game_eggs/factorio/factorio-modupdate)
|
||||||
|
|
||||||
|
[Grand Theft Auto](game_eggs/gta)
|
||||||
* GTA V
|
* GTA V
|
||||||
* [FiveM](/gta/fivem)
|
* [FiveM](game_eggs/gta/fivem)
|
||||||
* [RageMP](/gta/ragemp)
|
* [RageMP](game_eggs/gta/ragemp)
|
||||||
* [alt:V](/gta/altv)
|
* [alt:V](game_eggs/gta/altv)
|
||||||
|
|
||||||
* GTA SA
|
* GTA SA
|
||||||
* [Multi Theft Auto](/gta/mtasa)
|
* [Multi Theft Auto](game_eggs/gta/mtasa)
|
||||||
* [SA-MP](/gta/samp)
|
* [SA-MP](game_eggs/gta/samp)
|
||||||
|
|
||||||
[Mindustry](/mindustry)
|
* GTA
|
||||||
|
* [GTAC](game_eggs/gta/gtac)
|
||||||
|
|
||||||
[LeagueSandbox](/leaguesandbox)
|
[Mindustry](game_eggs/mindustry)
|
||||||
|
* [Mindustry](game_eggs/mindustry/mindustry)
|
||||||
|
|
||||||
[Minetest](/minetest) (including MTG)
|
[League Sandbox](game_eggs/leaguesandbox)
|
||||||
|
* [League Sandbox](game_eggs/leaguesandbox/leaguesandbox)
|
||||||
|
|
||||||
[Minecraft](/minecraft)
|
[Minetest](game_eggs/minetest) (including MTG)
|
||||||
* [Bedrock](/minecraft/bedrock)
|
* [Minetest](game_eggs/minetest/minetest)
|
||||||
* [Bedrock](/minecraft/bedrock/bedrock)
|
|
||||||
* [gomint](/minecraft/bedrock/gomint)
|
|
||||||
* [Nukkit](/minecraft/bedrock/nukkit)
|
|
||||||
* [PocketMine MP](/minecraft/bedrock/pocketmine_mp)
|
|
||||||
|
|
||||||
* [Java](/minecraft/java) Servers for Java Minecraft
|
[Minecraft](game_eggs/minecraft)
|
||||||
* [Cuberite](/minecraft/java/cuberite)
|
* [Bedrock](game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
|
||||||
* [Fabric](/minecraft/java/fabric)
|
* [Bedrock](game_eggs/minecraft/bedrock/bedrock)
|
||||||
* [Feather](/minecraft/java/feather)
|
* [gomint](game_eggs/minecraft/bedrock/gomint)
|
||||||
* [Feed The Beast](/minecraft/java/ftb)
|
* [Nukkit](game_eggs/minecraft/bedrock/nukkit)
|
||||||
* [Forge](/minecraft/java/forge)
|
* [PocketMine MP](game_eggs/minecraft/bedrock/pocketmine_mp)
|
||||||
* [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)
|
|
||||||
* [Mohist](/minecraft/java/mohist)
|
|
||||||
|
|
||||||
* [Proxies](/minecraft/proxy) Minecraft Server Proxies
|
* [Java](game_eggs/minecraft/java) Servers for Java Minecraft
|
||||||
* [Java](/minecraft/proxy/java)
|
* [Airplane](game_eggs/minecraft/java/airplane)
|
||||||
* [TyphoonLimbo](/minecraft/proxy/java/typhoonlimbo)
|
* [Cuberite](game_eggs/minecraft/java/cuberite)
|
||||||
* [Waterfall](/minecraft/proxy/java/waterfall)
|
* [Fabric](game_eggs/minecraft/java/fabric)
|
||||||
* [Travertine](/minecraft/proxy/java/travertine)
|
* [Feather](game_eggs/minecraft/java/feather)
|
||||||
* [Velocity](/minecraft/proxy/java/velocity)
|
* [Feed The Beast](game_eggs/minecraft/java/ftb)
|
||||||
* [Cross Platform](/minecraft/proxy/cross_platform)
|
* [Forge](game_eggs/minecraft/java/forge)
|
||||||
* [GeyserMC](/minecraft/proxy/cross_platform/geyser)
|
* [Magma](game_eggs/minecraft/java/magma)
|
||||||
* [Waterdog](/minecraft/proxy/cross_platform/waterdog)
|
* [Mohist](game_eggs/minecraft/java/mohist)
|
||||||
* DragonProxy abandoned in favour of GeyserMC.
|
* [Paper](game_eggs/minecraft/java/paper)
|
||||||
|
* [Purpur](game_eggs/minecraft/java/purpur)
|
||||||
|
* [Spigot](game_eggs/minecraft/java/spigot)
|
||||||
|
* [SpongeForge](game_eggs/minecraft/java/spongeforge)
|
||||||
|
* [SpongeVanilla](game_eggs/minecraft/java/spongevanilla)
|
||||||
|
* [Technic](game_eggs/minecraft/java/technic)
|
||||||
|
* [Tuinity](game_eggs/minecraft/java/tuinity)
|
||||||
|
* [VanillaCord](game_eggs/minecraft/java/vanillacord)
|
||||||
|
|
||||||
|
* [Proxies](game_eggs/minecraft/proxy) Minecraft Server Proxies
|
||||||
|
* [Java](game_eggs/minecraft/proxy/java)
|
||||||
|
* [FlameCord](game_eggs/minecraft/proxy/java/flamecord)
|
||||||
|
* [Travertine](game_eggs/minecraft/proxy/java/travertine)
|
||||||
|
* [TyphoonLimbo](game_eggs/minecraft/proxy/java/typhoonlimbo)
|
||||||
|
* [Velocity](game_eggs/minecraft/proxy/java/velocity)
|
||||||
|
* [Waterfall](game_eggs/minecraft/proxy/java/waterfall)
|
||||||
|
* [Cross Platform](game_eggs/minecraft/proxy/cross_platform)
|
||||||
|
* [GeyserMC](game_eggs/minecraft/proxy/cross_platform/geyser)
|
||||||
|
* [Waterdog](game_eggs/minecraft/proxy/cross_platform/waterdog)
|
||||||
|
|
||||||
[OpenRA](/openra)
|
[OpenArena](game_eggs/openarena)
|
||||||
* [OpenRA Dune2000](/openra/openra_dune2000)
|
* [openarena](game_eggs/openarena/openarena)
|
||||||
* [OpenRA Red Alert](/openra/openra_red_alert)
|
|
||||||
* [OpenRA Tiberian Dawn](/openra/openra_tiberian_dawn)
|
|
||||||
|
|
||||||
|
[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](/rdr)
|
[Red Dead Redemption](game_eggs/rdr)
|
||||||
* [RedM](/rdr/redm)
|
* [RedM](game_eggs/rdr/redm)
|
||||||
|
|
||||||
[steamcmd servers](/steamcmd_servers) These eggs use steamcmd to install
|
[SteamCMD Servers](game_eggs/steamcmd_servers) These eggs use SteamCMD to install
|
||||||
* [7 Days to Die](/steamcmd_servers/7_days_to_die)
|
* [7 Days to Die](game_eggs/steamcmd_servers/7_days_to_die)
|
||||||
* [ARK Survival Evolved](/steamcmd_servers/ark_survival_evolved)
|
* [ARK: Survival Evolved](game_eggs/steamcmd_servers/ark_survival_evolved)
|
||||||
* [Arma](/steamcmd_servers/arma)
|
* [Arma](game_eggs/steamcmd_servers/arma)
|
||||||
* [Arma 3](/steamcmd_servers/arma/arma3)
|
* [Arma 3](game_eggs/steamcmd_servers/arma/arma3)
|
||||||
* [Arma 3 HC](/steamcmd_servers/arma/arma3_headless_client)
|
* [Assetto Corsa](game_eggs/steamcmd_servers/assetto_corsa)
|
||||||
* [Arma 3 HC](/steamcmd_servers/arma/arma3_x64)
|
* [Avorion](game_eggs/steamcmd_servers/avorion)
|
||||||
* [Avorion](/steamcmd_servers/avorion)
|
* [Barotrauma](game_eggs/steamcmd_servers/barotrauma)
|
||||||
* [Assetto Corsa](/steamcmd_servers/assetto_corsa)
|
* [Citadel: Forged with Fire](game_eggs/steamcmd_servers/citadel)
|
||||||
* [Barotrauma](/steamcmd_servers/barotrauma)
|
* [Conan Exiles](game_eggs/steamcmd_servers/conan_exiles)
|
||||||
* [Citadel: Forged with Fire](/steamcmd_servers/citadel)
|
* [Don't Starve Together](game_eggs/steamcmd_servers/dont_starve)
|
||||||
* [Conan Exiles](/steamcmd_servers/conan_exiles)
|
* [ECO](game_eggs/steamcmd_servers/eco)
|
||||||
* [Don't Starve](/steamcmd_servers/dont_starve)
|
* [Fistful of Frags](game_eggs/steamcmd_servers/fof)
|
||||||
* [ECO](/steamcmd_servers/eco)
|
* [HLDS Server](game_eggs/steamcmd_servers/hlds_server)
|
||||||
* [HLDS server](/steamcmd_servers/hlds_server)
|
* [Holdfast: Nations At War](game_eggs/steamcmd_servers/holdfast)
|
||||||
* [Holdfast](/steamcmd_servers/holdfast)
|
* [Hurtworld](game_eggs/steamcmd_servers/hurtworld)
|
||||||
* [Hurtworld](/steamcmd_servers/hurtworld)
|
* [Insurgency: Sandstorm](game_eggs/steamcmd_servers/insurgency_sandstorm)
|
||||||
* [Insurgency: Sandstorm](/steamcmd_servers/insurgency_sandstorm)
|
* [Killing Floor 2](game_eggs/steamcmd_servers/killing_floor_2)
|
||||||
* [Killing Floor 2](/steamcmd_servers/killingfloor2)
|
* [Modiverse](game_eggs/steamcmd_servers/modiverse)
|
||||||
* [Mordhau](/steamcmd_servers/mordhau)
|
* [Mordhau](game_eggs/steamcmd_servers/mordhau)
|
||||||
* [Onset](/steamcmd_servers/onset)
|
* [No More Room in Hell](game_eggs/steamcmd_servers/nmrih)
|
||||||
* [PixARK](/steamcmd_servers/pixark)
|
* [Onset](game_eggs/steamcmd_servers/onset)
|
||||||
* [Project Zomboid](/steamcmd_servers/project_zomboid)
|
* [Pavlov VR](game_eggs/steamcmd_servers/pavlov_vr)
|
||||||
* [Rising World](/steamcmd_servers/rising_world)
|
* [PixARK](game_eggs/steamcmd_servers/pixark)
|
||||||
* [Rust Staging Branch](/steamcmd_servers/rust_staging)
|
* [Post Scriptum](game_eggs/steamcmd_servers/post_scriptum)
|
||||||
* [SCP: Secret Laboratory](/steamcmd_servers/scpsl)
|
* [Project Zomboid](game_eggs/steamcmd_servers/project_zomboid)
|
||||||
* [dedicated](/steamcmd_servers/scpsl/dedicated)
|
* [Quake Live](game_eggs/steamcmd_servers/quake_live)
|
||||||
* [multiadmin](/steamcmd_servers/scpsl/multiadmin)
|
* [Rising World](game_eggs/steamcmd_servers/rising_world)
|
||||||
* [Soldat](/steamcmd_servers/soldat)
|
* [Risk Of Rain 2](game_eggs/steamcmd_servers/risk_of_rain_2)
|
||||||
* [Starbound](/steamcmd_servers/starbound)
|
* [Rust](game_eggs/steamcmd_servers/rust)
|
||||||
* [Stationeers](/steamcmd_servers/stationeers)
|
* [Autowipe](game_eggs/steamcmd_servers/rust/rust_autowipe)
|
||||||
* [Stormworks](/steamcmd_servers/stormworks)
|
* [Staging](game_eggs/steamcmd_servers/rust/rust_staging)
|
||||||
* [Sven Co-op](/steamcmd_servers/svencoop)
|
* [SCP: Secret Laboratory](game_eggs/steamcmd_servers/scpsl)
|
||||||
* [Squad](/steamcmd_servers/squad)
|
* [dedicated](game_eggs/steamcmd_servers/scpsl/dedicated)
|
||||||
* [Team Fortress 2 Classic](/steamcmd_servers/team_fortress_2_classic)
|
* [multiadmin](game_eggs/steamcmd_servers/scpsl/multiadmin)
|
||||||
* [Unturned](/steamcmd_servers/unturned)
|
* [Soldat](game_eggs/steamcmd_servers/soldat)
|
||||||
|
* [Space Engineers](game_eggs/steamcmd_servers/space_engineers)
|
||||||
|
* [Squad](game_eggs/steamcmd_servers/squad)
|
||||||
|
* [Starbound](game_eggs/steamcmd_servers/starbound)
|
||||||
|
* [Stationeers](game_eggs/steamcmd_servers/stationeers)
|
||||||
|
* [Stormworks: Build and Rescue](game_eggs/steamcmd_servers/stormworks)
|
||||||
|
* [Subnautica: Nitrox Mod](game_eggs/steamcmd_servers/subnautica_nitrox_mod)
|
||||||
|
* [Sven Co-op](game_eggs/steamcmd_servers/svencoop)
|
||||||
|
* [The Forest](game_eggs/steamcmd_servers/the_forest)
|
||||||
|
* [Team Fortress 2 Classic](game_eggs/steamcmd_servers/team_fortress_2_classic)
|
||||||
|
* [Unturned](game_eggs/steamcmd_servers/unturned)
|
||||||
|
* [Valheim](game_eggs/steamcmd_servers/valheim)
|
||||||
|
* [Valheim Vanilla](game_eggs/steamcmd_servers/valheim/valheim_vanilla)
|
||||||
|
* [Valheim Plus Mod](game_eggs/steamcmd_servers/valheim/valheim_plus)
|
||||||
|
|
||||||
[Teeworlds](/teeworlds)
|
[Teeworlds](game_eggs/teeworlds)
|
||||||
* [teeworlds](/teeworlds/teeworlds)
|
* [Teeworlds](game_eggs/teeworlds/teeworlds)
|
||||||
|
|
||||||
[Terraria](/terraria)
|
[Terraria](game_eggs/terraria)
|
||||||
* [vanilla](/terraria/vanilla)
|
* [Vanilla](game_eggs/terraria/vanilla)
|
||||||
* [tmodloader](/terraria/tmodloader)
|
* [tModLoader](game_eggs/terraria/tmodloader)
|
||||||
* [tshock](/terraria/tshock)
|
* [TShock](game_eggs/terraria/tshock)
|
||||||
|
|
||||||
[Tycoon Games](/tycoon_games)
|
[Tycoon Games](game_eggs/tycoon_games)
|
||||||
* [OpenTTD](/tycoon_games/openttd)
|
* [OpenTTD](game_eggs/tycoon_games/openttd)
|
||||||
|
|
||||||
[Unreal Engine](/unreal_engine)
|
[Unreal Engine](game_eggs/unreal_engine)
|
||||||
* [Tower Unite](/unreal_engine/tower_unite)
|
* [Tower Unite](game_eggs/unreal_engine/tower_unite)
|
||||||
* [Tower Unite](/steamcmd_servers/tower_unite)
|
* [Tower Unite](game_eggs/steamcmd_servers/tower_unite)
|
||||||
|
|
||||||
[Vintage Story](/vintage_story/vintage_story)
|
[Veloren](game_eggs/veloren/veloren)
|
||||||
|
|
||||||
[Xonotic](/xonotic/xonotic)
|
[Vintage Story](game_eggs/vintage_story/vintage_story)
|
||||||
|
|
||||||
|
[Xonotic](game_eggs/xonotic/xonotic)
|
||||||
|
|
||||||
|
## [Monitoring](/monitoring/)
|
||||||
|
### Prometheus
|
||||||
|
* [Prometheus](/monitoring/prometheus)
|
||||||
|
|
||||||
## [Storage](/storage/)
|
## [Storage](/storage/)
|
||||||
### S3 Storage
|
### S3 Storage
|
||||||
* [minio](/storage/minio)
|
* [minio](/storage/minio)
|
||||||
|
|
||||||
|
## [Software](/software/)
|
||||||
|
### Code Server
|
||||||
|
* [Code-Server](/software/code-server)
|
||||||
|
### Gitea
|
||||||
|
* [Gitea](/software/gitea)
|
||||||
|
### Grafana
|
||||||
|
* [Grafana](/software/grafana)
|
||||||
|
### haste-server
|
||||||
|
* [haste-server](/software/haste-server)
|
@ -1,55 +0,0 @@
|
|||||||
{
|
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
|
||||||
"meta": {
|
|
||||||
"version": "PTDL_v1"
|
|
||||||
},
|
|
||||||
"exported_at": "2020-11-20T15:01:04+01:00",
|
|
||||||
"name": "Among Us - Impostor Server",
|
|
||||||
"author": "info@goover.de",
|
|
||||||
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2020.9.22, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
|
|
||||||
"features": null,
|
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_dotnet-5",
|
|
||||||
"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 \"userInteraction\": []\r\n}",
|
|
||||||
"logs": "{}",
|
|
||||||
"stop": "^C"
|
|
||||||
},
|
|
||||||
"scripts": {
|
|
||||||
"installation": {
|
|
||||||
"script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y upgrade\r\napt -y --no-install-recommends install wget curl jq unzip tar redis-server file ca-certificates apt-utils\r\n\r\nexport HOME=\/mnt\/server\r\ncd $HOME\r\n\r\n## get release info and download links\r\nLATEST_RELEASE=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/latest)\r\nLATEST_VERSION=$(echo $LATEST_RELEASE | sed -e 's\/.*\"tag_name\":\"\\([^\"]*\\)\".*\/\\1\/')\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/$LATEST_VERSION\/$MATCH\"\r\nelse \r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/v$VERSION\/$MATCH\"\r\nfi\r\n\r\necho $DOWNLOAD_LINK\r\nwget $DOWNLOAD_LINK\r\n\r\nunzip -o Impostor-Server-linux-x64.zip\r\nrm -fR Impostor-Server-linux-x64.zip \r\nchmod +x Impostor.Server",
|
|
||||||
"container": "debian:buster-slim",
|
|
||||||
"entrypoint": "bash"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"variables": [
|
|
||||||
{
|
|
||||||
"name": "GITHUB_PACKAGE",
|
|
||||||
"description": "GITHUB_PACKAGE",
|
|
||||||
"env_variable": "GITHUB_PACKAGE",
|
|
||||||
"default_value": "Impostor\/Impostor",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": false,
|
|
||||||
"rules": "required"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "MATCH",
|
|
||||||
"description": "Filename to Match",
|
|
||||||
"env_variable": "MATCH",
|
|
||||||
"default_value": "Impostor-Server-linux-x64.zip",
|
|
||||||
"user_viewable": false,
|
|
||||||
"user_editable": false,
|
|
||||||
"rules": "required"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Version",
|
|
||||||
"description": "Version to Download.",
|
|
||||||
"env_variable": "VERSION",
|
|
||||||
"default_value": "latest",
|
|
||||||
"user_viewable": true,
|
|
||||||
"user_editable": true,
|
|
||||||
"rules": "required|string|max:30"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
22
bots/discord/deno/README.md
Normal file
22
bots/discord/deno/README.md
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
# Deno generic
|
||||||
|
|
||||||
|
### From their [site](https://deno.land/)
|
||||||
|
|
||||||
|
This egg is designed to run any generic Deno application, allowing users to pull their own Deno discord bot from a Github repository.
|
||||||
|
|
||||||
|
There is an option to allow a user to upload their own files to run a server.
|
||||||
|
|
||||||
|
The startup configs and commands may need changing to actually function properly.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||||
|
![image](https://user-images.githubusercontent.com/10975908/126516861-c5cb4630-9f25-405c-8199-97bf5ec15a7f.png)
|
||||||
|
|
||||||
|
You can use arrays to have multiple different values when different bots are being used
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"done":[
|
||||||
|
"change this text 1",
|
||||||
|
"change this text 2"
|
||||||
|
]
|
||||||
|
}
|
86
bots/discord/deno/egg-deno-generic.json
Normal file
86
bots/discord/deno/egg-deno-generic.json
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-03-30T00:48:40+00:00",
|
||||||
|
"name": "Deno Generic",
|
||||||
|
"author": "parker@parkervcp.com",
|
||||||
|
"description": "A generic egg to run deno code.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/deno run {{JS_FILE}}",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Deno Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\napt update\r\napt install -y git curl jq file unzip\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\n## get deno\r\nGITHUB_PACKAGE=denoland\/deno\r\nMATCH=linux\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then\r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL $DOWNLOAD_LINK -o ${DOWNLOAD_LINK##*\/}\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip -o ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2\r\nfi\r\n\r\n## cleaning up downloaded file\r\nrm -f ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Git Username",
|
||||||
|
"description": "Username to auth with git.",
|
||||||
|
"env_variable": "USERNAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Access Token",
|
||||||
|
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||||
|
"env_variable": "ACCESS_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Repo Address",
|
||||||
|
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||||
|
"env_variable": "GIT_ADDRESS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "User Uploaded Files",
|
||||||
|
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||||
|
"env_variable": "USER_UPLOAD",
|
||||||
|
"default_value": "0",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Branch",
|
||||||
|
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||||
|
"env_variable": "BRANCH",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bot js file",
|
||||||
|
"description": "The JavaScript file to run",
|
||||||
|
"env_variable": "JS_FILE",
|
||||||
|
"default_value": "bot.js",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
19
bots/discord/discord java/README.md
Normal file
19
bots/discord/discord java/README.md
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
# discord.java generic
|
||||||
|
This egg is designed to run any generic Java application, allowing users to pull their own Java discord bot from a Github repository.
|
||||||
|
|
||||||
|
There is an option to allow a user to upload their own files to run a bot.
|
||||||
|
|
||||||
|
The startup configs and commands may need changing to actually function properly.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||||
|
![image](https://user-images.githubusercontent.com/10975908/126516861-c5cb4630-9f25-405c-8199-97bf5ec15a7f.png)
|
||||||
|
|
||||||
|
You can use arrays to have multiple different values when different bots are being used
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"done":[
|
||||||
|
"change this text 1",
|
||||||
|
"change this text 2"
|
||||||
|
]
|
||||||
|
}
|
43
bots/discord/discord java/egg-discord-java.json
Normal file
43
bots/discord/discord java/egg-discord-java.json
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-07-21T18:23:17+03:00",
|
||||||
|
"name": "Discord Java",
|
||||||
|
"author": "sneaky@sneakyhub.com",
|
||||||
|
"description": "Creates a container that runs java.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/parkervcp\/yolks:java_8",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:java_11",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:java_16"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "java -Dterminal.jline=false -Dterminal.ansi=true -jar {{JARFILE}}",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"change this text\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Java Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\nPROJECT=java\r\n\r\napt update\r\napt install -y curl jq\r\n\r\ncd \/mnt\/server",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "JAR FILE",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "JARFILE",
|
||||||
|
"default_value": "sneakyhub.jar",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,7 +1,20 @@
|
|||||||
# discord.js generic
|
# discord.js generic
|
||||||
|
|
||||||
This egg was designed to allow a user to pull their own nodejs discord bot from a repo.
|
This egg is designed to run any generic Javascript application, allowing users to pull their own javascript discord bot from a Github repository.
|
||||||
|
|
||||||
There is an option to allow a user to upload their own files to run a bot.
|
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.
|
The startup configs and commands may need changing to actually function properly.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||||
|
![image](https://user-images.githubusercontent.com/10975908/126516861-c5cb4630-9f25-405c-8199-97bf5ec15a7f.png)
|
||||||
|
|
||||||
|
You can use arrays to have multiple different values when different bots are being used
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"done":[
|
||||||
|
"change this text 1",
|
||||||
|
"change this text 2"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@ -1,71 +1,60 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-08-13T22:04:35-04:00",
|
"exported_at": "2021-08-07T17:11:56+03:00",
|
||||||
"name": "discord.js generic",
|
"name": "discord.js generic",
|
||||||
"author": "parker@parkervcp.com",
|
"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.",
|
"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",
|
"features": null,
|
||||||
"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}}",
|
"images": [
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_16",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_15",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_14",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:nodejs_12"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z ${NODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm install ${NODE_PACKAGES}; fi; if [[ ! -z ${UNNODE_PACKAGES} ]]; then \/usr\/local\/bin\/npm uninstall ${UNNODE_PACKAGES}; fi; if [ -f \/home\/container\/package.json ]; then \/usr\/local\/bin\/npm install; fi; \/usr\/local\/bin\/node \/home\/container\/{{BOT_JS_FILE}}",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||||
"logs": "{}",
|
"logs": "{}",
|
||||||
"stop": "^c"
|
"stop": "^^C"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"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 [[ ! \"${USERNAME}\" == \"\" ]]; then\r\n if [[ ! https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git | sed 's:\/*$::')\r\n INSTALL_REPO=\"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n \r\n if [ \"${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\n else\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}\" == \"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\" ]; 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} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .\r\n \tfi\r\n fi \r\nelse\r\n if [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n \r\n if [ \"${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\n else\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\n fi \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",
|
"script": "#!\/bin\/bash\r\n# NodeJS Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\necho \"Installing nodejs packages\"\r\nif [[ ! -z ${NODE_PACKAGES} ]]; then\r\n \/usr\/local\/bin\/npm install ${NODE_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/npm install --production\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||||
"container": "node:12-buster-slim",
|
"container": "node:14-buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [{
|
||||||
{
|
"name": "Git Repo Address",
|
||||||
"name": "Install Repo",
|
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||||
"description": "The GitHub repo to clone and install the discord js bot from.",
|
"env_variable": "GIT_ADDRESS",
|
||||||
"env_variable": "INSTALL_REPO",
|
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|max:128"
|
"rules": "nullable|string"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Username",
|
|
||||||
"description": "The GitHub username. Leave this field blank if the GitHub repo is NOT a private repo.",
|
|
||||||
"env_variable": "USERNAME",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": 1,
|
|
||||||
"user_editable": 1,
|
|
||||||
"rules": "nullable|string|max:128"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Password",
|
|
||||||
"description": "The GitHub password. Leave this field blank if the GitHub repo is NOT a private repo.",
|
|
||||||
"env_variable": "PASSWORD",
|
|
||||||
"default_value": "",
|
|
||||||
"user_viewable": 1,
|
|
||||||
"user_editable": 1,
|
|
||||||
"rules": "nullable|string|max:128"
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Install Branch",
|
"name": "Install Branch",
|
||||||
"description": "The branch of the bot to install.",
|
"description": "The branch of the bot to install.",
|
||||||
"env_variable": "INSTALL_BRANCH",
|
"env_variable": "BRANCH",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|max:32"
|
"rules": "nullable|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "User Uploaded Files",
|
"name": "User Uploaded Files",
|
||||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||||
"env_variable": "USER_UPLOAD",
|
"env_variable": "USER_UPLOAD",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|bool"
|
"rules": "required|bool"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -73,8 +62,8 @@
|
|||||||
"description": "Pull the latest files on startup when using a GitHub repo.",
|
"description": "Pull the latest files on startup when using a GitHub repo.",
|
||||||
"env_variable": "AUTO_UPDATE",
|
"env_variable": "AUTO_UPDATE",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|boolean"
|
"rules": "required|boolean"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -82,8 +71,8 @@
|
|||||||
"description": "The file that starts the bot.",
|
"description": "The file that starts the bot.",
|
||||||
"env_variable": "BOT_JS_FILE",
|
"env_variable": "BOT_JS_FILE",
|
||||||
"default_value": "index.js",
|
"default_value": "index.js",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -91,8 +80,35 @@
|
|||||||
"description": "Install additional node packages.\r\n\r\nUse spaces to separate.",
|
"description": "Install additional node packages.\r\n\r\nUse spaces to separate.",
|
||||||
"env_variable": "NODE_PACKAGES",
|
"env_variable": "NODE_PACKAGES",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Username",
|
||||||
|
"description": "Username to auth with git.",
|
||||||
|
"env_variable": "USERNAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Access Token",
|
||||||
|
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||||
|
"env_variable": "ACCESS_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Uninstall Node packages",
|
||||||
|
"description": "Uninstall node packages.\r\n\r\nUse spaces to separate.",
|
||||||
|
"env_variable": "UNNODE_PACKAGES",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
"rules": "nullable|string"
|
"rules": "nullable|string"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,6 +1,19 @@
|
|||||||
# discord.py generic
|
# discord.py generic
|
||||||
This egg was designed to allow a user to pull their own python discord bot from a repo.
|
This egg is designed to run any generic Python application, allowing users to pull their own Python discord bot from a Github repository.
|
||||||
|
|
||||||
There is an option to allow a user to upload their own files to run a bot.
|
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.
|
The startup configs and commands may need changing to actually function properly.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||||
|
![image](https://user-images.githubusercontent.com/10975908/126516861-c5cb4630-9f25-405c-8199-97bf5ec15a7f.png)
|
||||||
|
|
||||||
|
You can use arrays to have multiple different values when different bots are being used
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"done":[
|
||||||
|
"change this text 1",
|
||||||
|
"change this text 2"
|
||||||
|
]
|
||||||
|
}
|
@ -1,14 +1,22 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-09-28T22:35:14-04:00",
|
"exported_at": "2021-08-07T17:13:40+03:00",
|
||||||
"name": "discord.py generic",
|
"name": "discord.py generic",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "A Discord bot written in Python using discord.py\r\n\r\nhttps:\/\/github.com\/Ispira\/pixel-bot",
|
"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",
|
"features": null,
|
||||||
"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}}",
|
"images": [
|
||||||
|
"ghcr.io\/parkervcp\/yolks:python_3.9",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:python_3.8",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:python_3.7",
|
||||||
|
"ghcr.io\/parkervcp\/yolks:python_2.7"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "if [[ -d .git ]] && [[ {{AUTO_UPDATE}} == \"1\" ]]; then git pull; fi; if [[ ! -z {{PY_PACKAGES}} ]]; then pip install -U --prefix .local {{PY_PACKAGES}}; fi; if [[ -f \/home\/container\/${REQUIREMENTS_FILE} ]]; then pip install -U --prefix .local -r ${REQUIREMENTS_FILE}; fi; \/usr\/local\/bin\/python \/home\/container\/{{BOT_PY_FILE}}",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
"startup": "{\r\n \"done\": \"change this part\"\r\n}",
|
||||||
@ -17,37 +25,36 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"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 [[ ! \"${USERNAME}\" == \"\" ]]; then\r\n if [[ ! https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git | sed 's:\/*$::')\r\n INSTALL_REPO=\"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\"\r\n \r\n if [ \"${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\n else\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}\" == \"https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git\" ]; 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} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .'\"\r\n \t\tgit clone --single-branch --branch ${INSTALL_BRANCH} https:\/\/${USERNAME}:${PASSWORD}@github.com\/${INSTALL_REPO}.git .\r\n \tfi\r\n fi \r\nelse\r\n if [[ ! ${INSTALL_REPO} = *\\.git ]]; then\r\n INSTALL_REPO=$(echo -e ${INSTALL_REPO} | sed 's:\/*$::')\r\n INSTALL_REPO=\"${INSTALL_REPO}.git\"\r\n fi\r\n \r\n echo -e \"working on installing a discord.js bot from ${INSTALL_REPO}\"\r\n \r\n if [ \"${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\n else\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\n fi \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",
|
"script": "#!\/bin\/bash\r\n# Python Bot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git curl jq file unzip make gcc g++ python python-dev libtool\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\n\r\nfi\r\n\r\nexport HOME=\/mnt\/server\r\n\r\necho \"Installing python requirements into folder\"\r\nif [[ ! -z ${PY_PACKAGES} ]]; then\r\n pip install -U --prefix .local ${PY_PACKAGES}\r\nfi\r\n\r\nif [ -f \/mnt\/server\/requirements.txt ]; then\r\n pip install -U --prefix .local -r ${REQUIREMENTS_FILE}\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||||
"container": "python:3.8-slim",
|
"container": "python:3.8-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [{
|
||||||
{
|
"name": "Git Repo Address",
|
||||||
"name": "Install Repo",
|
"description": "Git repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||||
"description": "The GitHub repo to clone and install the discord py bot from.",
|
"env_variable": "GIT_ADDRESS",
|
||||||
"env_variable": "INSTALL_REPO",
|
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|max:128"
|
"rules": "nullable|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Install Branch",
|
"name": "Git Branch",
|
||||||
"description": "The branch of the bot to install",
|
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||||
"env_variable": "INSTALL_BRANCH",
|
"env_variable": "BRANCH",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|max:32"
|
"rules": "nullable|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "User Uploaded Files",
|
"name": "User Uploaded Files",
|
||||||
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||||
"env_variable": "USER_UPLOAD",
|
"env_variable": "USER_UPLOAD",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|boolean"
|
"rules": "required|boolean"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -55,8 +62,8 @@
|
|||||||
"description": "Pull the latest files on startup when using a GitHub repo.",
|
"description": "Pull the latest files on startup when using a GitHub repo.",
|
||||||
"env_variable": "AUTO_UPDATE",
|
"env_variable": "AUTO_UPDATE",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|boolean"
|
"rules": "required|boolean"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -64,8 +71,8 @@
|
|||||||
"description": "The file that starts the bot.",
|
"description": "The file that starts the bot.",
|
||||||
"env_variable": "BOT_PY_FILE",
|
"env_variable": "BOT_PY_FILE",
|
||||||
"default_value": "bot.py",
|
"default_value": "bot.py",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -73,27 +80,36 @@
|
|||||||
"description": "Install additional python packages.\r\n\r\nUse spaces to separate",
|
"description": "Install additional python packages.\r\n\r\nUse spaces to separate",
|
||||||
"env_variable": "PY_PACKAGES",
|
"env_variable": "PY_PACKAGES",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string"
|
"rules": "nullable|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Username",
|
"name": "Git Username",
|
||||||
"description": "The GitHub username. Leave this field blank if the GitHub repo is NOT a private repo.",
|
"description": "Username to auth with git.",
|
||||||
"env_variable": "USERNAME",
|
"env_variable": "USERNAME",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|max:128"
|
"rules": "nullable|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Password",
|
"name": "Git Access Token",
|
||||||
"description": "The GitHub password. Leave this field blank if the GitHub repo is NOT a private repo.",
|
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||||
"env_variable": "PASSWORD",
|
"env_variable": "ACCESS_TOKEN",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "nullable|string|max:128"
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Requirements file",
|
||||||
|
"description": "if there are other requirements files to choose from.",
|
||||||
|
"env_variable": "REQUIREMENTS_FILE",
|
||||||
|
"default_value": "requirements.txt",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
# discordgo generic
|
# discordgo generic
|
||||||
This egg was designed to allow a user to pull their own go discord bot from a repo.
|
This egg is designed to run any generic Golang application, allowing users to pull their own Golang discord bot from a Github repository.
|
||||||
|
|
||||||
The startup configs and commands may need changing to actually function properly.
|
The startup configs and commands may need changing to actually function properly.
|
||||||
|
|
||||||
@ -7,3 +7,16 @@ Users cannot upload their own code as this is built to build the resulting bot.
|
|||||||
|
|
||||||
`GO_PACKAGE` is the variable for the go repo i.e. `github.com/aurieh/ddg-ng`
|
`GO_PACKAGE` is the variable for the go repo i.e. `github.com/aurieh/ddg-ng`
|
||||||
`EXECUTABLE` is the variable for the executable that is built i.e. `ddg-ng`
|
`EXECUTABLE` is the variable for the executable that is built i.e. `ddg-ng`
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
The server will be stuck as `starting` until the egg Start Configuration is modified. You have to edit the text to match something your bot will print for Pterodactyl panel to detect it as running.
|
||||||
|
![image](https://user-images.githubusercontent.com/10975908/126516861-c5cb4630-9f25-405c-8199-97bf5ec15a7f.png)
|
||||||
|
|
||||||
|
You can use arrays to have multiple different values when different bots are being used
|
||||||
|
```
|
||||||
|
{
|
||||||
|
"done":[
|
||||||
|
"change this text 1",
|
||||||
|
"change this text 2"
|
||||||
|
]
|
||||||
|
}
|
@ -1,18 +1,21 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-11-18T00:37:48+02:00",
|
"exported_at": "2021-01-29T22:41:09+02:00",
|
||||||
"name": "JMusicBot",
|
"name": "JMusicBot",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "A Discord music bot that's easy to set up and run yourself!",
|
"description": "A Discord music bot that's easy to set up and run yourself!",
|
||||||
"features": null,
|
"features": null,
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre",
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-8-jre"
|
||||||
|
],
|
||||||
"startup": "java -Djavax.accessibility.assistive_technologies=\" \" -Dnogui=true -jar JMusicBot.jar",
|
"startup": "java -Djavax.accessibility.assistive_technologies=\" \" -Dnogui=true -jar JMusicBot.jar",
|
||||||
"config": {
|
"config": {
|
||||||
"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}",
|
"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}",
|
"startup": "{\r\n \"done\": \"Finished Loading\"\r\n}",
|
||||||
"logs": "{}",
|
"logs": "{}",
|
||||||
"stop": "^C"
|
"stop": "^C"
|
||||||
},
|
},
|
||||||
@ -26,7 +29,7 @@
|
|||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "Discord Bot Token",
|
"name": "Discord Bot Token",
|
||||||
"description": "The token for your discord bot.\r\n\r\nhttps:\/\/discordapp.com\/developers\/applications\/",
|
"description": "The token for your discord bot.\r\n\r\nhttps:\/\/discord.com\/developers\/applications\/",
|
||||||
"env_variable": "BOT_TOKEN",
|
"env_variable": "BOT_TOKEN",
|
||||||
"default_value": "You need to get a token",
|
"default_value": "You need to get a token",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
|
7
bots/discord/lua/luvit/README.md
Normal file
7
bots/discord/lua/luvit/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# luvit generic
|
||||||
|
|
||||||
|
This egg was designed to allow a user to pull their own lua discord bot from a repo and run it with luvit.
|
||||||
|
|
||||||
|
There is an option to allow a user to upload their own files to run a bot.
|
||||||
|
|
||||||
|
The startup configs and commands may need changing to actually function properly.
|
95
bots/discord/lua/luvit/egg-luvit-generic.json
Normal file
95
bots/discord/lua/luvit/egg-luvit-generic.json
Normal file
@ -0,0 +1,95 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-03-30T02:11:23+00:00",
|
||||||
|
"name": "luvit generic",
|
||||||
|
"author": "parker@parkervcp.com",
|
||||||
|
"description": "A generic luvit egg This will clone a git repo for a bot. It defaults to master if no branch is specified.\r\n\r\nSupports the discordia lua framework.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/luvit {{LUA_FILE}}",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"change me\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^c"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n## luvit generic install script\r\n\r\napt update\r\napt install -y git curl jq file unzip\r\n\r\n## get git files\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nif [ \"${USER_UPLOAD}\" == \"true\" ] || [ \"${USER_UPLOAD}\" == \"1\" ]; then\r\n echo -e \"assuming user knows what they are doing have a good day.\"\r\n exit 0\r\nfi\r\n\r\n## add git ending if it's not on the address\r\nif [[ ${GIT_ADDRESS} != *.git ]]; then\r\n GIT_ADDRESS=${GIT_ADDRESS}.git\r\nfi\r\n\r\nif [ -z \"${USERNAME}\" ] && [ -z \"${ACCESS_TOKEN}\" ]; then\r\n echo -e \"using anon api call\"\r\nelse\r\n GIT_ADDRESS=\"https:\/\/${USERNAME}:${ACCESS_TOKEN}@$(echo -e ${GIT_ADDRESS} | cut -d\/ -f3-)\"\r\nfi\r\n\r\n## pull git js bot repo\r\nif [ \"$(ls -A \/mnt\/server)\" ]; then\r\n echo -e \"\/mnt\/server directory is not empty.\"\r\n if [ -d .git ]; then\r\n echo -e \".git directory exists\"\r\n if [ -f .git\/config ]; then\r\n echo -e \"loading info from git config\"\r\n ORIGIN=$(git config --get remote.origin.url)\r\n else\r\n echo -e \"files found with no git config\"\r\n echo -e \"closing out without touching things to not break anything\"\r\n exit 10\r\n fi\r\n fi\r\n\r\n if [ \"${ORIGIN}\" == \"${GIT_ADDRESS}\" ]; then\r\n echo \"pulling latest from github\"\r\n git pull\r\n fi\r\nelse\r\n echo -e \"\/mnt\/server is empty.\\ncloning files into repo\"\r\n if [ -z ${BRANCH} ]; then\r\n echo -e \"cloning default branch\"\r\n git clone ${GIT_ADDRESS} .\r\n else\r\n echo -e \"cloning ${BRANCH}'\"\r\n git clone --single-branch --branch ${BRANCH} ${GIT_ADDRESS} .\r\n fi\r\nfi\r\n\r\n## install luvit for install time\r\ncurl -L https:\/\/github.com\/luvit\/lit\/raw\/master\/get-lit.sh | sh\r\n\r\n## Install luvit packages\r\n.\/lit install ${LIT_PACKAGES}",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Git Username",
|
||||||
|
"description": "Username to auth with git.",
|
||||||
|
"env_variable": "USERNAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Access Token",
|
||||||
|
"description": "Password to use with git.\r\n\r\nIt's best practice to use a Personal Access Token.\r\nhttps:\/\/github.com\/settings\/tokens\r\nhttps:\/\/gitlab.com\/-\/profile\/personal_access_tokens",
|
||||||
|
"env_variable": "ACCESS_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Repo Address",
|
||||||
|
"description": "GitHub Repo to clone\r\n\r\nI.E. https:\/\/github.com\/parkervcp\/repo_name",
|
||||||
|
"env_variable": "GIT_ADDRESS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "User Uploaded Files",
|
||||||
|
"description": "Skip all the install stuff if you are letting a user upload files.\r\n\r\n0 = false (default)\r\n1 = true",
|
||||||
|
"env_variable": "USER_UPLOAD",
|
||||||
|
"default_value": "0",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|bool"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Git Branch",
|
||||||
|
"description": "What branch to pull from github.\r\n\r\nDefault is blank to pull the repo default branch",
|
||||||
|
"env_variable": "BRANCH",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Bot lua file",
|
||||||
|
"description": "The Lua file to run",
|
||||||
|
"env_variable": "LUA_FILE",
|
||||||
|
"default_value": "bot.lua",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Lit Packages",
|
||||||
|
"description": "Lit Packages to install\r\n\r\nexample\r\nSinisterRectus\/discordia lduboeuf\/cjson",
|
||||||
|
"env_variable": "LIT_PACKAGES",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -5,6 +5,8 @@ A multifunction Discord bot
|
|||||||
### Server Ports
|
### Server Ports
|
||||||
No port are required to run Red.
|
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
|
### 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.
|
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.
|
||||||
|
|
||||||
|
@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-04-20T23:06:14-04:00",
|
"exported_at": "2021-08-04T04:19:56+03:00",
|
||||||
"name": "Red",
|
"name": "Red",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot",
|
"description": "A multifunction Discord bot \r\n\r\nhttps:\/\/github.com\/Cog-Creators\/Red-DiscordBot",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:bot_red",
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:bot_red"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "PATH=$PATH:\/home\/container\/.local\/bin redbot pterodactyl --token {{TOKEN}} --prefix {{PREFIX}}",
|
"startup": "PATH=$PATH:\/home\/container\/.local\/bin redbot pterodactyl --token {{TOKEN}} --prefix {{PREFIX}}",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
@ -17,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# red-discordbot install script\r\n\r\n## install deps\r\nmkdir -p \/usr\/share\/man\/man1\r\napt update\r\napt -y install git ca-certificates dnsutils iproute2 make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev git openjdk-11-jre\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/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\"",
|
"script": "#!\/bin\/bash\r\n# red-discordbot install script\r\n\r\n## install deps\r\nmkdir -p \/usr\/share\/man\/man1\r\napt update\r\napt -y install git ca-certificates dnsutils iproute2 make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev libgdbm-dev uuid-dev git openjdk-11-jre\r\n\r\n## config folder layouts\r\necho -e \"generating config folder layout\"\r\nmkdir -p \/mnt\/server\/.config\/{Red-DiscordBot,share}\/ \/mnt\/server\/.local\/share\/Red-DiscordBot\/data\/pterodactyl\/\r\ncd \/mnt\/server\/\r\nln -s .local\/share\/Red-DiscordBot\/data\/pterodactyl\/ .\/configs\r\n\r\n## install red\r\necho -e \"add container user to install\"\r\nln -s \/mnt\/server\/ \/home\/container\r\nuseradd -m -d \/home\/container container\r\nchown -R container \/mnt\/server\/\r\necho -e \"install red locally as user\"\r\nsu - container -c 'pip install -U Red-DiscordBot'\r\n\r\n## ensure the config is in place if it doesn't exist\r\nif [ ! -f \/mnt\/server\/.config\/Red-DiscordBot\/config.json ]; then\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/bots\/discord\/redbot\/config.json -o \/mnt\/server\/.config\/Red-DiscordBot\/config.json\r\nfi\r\n\r\necho -e \"install finished\"",
|
||||||
"container": "python:3.8-slim",
|
"container": "python:3.8-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -28,8 +33,8 @@
|
|||||||
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
|
"description": "Get your own token here - https:\/\/discordapp.com\/developers\/applications\/",
|
||||||
"env_variable": "TOKEN",
|
"env_variable": "TOKEN",
|
||||||
"default_value": "GET_YOUR_OWN",
|
"default_value": "GET_YOUR_OWN",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -37,8 +42,8 @@
|
|||||||
"description": "The prefix for commands from the bot.",
|
"description": "The prefix for commands from the bot.",
|
||||||
"env_variable": "PREFIX",
|
"env_variable": "PREFIX",
|
||||||
"default_value": ".",
|
"default_value": ".",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -2,5 +2,5 @@
|
|||||||
|
|
||||||
### 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 [Homepage](https://phantombot.tv) [Egg](/bots/twitch/phantombot/)
|
#### PhantomBot [Homepage](https://phantombot.github.io/PhantomBot/) [Egg](/bots/twitch/phantombot/)
|
||||||
#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/)
|
#### sogeBot [Homepage](https://sogebot.xyz) [Egg](/bots/twitch/sogebots/)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# PhantomBot
|
# PhantomBot
|
||||||
### Their [Site](https://phantombot.tv)
|
### Their [Site](https://phantombot.github.io/PhantomBot/)
|
||||||
PhantomBot is an actively developed open source interactive Twitch bot
|
PhantomBot is an actively developed open source interactive Twitch bot
|
||||||
with a vibrant community that provides entertainment and moderation for your channel,
|
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.
|
allowing you to focus on what matters the most to you - your game and your viewers.
|
||||||
|
@ -3,10 +3,11 @@
|
|||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1"
|
||||||
},
|
},
|
||||||
"exported_at": "2020-04-26T14:11:30+02:00",
|
"exported_at": "2020-12-16T19:18:24+02:00",
|
||||||
"name": "PhantomBot",
|
"name": "PhantomBot",
|
||||||
"author": "mail@wuffy.eu",
|
"author": "mail@wuffy.eu",
|
||||||
"description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.",
|
"description": "PhantomBot is an actively developed open source interactive Twitch bot with a vibrant community that provides entertainment and moderation for your channel, allowing you to focus on what matters the most to you - your game and your viewers.",
|
||||||
|
"features": null,
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
|
"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",
|
"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": {
|
"config": {
|
||||||
@ -17,8 +18,8 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching 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",
|
"script": "#!\/bin\/bash\r\n# PhantomBot Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt -y --no-install-recommends install curl ca-certificates unzip\r\n\r\ncd \/tmp\r\n\r\n# Fetching latest github release\r\nif [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"master\" ]; then\r\n echo -e \"Using latest Github Master version\"\r\n DOWNLOAD_URL=https:\/\/raw.githubusercontent.com\/PhantomBot\/nightly-build\/master\/PhantomBot-nightly-lin.zip\r\nelse\r\n if [ -z \"${RELEASE_VERSION}\" ] || [ \"${RELEASE_VERSION}\" == \"latest\" ]; then\r\n echo -e \"Using latest release version\"\r\n RELEASE_VERSION=$(curl -s \"https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/latest\" | grep -o '[0-9].[0-9].[0-9]')\r\n fi\r\n DOWNLOAD_URL=https:\/\/github.com\/PhantomBot\/PhantomBot\/releases\/download\/v${RELEASE_VERSION}\/PhantomBot-${RELEASE_VERSION}.zip\r\nfi\r\n\r\n# Download files\r\ncd \/mnt\/server\r\ncurl -LJO ${DOWNLOAD_URL}\r\nunzip -o PhantomBot-*.zip\r\n\r\n# Move unzipped files into the server folder\r\ncp -f -r .\/PhantomBot-*\/* \/mnt\/server\/\r\n\r\n# Creating default config\r\nif [ ! -f \/mnt\/server\/config\/botlogin.txt ]; then\r\n echo -e \"Creating config\/botlogin.txt\"\r\n cat << EOF > \/mnt\/server\/config\/botlogin.txt\r\n #PhantomBot Configuration File\r\n #\r\n # Here is a list wiht all config values:\r\n # https:\/\/community.phantom.bot\/t\/settings-for-botlogin-txt\/78\r\n #\r\n apioauth=\r\n baseport=\r\n channel=\r\n oauth=\r\n owner=\r\n panelpassword=\r\n paneluser=\r\n user=\r\n youtubekey=\r\n discord_token=\r\nEOF\r\nfi",
|
||||||
"container": "ubuntu:16.04",
|
"container": "debian:buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -28,17 +29,17 @@
|
|||||||
"description": "latest = Latest Stable\r\nmaster = latest Github",
|
"description": "latest = Latest Stable\r\nmaster = latest Github",
|
||||||
"env_variable": "RELEASE_VERSION",
|
"env_variable": "RELEASE_VERSION",
|
||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:9"
|
"rules": "required|string|max:9"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Twitch Channel Name",
|
"name": "Twitch Channel Name",
|
||||||
"description": "Please enter the bot's Twitch username",
|
"description": "Enter the Twitch channel name where the bot will connect to",
|
||||||
"env_variable": "CHANNEL_NAME",
|
"env_variable": "CHANNEL_NAME",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:26"
|
"rules": "required|string|max:26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -46,8 +47,8 @@
|
|||||||
"description": "",
|
"description": "",
|
||||||
"env_variable": "CHANNEL_OWNER",
|
"env_variable": "CHANNEL_OWNER",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:26"
|
"rules": "required|string|max:26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -55,17 +56,17 @@
|
|||||||
"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\/",
|
"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",
|
"env_variable": "BOT_OAUTH_TOKEN",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:64"
|
"rules": "required|string|max:64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Your OAuth Token",
|
"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\/",
|
"description": "Please note, this OAuth token needs to be generated while you're logged in into your caster account.\r\nIf you're not logged in as the caster, please go to https:\/\/twitch.tv\/ and login as the caster.\r\nGet the your OAuth token here: https:\/\/phantombot.github.io\/PhantomBot\/oauth\/",
|
||||||
"env_variable": "USER_OAUTH_TOKEN",
|
"env_variable": "USER_OAUTH_TOKEN",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:64"
|
"rules": "required|string|max:64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -73,8 +74,8 @@
|
|||||||
"description": "Please enter the bot's Twitch username",
|
"description": "Please enter the bot's Twitch username",
|
||||||
"env_variable": "BOT_TWITCH_USERNAME",
|
"env_variable": "BOT_TWITCH_USERNAME",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:26"
|
"rules": "required|string|max:26"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -82,8 +83,8 @@
|
|||||||
"description": "Please enter a custom username for the web panel",
|
"description": "Please enter a custom username for the web panel",
|
||||||
"env_variable": "WEBPANEL_USERNAME",
|
"env_variable": "WEBPANEL_USERNAME",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:64"
|
"rules": "required|string|max:64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -91,8 +92,8 @@
|
|||||||
"description": "Please enter a custom password for the web panel",
|
"description": "Please enter a custom password for the web panel",
|
||||||
"env_variable": "WEBPANEL_PASSWORD",
|
"env_variable": "WEBPANEL_PASSWORD",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:2000"
|
"rules": "required|string|max:2000"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -100,8 +101,8 @@
|
|||||||
"description": "https:\/\/community.phantom.bot\/t\/acquire-youtube-api-key\/222",
|
"description": "https:\/\/community.phantom.bot\/t\/acquire-youtube-api-key\/222",
|
||||||
"env_variable": "YOUTUBE_API_KEY",
|
"env_variable": "YOUTUBE_API_KEY",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "max:64"
|
"rules": "max:64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -109,8 +110,8 @@
|
|||||||
"description": "https:\/\/community.phantom.bot\/t\/discord-integration-setup\/64",
|
"description": "https:\/\/community.phantom.bot\/t\/discord-integration-setup\/64",
|
||||||
"env_variable": "DISCORD_BOT_TOKEN",
|
"env_variable": "DISCORD_BOT_TOKEN",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "max:64"
|
"rules": "max:64"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
# SogeBot
|
# SogeBot
|
||||||
### Their [Site](https://www.sogebot.xyz)
|
### Their [Site](https://www.sogebot.xyz)
|
||||||
sogBot is an actively developed open source interactive Twitch bot that provides entertainment and moderation for your channel,
|
sogeBot is an actively developed open source interactive Twitch bot that provides entertainment and moderation for your channel,
|
||||||
allowing you to focus on what matters the most to you - your game and your viewers.
|
allowing you to focus on what matters the most to you - your game and your viewers.
|
||||||
|
|
||||||
### Server Ports
|
### Server Ports
|
||||||
|
@ -1,38 +1,33 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-11-28T06:01:04+01:00",
|
"exported_at": "2021-08-04T05:39:15+03:00",
|
||||||
"name": "SogeBot",
|
"name": "SogeBot",
|
||||||
"author": "info@goover.de",
|
"author": "info@goover.de",
|
||||||
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
|
"description": "sogeBot - Free Twitch Bot built on Node.js https:\/\/sogebot.xyz\/",
|
||||||
"features": null,
|
"features": null,
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-14",
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-16"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "npm start",
|
"startup": "npm start",
|
||||||
"config": {
|
"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\": \"properties\",\r\n \"find\": {\r\n \"PORT\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
"startup": "{\r\n \"done\": \"WebPanel is available at\"\r\n}",
|
"startup": "{\r\n \"done\": \"WebPanel is available at\"\r\n}",
|
||||||
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
"logs": "{}",
|
||||||
"stop": "^C"
|
"stop": "^^C"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#\/bin\/bash\r\napt -y update\r\napt -y upgrade\r\napt install -y curl unzip sqlite jq wget python3 build-essential\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\n\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -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\n#echo $DOWNLOAD_LINK\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH-*.zip\r\nrm -fR $MATCH-*.zip\r\n\r\necho \"Installing depencies...\"\r\n\/usr\/local\/bin\/npm ci 2>&1 | tee npmlog.txt\r\n\r\nexit 0",
|
"script": "#\/bin\/bash\r\napt -y update\r\napt install -y curl unzip sqlite jq wget python3 build-essential\r\nexport NODE_OPTIONS=--max-old-space-size=8192\r\nMATCH=sogeBot\r\ncd \/mnt\/server\r\n\r\nrm -fR dest\r\nrm -fR public\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/sogehige\/sogeBot\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/sogehige\/sogeBot\/releases\")\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelse\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_LINK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_LINK=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\necho -e \"Downloading from $DOWNLOAD_LINK\"\r\nwget -N $DOWNLOAD_LINK\r\nunzip -o $MATCH-*.zip\r\nrm -fR $MATCH-*.zip\r\n\r\necho \"Installing dependencies, this will take some time so sit back and relax...\"\r\n\/usr\/local\/bin\/npm ci 2>&1 | tee npmlog.txt\r\n\r\nexit 0",
|
||||||
"container": "node:14-buster-slim",
|
"container": "node:16-buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"variables": [
|
"variables": [
|
||||||
{
|
|
||||||
"name": "Github Package",
|
|
||||||
"description": "the Github Package",
|
|
||||||
"env_variable": "GITHUB_PACKAGE",
|
|
||||||
"default_value": "sogehige\/sogeBot",
|
|
||||||
"user_viewable": true,
|
|
||||||
"user_editable": false,
|
|
||||||
"rules": "required|string|max:20"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"name": "Version",
|
"name": "Version",
|
||||||
"description": "Choose Version, you want to install. Default: Latest",
|
"description": "Choose Version, you want to install. Default: Latest",
|
||||||
@ -41,15 +36,6 @@
|
|||||||
"user_viewable": true,
|
"user_viewable": true,
|
||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20"
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "Filename",
|
|
||||||
"description": "Filename",
|
|
||||||
"env_variable": "MATCH",
|
|
||||||
"default_value": "sogeBot",
|
|
||||||
"user_viewable": true,
|
|
||||||
"user_editable": false,
|
|
||||||
"rules": "required|string|max:20"
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
@ -18,7 +18,7 @@
|
|||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"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\"",
|
"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",
|
"container": "postgres:13.1-alpine",
|
||||||
"entrypoint": "ash"
|
"entrypoint": "ash"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
160
game_eggs/README.md
Normal file
160
game_eggs/README.md
Normal file
@ -0,0 +1,160 @@
|
|||||||
|
## 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)
|
||||||
|
|
||||||
|
[Cryofall](cryofall/cryofall)
|
||||||
|
|
||||||
|
[Call of Duty 4X](cod/cod4x)
|
||||||
|
|
||||||
|
[ET Legacy](enemy_territory/etlegacy)
|
||||||
|
|
||||||
|
[FTL: Tachyon](ftl/tachyon)
|
||||||
|
|
||||||
|
[Factorio](factorio)
|
||||||
|
* [Vanilla](factorio/factorio)
|
||||||
|
* [ModUpdate](factorio/factorio-modupdate)
|
||||||
|
|
||||||
|
[Grand Theft Auto](gta)
|
||||||
|
* GTA V
|
||||||
|
* [FiveM](gta/fivem)
|
||||||
|
* [RageMP](gta/ragemp)
|
||||||
|
* [alt:V](gta/altv)
|
||||||
|
|
||||||
|
* GTA SA
|
||||||
|
* [Multi Theft Auto](gta/mtasa)
|
||||||
|
* [SA-MP](gta/samp)
|
||||||
|
|
||||||
|
* GTA
|
||||||
|
* [GTAC](gta/gtac)
|
||||||
|
|
||||||
|
[Mindustry](mindustry)
|
||||||
|
* [Mindustry](mindustry/mindustry)
|
||||||
|
|
||||||
|
[League Sandbox](leaguesandbox)
|
||||||
|
* [League Sandbox](leaguesandbox/leaguesandbox)
|
||||||
|
|
||||||
|
[Minetest](minetest) (including MTG)
|
||||||
|
* [Minetest](minetest/minetest)
|
||||||
|
|
||||||
|
[Minecraft](minecraft)
|
||||||
|
* [Bedrock](minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
|
||||||
|
* [Bedrock](minecraft/bedrock/bedrock)
|
||||||
|
* [gomint](minecraft/bedrock/gomint)
|
||||||
|
* [Nukkit](minecraft/bedrock/nukkit)
|
||||||
|
* [PocketMine MP](minecraft/bedrock/pocketmine_mp)
|
||||||
|
|
||||||
|
* [Java](minecraft/java) Servers for Java Minecraft
|
||||||
|
* [Airplane](minecraft/java/airplane)
|
||||||
|
* [Cuberite](minecraft/java/cuberite)
|
||||||
|
* [Fabric](minecraft/java/fabric)
|
||||||
|
* [Feather](minecraft/java/feather)
|
||||||
|
* [Feed The Beast](minecraft/java/ftb)
|
||||||
|
* [Forge](minecraft/java/forge)
|
||||||
|
* [Magma](minecraft/java/magma)
|
||||||
|
* [Mohist](minecraft/java/mohist)
|
||||||
|
* [Paper](minecraft/java/paper)
|
||||||
|
* [Purpur](minecraft/java/purpur)
|
||||||
|
* [Spigot](minecraft/java/spigot)
|
||||||
|
* [SpongeForge](minecraft/java/spongeforge)
|
||||||
|
* [SpongeVanilla](minecraft/java/spongevanilla)
|
||||||
|
* [Technic](minecraft/java/technic)
|
||||||
|
* [Tuinity](minecraft/java/tuinity)
|
||||||
|
* [VanillaCord](minecraft/java/vanillacord)
|
||||||
|
|
||||||
|
* [Proxies](minecraft/proxy) Minecraft Server Proxies
|
||||||
|
* [Java](minecraft/proxy/java)
|
||||||
|
* [FlameCord](minecraft/proxy/java/flamecord)
|
||||||
|
* [Travertine](minecraft/proxy/java/travertine)
|
||||||
|
* [TyphoonLimbo](minecraft/proxy/java/typhoonlimbo)
|
||||||
|
* [Velocity](minecraft/proxy/java/velocity)
|
||||||
|
* [Waterfall](minecraft/proxy/java/waterfall)
|
||||||
|
* [Cross Platform](minecraft/proxy/cross_platform)
|
||||||
|
* [GeyserMC](minecraft/proxy/cross_platform/geyser)
|
||||||
|
* [Waterdog](minecraft/proxy/cross_platform/waterdog)
|
||||||
|
|
||||||
|
[OpenArena](openarena)
|
||||||
|
* [openarena](openarena/openarena)
|
||||||
|
|
||||||
|
[OpenRA](openra)
|
||||||
|
* [OpenRA Dune2000](openra/openra_dune2000)
|
||||||
|
* [OpenRA Red Alert](openra/openra_red_alert)
|
||||||
|
* [OpenRA Tiberian Dawn](openra/openra_tiberian_dawn)
|
||||||
|
|
||||||
|
[Red Dead Redemption](rdr)
|
||||||
|
* [RedM](rdr/redm)
|
||||||
|
|
||||||
|
[SteamCMD Servers](steamcmd_servers) These eggs use SteamCMD to install
|
||||||
|
* [7 Days to Die](steamcmd_servers/7_days_to_die)
|
||||||
|
* [ARK: Survival Evolved](steamcmd_servers/ark_survival_evolved)
|
||||||
|
* [Arma](steamcmd_servers/arma)
|
||||||
|
* [Arma 3](steamcmd_servers/arma/arma3)
|
||||||
|
* [Assetto Corsa](steamcmd_servers/assetto_corsa)
|
||||||
|
* [Avorion](steamcmd_servers/avorion)
|
||||||
|
* [Barotrauma](steamcmd_servers/barotrauma)
|
||||||
|
* [Citadel: Forged with Fire](steamcmd_servers/citadel)
|
||||||
|
* [Conan Exiles](steamcmd_servers/conan_exiles)
|
||||||
|
* [Don't Starve Together](steamcmd_servers/dont_starve)
|
||||||
|
* [ECO](steamcmd_servers/eco)
|
||||||
|
* [Fistful of Frags](steamcmd_servers/fof)
|
||||||
|
* [HLDS Server](steamcmd_servers/hlds_server)
|
||||||
|
* [Holdfast: Nations At War](steamcmd_servers/holdfast)
|
||||||
|
* [Hurtworld](steamcmd_servers/hurtworld)
|
||||||
|
* [Insurgency: Sandstorm](steamcmd_servers/insurgency_sandstorm)
|
||||||
|
* [Killing Floor 2](steamcmd_servers/killing_floor_2)
|
||||||
|
* [Modiverse](steamcmd_servers/modiverse)
|
||||||
|
* [Mordhau](steamcmd_servers/mordhau)
|
||||||
|
* [No More Room in Hell](steamcmd_servers/nmrih)
|
||||||
|
* [Onset](steamcmd_servers/onset)
|
||||||
|
* [Pavlov VR](steamcmd_servers/pavlov_vr)
|
||||||
|
* [PixARK](steamcmd_servers/pixark)
|
||||||
|
* [Post Scriptum](steamcmd_servers/post_scriptum)
|
||||||
|
* [Project Zomboid](steamcmd_servers/project_zomboid)
|
||||||
|
* [Quake Live](steamcmd_servers/quake_live)
|
||||||
|
* [Rising World](steamcmd_servers/rising_world)
|
||||||
|
* [Risk Of Rain 2](steamcmd_servers/risk_of_rain_2)
|
||||||
|
* [Rust](steamcmd_servers/rust)
|
||||||
|
* [Autowipe](steamcmd_servers/rust/rust_autowipe)
|
||||||
|
* [Staging](steamcmd_servers/rust/rust_staging)
|
||||||
|
* [SCP: Secret Laboratory](steamcmd_servers/scpsl)
|
||||||
|
* [dedicated](steamcmd_servers/scpsl/dedicated)
|
||||||
|
* [multiadmin](steamcmd_servers/scpsl/multiadmin)
|
||||||
|
* [Soldat](steamcmd_servers/soldat)
|
||||||
|
* [Space Engineers](steamcmd_servers/space_engineers)
|
||||||
|
* [Squad](steamcmd_servers/squad)
|
||||||
|
* [Starbound](steamcmd_servers/starbound)
|
||||||
|
* [Stationeers](steamcmd_servers/stationeers)
|
||||||
|
* [Stormworks: Build and Rescue](steamcmd_servers/stormworks)
|
||||||
|
* [Subnautica: Nitrox Mod](steamcmd_servers/subnautica_nitrox_mod)
|
||||||
|
* [Sven Co-op](steamcmd_servers/svencoop)
|
||||||
|
* [The Forest](steamcmd_servers/the_forest)
|
||||||
|
* [Team Fortress 2 Classic](steamcmd_servers/team_fortress_2_classic)
|
||||||
|
* [Unturned](steamcmd_servers/unturned)
|
||||||
|
* [Valheim](steamcmd_servers/valheim)
|
||||||
|
* [Valheim Vanilla](steamcmd_servers/valheim/valheim_vanilla)
|
||||||
|
* [Valheim Plus Mod](steamcmd_servers/valheim/valheim_plus)
|
||||||
|
|
||||||
|
[Teeworlds](teeworlds)
|
||||||
|
* [Teeworlds](teeworlds/teeworlds)
|
||||||
|
|
||||||
|
[Terraria](terraria)
|
||||||
|
* [Vanilla](terraria/vanilla)
|
||||||
|
* [tModLoader](terraria/tmodloader)
|
||||||
|
* [TShock](terraria/tshock)
|
||||||
|
|
||||||
|
[Tycoon Games](tycoon_games)
|
||||||
|
* [OpenTTD](tycoon_games/openttd)
|
||||||
|
|
||||||
|
[Unreal Engine](unreal_engine)
|
||||||
|
* [Tower Unite](unreal_engine/tower_unite)
|
||||||
|
* [Tower Unite](steamcmd_servers/tower_unite)
|
||||||
|
|
||||||
|
[Veloren](veloren/veloren)
|
||||||
|
|
||||||
|
[Vintage Story](vintage_story/vintage_story)
|
||||||
|
|
||||||
|
[Xonotic](xonotic/xonotic)
|
7
game_eggs/among_us/README.md
Normal file
7
game_eggs/among_us/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Among Us
|
||||||
|
|
||||||
|
[CrewLink Server](crewlink_server)
|
||||||
|
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required.
|
||||||
|
|
||||||
|
[Impostor Server](impostor_server)
|
||||||
|
Impostor is one of the first Among Us private servers, written in C#.
|
7
game_eggs/among_us/crewlink_server/README.md
Normal file
7
game_eggs/among_us/crewlink_server/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
# Among Us - CrewLink Server
|
||||||
|
### From their [Github](https://github.com/ottomated/CrewLink)
|
||||||
|
|
||||||
|
This project implements proximity voice chat in Among Us. Everyone in an Among Us lobby with this program running will be able to communicate over voice in-game, with no third-party programs required. Spatial audio ensures that you can only hear people close to you.
|
||||||
|
|
||||||
|
### Server Port
|
||||||
|
Default port is 9736 but you can change to any port or domain/ip in the egg
|
82
game_eggs/among_us/crewlink_server/egg-crewlink-server.json
Normal file
82
game_eggs/among_us/crewlink_server/egg-crewlink-server.json
Normal file
@ -0,0 +1,82 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1"
|
||||||
|
},
|
||||||
|
"exported_at": "2020-12-16T20:11:55+01:00",
|
||||||
|
"name": "Crewlink server",
|
||||||
|
"author": "panel@oxtroit.com",
|
||||||
|
"description": "An egg designed to allow support for Proximity Chat in Among Us using CrewLink Server",
|
||||||
|
"features": null,
|
||||||
|
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_nodejs-12",
|
||||||
|
"startup": "yarn start",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"<info> CrewLink Server started\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^c"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y git\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nINSTALL_REPO=\"https:\/\/github.com\/ottomated\/crewlink-server.git\"\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\ncloning files from repo\"\r\necho -e \"running 'git clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .'\"\r\ngit clone --single-branch --branch ${BRANCH} ${INSTALL_REPO} .\r\n\r\nif [ -f \/mnt\/server\/package.json ]; then\r\n \/usr\/local\/bin\/yarn install\r\nfi\r\n\r\necho -e \"install complete\"\r\nexit 0",
|
||||||
|
"container": "node:12-buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Github branch",
|
||||||
|
"description": "Set this to 'devel' if you wanna run a develop server.",
|
||||||
|
"env_variable": "BRANCH",
|
||||||
|
"default_value": "master",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Domain",
|
||||||
|
"description": "Domain of your server or ip of your server",
|
||||||
|
"env_variable": "ADDRESS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server name",
|
||||||
|
"description": "Specifiy the name of your Crewlink server",
|
||||||
|
"env_variable": "NAME",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:75"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Use HTTPS",
|
||||||
|
"description": "Enables https. You must place privkey.pem and fullchain.pem in your CWD.",
|
||||||
|
"env_variable": "HTTPS",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Path to SSL",
|
||||||
|
"description": "Alternate path to SSL certificates.",
|
||||||
|
"env_variable": "SSLPATH",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:250"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Port",
|
||||||
|
"description": "Choose the port your server should run on",
|
||||||
|
"env_variable": "PORT",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -2,12 +2,11 @@
|
|||||||
### From their [Github](https://github.com/AeonLucid/Impostor)
|
### From their [Github](https://github.com/AeonLucid/Impostor)
|
||||||
|
|
||||||
Impostor is one of the first Among Us private servers, written in C#.
|
Impostor is one of the first Among Us private servers, written in C#.
|
||||||
The latest version supported is 2020.9.22, both desktop and mobile.
|
|
||||||
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.
|
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
|
### Install notes
|
||||||
|
|
||||||
You MUST use Port 22023, else you can't connect
|
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
|
### Server Ports
|
||||||
Ports required to run the server in a table format.
|
Ports required to run the server in a table format.
|
@ -0,0 +1,41 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-07-23T12:00:05+03:00",
|
||||||
|
"name": "Among Us - Impostor Server",
|
||||||
|
"author": "info@goover.de",
|
||||||
|
"description": "Impostor is one of the first Among Us private servers, written in C#.\r\n\r\nThe latest version supported is 2020.9.22, both desktop and mobile.\r\n\r\nThere are no special features at this moment, the goal is aiming to be as close as possible to the real server, for now. In a later stage, making modifications to game logic by modifying GameData packets can be looked at.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:debian_dotnet-5"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/Impostor.Server",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"Server.PublicPort\": \"{{server.build.default.port}}\",\r\n \"Server.ListenPort\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Matchmaker is listening on\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n\r\napt -y update\r\napt -y --no-install-recommends install wget curl jq unzip tar redis-server file ca-certificates apt-utils\r\nGITHUB_PACKAGE=Impostor\/Impostor\r\nexport HOME=\/mnt\/server\r\ncd $HOME\r\n\r\n## get release info and download links\r\nLATEST_RELEASE=$(curl -L -s -H 'Accept: application\/json' https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/latest)\r\necho -e \"Latest release is $LATEST_RELEASE\"\r\nLATEST_VERSION_TAG=$(echo $LATEST_RELEASE | sed -e 's\/.*\"tag_name\":\"\\([^\"]*\\)\".*\/\\1\/')\r\n\r\n# Remove the first letter v from the version tag that is not present in the download URL\r\nLATEST_VERSION=$(echo $LATEST_VERSION_TAG | cut -c 2-)\r\n\r\nif [ -z \"${VERSION}\" ] || [ \"${VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/v$LATEST_VERSION\/Impostor-Server_${LATEST_VERSION}_linux-x64.tar.gz\"\r\nelse \r\n DOWNLOAD_LINK=\"https:\/\/github.com\/${GITHUB_PACKAGE}\/releases\/download\/v$VERSION\/Impostor-Server_${VERSION}_linux-x64.tar.gz\"\r\nfi\r\n\r\necho -e \"\\nDownloading from $DOWNLOAD_LINK\"\r\ncurl -L $DOWNLOAD_LINK -o Impostor-Server-linux-x64.tar.gz\r\n\r\ntar xvf Impostor-Server-linux-x64.tar.gz\r\nrm Impostor-Server-linux-x64.tar.gz\r\nchmod +x Impostor.Server\r\n\r\necho -e \"\\nInstall completed\"",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Download Version",
|
||||||
|
"description": "Version to Download. Leave latest for the latest release.\r\n\r\nFind all releases at https:\/\/github.com\/Impostor\/Impostor\/releases",
|
||||||
|
"env_variable": "VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:30"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
6
game_eggs/beamng/README.md
Normal file
6
game_eggs/beamng/README.md
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
# BeamMP
|
||||||
|
|
||||||
|
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
|
||||||
|
|
||||||
|
* [BeamMP Server](beammp)
|
||||||
|
* [KissMP](kissmp)
|
7
game_eggs/beamng/beammp/README.md
Normal file
7
game_eggs/beamng/beammp/README.md
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
# BeamMP
|
||||||
|
|
||||||
|
BeamMP Bringing Multiplayer to BeamNG.drive! With a smooth and enjoyable experience.
|
||||||
|
|
||||||
|
* [BeamMP Server](game_eggs/beamng/beammp)
|
||||||
|
* [KissMP](game_eggs/beamng/kissmp)
|
59
game_eggs/beamng/beammp/beammp.json
Normal file
59
game_eggs/beamng/beammp/beammp.json
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-04-17T15:17:54-04:00",
|
||||||
|
"name": "BeamMP Servers",
|
||||||
|
"author": "noah@noahserver.online",
|
||||||
|
"description": "This is the server for the multiplayer mod BeamMP for the game BeamNG.drive. The server is the point throug which all clients communicate. You can write lua mods for the server, detailed instructions on the BeamMP Wiki.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/BeamMP-Server",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"Server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"MaxPlayers\": \"MaxPlayers = {{server.build.env.MAX_PLAYER}}\",\r\n \"Port\": \"Port = {{server.build.default.port}}\",\r\n \"AuthKey =\": \"AuthKey = \\\"{{env.AUTH}}\\\"\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"[INFO] Vehicle data network online\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "cd \/mnt\/server\r\n\r\nrm -f BeamMP-Server\r\n\r\napt update -y\r\napt install -y curl\r\ncurl -LJO https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases\/download\/${VERSION}\/BeamMP-Server-linux\r\nmv BeamMP-Server-linux BeamMP-Server\r\nchmod +x BeamMP-Server\r\n\r\necho \"# This is the BeamMP Server Configuration File v0.60\r\nDebug = false # true or false to enable debug console output\r\nPrivate = true # Private?\r\nPort = 30814 # Port to run the server on UDP and TCP\r\nCars = 1 # Max cars for every player\r\nMaxPlayers = 10 # Maximum Amount of Clients\r\nMap = \\\"\/levels\/gridmap\/info.json\\\" # Default Map\r\nName = \\\"BeamMP New Server\\\" # Server Name\r\nDesc = \\\"BeamMP Default Description\\\" # Server Description\r\nuse = \\\"Resources\\\" # Resource file name\r\nAuthKey = \\\"\\\" # Auth Key\" > Server.cfg",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Version",
|
||||||
|
"description": "Github Server Version, to see all versions visit https:\/\/github.com\/BeamMP\/BeamMP-Server\/releases",
|
||||||
|
"env_variable": "VERSION",
|
||||||
|
"default_value": "v2.0.3",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:32"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Authentication Key",
|
||||||
|
"description": "BeamMP Server Key (https:\/\/beamng-mp.com\/k\/keys)",
|
||||||
|
"env_variable": "AUTH",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:50"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Max Players",
|
||||||
|
"description": "The maximum number of allowed players",
|
||||||
|
"env_variable": "MAX_PLAYER",
|
||||||
|
"default_value": "6",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:32"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
5
game_eggs/beamng/kissmp/README.md
Normal file
5
game_eggs/beamng/kissmp/README.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# BeamNG.drive - KISS Multiplayer
|
||||||
|
|
||||||
|
### From their [Github](https://github.com/TheHellBox/KISS-multiplayer)
|
||||||
|
|
||||||
|
Server settings such as the map can be changed in the `config.json` file. Port is automatically set on each boot.
|
27
game_eggs/beamng/kissmp/egg-kissmp.json
Normal file
27
game_eggs/beamng/kissmp/egg-kissmp.json
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1"
|
||||||
|
},
|
||||||
|
"exported_at": "2021-02-15T20:05:24+00:00",
|
||||||
|
"name": "KissMP Server",
|
||||||
|
"author": "me@weilbyte.dev",
|
||||||
|
"description": "Server for the KISS Multiplayer BeamNG.drive mod",
|
||||||
|
"features": null,
|
||||||
|
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
||||||
|
"startup": ".\/kissmp-server",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"config.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Server is running!\",\r\n \"userInteraction\": []\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "^C"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Server Files: \/mnt\/server\r\napt update \r\napt install -y wget unzip \r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\nLATEST_RELEASE=$(wget -qO- https:\/\/api.github.com\/repos\/TheHellBox\/KISS-multiplayer\/releases\/latest | grep browser_download_url | cut -d '\"' -f 4)\r\necho -e Install repo set to ${INSTALL_REPO}\r\necho -e \"\/mnt\/server is empty.\\nDownloading latest release ${LATEST_RELEASE}\"\r\n\r\nwget $LATEST_RELEASE -O kissmp.zip\r\nunzip -j kissmp.zip '*\/kissmp-server'\r\n\r\nrm -rf kissmp.zip\r\n\r\nif [ -f \/mnt\/server\/kissmp-server ]; then\r\n echo -e \"Install complete\"\r\n chmod +x \/mnt\/server\/kissmp-server\r\n \r\n # Generate config\r\n .\/kissmp-server & serverpid=$! \r\n sleep 1\r\n kill $serverpid\r\n \r\n exit 0\r\nelse \r\n echo -e \"Install failed (no \/mnt\/server\/kissmp-server file present)\"\r\n exit 1\r\nfi",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": []
|
||||||
|
}
|
154
game_eggs/cod/cod4x/README.md
Normal file
154
game_eggs/cod/cod4x/README.md
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
# Call of Duty 4X
|
||||||
|
|
||||||
|
## Game files mounting
|
||||||
|
The server does **not** contain the base game files, but they are necessary to use the server.
|
||||||
|
|
||||||
|
While the server itself is open-source, the game files are copyrighted and you will need to own a legitimate copy of the game (Call of Duty 4: Modern Warfare)
|
||||||
|
in order to provide the game files to the server.
|
||||||
|
|
||||||
|
More information here: https://github.com/callofduty4x/CoD4x_Server#setting-up-a-call-of-duty-4-server-with-cod4x-18
|
||||||
|
|
||||||
|
### Correctly mounting the game files
|
||||||
|
In order to give the server access to the needed game files you will need to create a new mount.
|
||||||
|
|
||||||
|
Let's say you copied the game files to your node into the directory `/home/pterodactyl/serverfiles/cod4x` (you can choose any directory you want of course).
|
||||||
|
The directory structure will look like this: <details>
|
||||||
|
|
||||||
|
```
|
||||||
|
/home/pterodactyl/serverfiles/cod4x
|
||||||
|
├── main
|
||||||
|
│ ├── iw_00.iwd
|
||||||
|
│ ├── iw_01.iwd
|
||||||
|
│ ├── iw_02.iwd
|
||||||
|
│ ├── iw_03.iwd
|
||||||
|
│ ├── iw_04.iwd
|
||||||
|
│ ├── iw_05.iwd
|
||||||
|
│ ├── iw_06.iwd
|
||||||
|
│ ├── iw_07.iwd
|
||||||
|
│ ├── iw_08.iwd
|
||||||
|
│ ├── iw_09.iwd
|
||||||
|
│ ├── iw_10.iwd
|
||||||
|
│ ├── iw_11.iwd
|
||||||
|
│ ├── iw_12.iwd
|
||||||
|
│ ├── iw_13.iwd
|
||||||
|
│ ├── localized_english_iw00.iwd
|
||||||
|
│ ├── localized_english_iw01.iwd
|
||||||
|
│ ├── localized_english_iw02.iwd
|
||||||
|
│ ├── localized_english_iw03.iwd
|
||||||
|
│ ├── localized_english_iw04.iwd
|
||||||
|
│ ├── localized_english_iw05.iwd
|
||||||
|
│ └── localized_english_iw06.iwd
|
||||||
|
└── zone
|
||||||
|
└── english
|
||||||
|
├── ac130.ff
|
||||||
|
├── aftermath.ff
|
||||||
|
├── airlift.ff
|
||||||
|
├── airplane.ff
|
||||||
|
├── ambush.ff
|
||||||
|
├── armada.ff
|
||||||
|
├── blackout.ff
|
||||||
|
├── bog_a.ff
|
||||||
|
├── bog_b.ff
|
||||||
|
├── cargoship.ff
|
||||||
|
├── code_post_gfx.ff
|
||||||
|
├── code_post_gfx_mp.ff
|
||||||
|
├── common.ff
|
||||||
|
├── common_mp.ff
|
||||||
|
├── coup.ff
|
||||||
|
├── hunted.ff
|
||||||
|
├── icbm.ff
|
||||||
|
├── jeepride.ff
|
||||||
|
├── killhouse.ff
|
||||||
|
├── launchfacility_a.ff
|
||||||
|
├── launchfacility_b.ff
|
||||||
|
├── localized_code_post_gfx_mp.ff
|
||||||
|
├── localized_common_mp.ff
|
||||||
|
├── mp_backlot.ff
|
||||||
|
├── mp_backlot_load.ff
|
||||||
|
├── mp_bloc.ff
|
||||||
|
├── mp_bloc_load.ff
|
||||||
|
├── mp_bog.ff
|
||||||
|
├── mp_bog_load.ff
|
||||||
|
├── mp_broadcast.ff
|
||||||
|
├── mp_broadcast_load.ff
|
||||||
|
├── mp_carentan.ff
|
||||||
|
├── mp_carentan_load.ff
|
||||||
|
├── mp_cargoship.ff
|
||||||
|
├── mp_cargoship_load.ff
|
||||||
|
├── mp_citystreets.ff
|
||||||
|
├── mp_citystreets_load.ff
|
||||||
|
├── mp_convoy.ff
|
||||||
|
├── mp_convoy_load.ff
|
||||||
|
├── mp_countdown.ff
|
||||||
|
├── mp_countdown_load.ff
|
||||||
|
├── mp_crash.ff
|
||||||
|
├── mp_crash_load.ff
|
||||||
|
├── mp_crash_snow.ff
|
||||||
|
├── mp_crash_snow_load.ff
|
||||||
|
├── mp_creek.ff
|
||||||
|
├── mp_creek_load.ff
|
||||||
|
├── mp_crossfire.ff
|
||||||
|
├── mp_crossfire_load.ff
|
||||||
|
├── mp_farm.ff
|
||||||
|
├── mp_farm_load.ff
|
||||||
|
├── mp_killhouse.ff
|
||||||
|
├── mp_killhouse_load.ff
|
||||||
|
├── mp_overgrown.ff
|
||||||
|
├── mp_overgrown_load.ff
|
||||||
|
├── mp_pipeline.ff
|
||||||
|
├── mp_pipeline_load.ff
|
||||||
|
├── mp_shipment.ff
|
||||||
|
├── mp_shipment_load.ff
|
||||||
|
├── mp_showdown.ff
|
||||||
|
├── mp_showdown_load.ff
|
||||||
|
├── mp_strike.ff
|
||||||
|
├── mp_strike_load.ff
|
||||||
|
├── mp_vacant.ff
|
||||||
|
├── mp_vacant_load.ff
|
||||||
|
├── scoutsniper.ff
|
||||||
|
├── simplecredits.ff
|
||||||
|
├── sniperescape.ff
|
||||||
|
├── ui.ff
|
||||||
|
├── ui_mp.ff
|
||||||
|
├── village_assault.ff
|
||||||
|
└── village_defend.ff
|
||||||
|
|
||||||
|
3 directories, 93 files
|
||||||
|
```
|
||||||
|
</details>
|
||||||
|
|
||||||
|
First of all add the directory of the mount to the config.yml (in `/etc/pterodactyl`) of your node.
|
||||||
|
```
|
||||||
|
allowed_mounts:
|
||||||
|
- /home/pterodactyl/serverfiles
|
||||||
|
```
|
||||||
|
After you've done this, restart wings with `systemctl restart wings`.
|
||||||
|
|
||||||
|
Now you simply create a mount in the Pterodactyl Panel with the following settings:
|
||||||
|
1. Set the source to `/home/pterodactyl/serverfiles/cod4x`
|
||||||
|
2. Set the target to any directory you want (but not something in `/home/container`, I suggest something like `/mnt/gamefiles/cod4`)
|
||||||
|
3. Set read-only to "true" ("false" will also work, but then you risk that one instance overwrites files for all other instances)
|
||||||
|
4. For the rest of the settings you can decide what works best for you
|
||||||
|
5. Create the mount
|
||||||
|
6. Add the correct node to the list of nodes for the mount
|
||||||
|
7. Add the CoD4X egg to the list of eggs for the mount
|
||||||
|
|
||||||
|
### Correctly configuring the servers
|
||||||
|
In order for the server to find the game files you have to set "Game file path" variable in the server to the same directory that you used in the "target" field of the mount.
|
||||||
|
When you start the server for the first time it will prompt you to mount the game files under the configured path.
|
||||||
|
1. In the admin interface open your server
|
||||||
|
2. Go to the tab "Mounts"
|
||||||
|
3. Klick on the green "+" button on the correct mount in order to mount the game files
|
||||||
|
4. Restart the server
|
||||||
|
|
||||||
|
|
||||||
|
**Congratulations!** Your server should be able to find the game files and start.
|
||||||
|
|
||||||
|
## Default Server Ports
|
||||||
|
The default is 28960, but the server will automatically use the port defined in the allocation.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|---------|---------|
|
||||||
|
| Game | 28960 |
|
||||||
|
|
||||||
|
#### Plugins may require ports to be added to the server.
|
104
game_eggs/cod/cod4x/egg-call-of-duty4-x.json
Normal file
104
game_eggs/cod/cod4x/egg-call-of-duty4-x.json
Normal file
@ -0,0 +1,104 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-05-04T10:23:27+02:00",
|
||||||
|
"name": "Call of Duty 4X",
|
||||||
|
"author": "admin@grimsi.de",
|
||||||
|
"description": "A client and server modification for Call of Duty 4: Modern Warfare with the aim to fix bugs and enhance gameplay!",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "if [ ! -d \"{{GAME_FILE_PATH}}\" ]; then echo \"CoD 4 game files not found. Maybe they are not mounted?\"; echo \"In order for the server to start mount the game files here: {{GAME_FILE_PATH}}\"; while true; do sleep 2; done; fi; .\/cod4x18_dedrun +exec server.cfg +set dedicated \"{{SERVER_NETWORK_MODE}}\" +set sv_maxclients \"{{MAX_PLAYERS}}\" +set net_ip 0.0.0.0 +set net_port \"{{SERVER_PORT}}\" +set fs_basepath \"{{GAME_FILE_PATH}}\" +set fs_homepath . +map_rotate",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"main\/server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_NAME}}\\\"\",\r\n \"rcon_password\": \"rcon_password \\\"{{server.build.env.ADMIN_PASSWORD}}\\\"\",\r\n \"g_password\": \"g_password \\\"{{server.build.env.SERVER_PASSWORD}}\\\"\",\r\n \"sv_authtoken\": \"sv_authtoken \\\"{{server.build.env.SERVER_AUTH_TOKEN}}\\\"\",\r\n \"sv_mapRotation\": \"sv_mapRotation \\\"{{server.build.env.MAP_ROTATION}}\\\"\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"By using this software you agree to the usage conditions\",\r\n \"userInteraction\": []\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "quit"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/ash\r\n# CoD 4X Installation script\r\n#\r\n# Server Files: \/mnt\/server\r\n\r\nDOWNLOAD_LINK=https:\/\/cod4x.me\/downloads\/cod4x_server-linux.zip\r\n\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\/\r\n\r\n## this is a simple script to validate a download url actually exists and is reachable\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}; then\r\n echo -e \"Download-URL is reachable.\"\r\n else \r\n echo -e \"Could not reach ${DOWNLOAD_LINK}.\"\r\n echo -e \"Aborting installation...\"\r\n exit 1\r\n fi\r\nfi\r\n\r\n# Download the server binaries\r\necho -e \"running 'curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}'\" \r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip ${DOWNLOAD_LINK##*\/}\r\n\r\necho -e \"Moving server files to \/mnt\/server\"\r\nmv .\/cod4x-linux-server\/* .\r\n\r\necho -e \"Cleaning up downloaded files.\"\r\nrm ${DOWNLOAD_LINK##*\/}\r\nrm -rf .\/cod4x-linux-server\r\n\r\necho -e \"Installing required runtime libs.\"\r\nmv .\/runtime\/libstdc++.so.6 .\r\n\r\necho -e \"Generating config file\"\r\ncat <<EOF > .\/main\/server.cfg\r\nsv_hostname \"${SERVER_NAME}\"\r\ng_password \"${SERVER_PASSWORD}\"\r\nrcon_password \"${ADMIN_PASSWORD}\"\r\n\r\nsv_punkbuster \"0\"\r\nsv_cheats \"0\"\r\nsv_voice \"0\"\r\nscr_teambalance \"1\"\r\ng_allowvote \"1\"\r\n\r\nsv_authorizemode \"0\"\r\nsv_authtoken \"${SERVER_AUTH_TOKEN}\"\r\n\r\nsv_floodProtect \"1\"\r\n\r\nsv_mapRotation \"${MAP_ROTATION}\"\r\nEOF\r\n\r\necho -e \"running 'chmod +x .\/cod4x18_dedrun'\"\r\nchmod +x .\/cod4x18_dedrun\r\n\r\necho -e \"Installation complete\"",
|
||||||
|
"container": "quay.io\/matthewp\/pterodactyl:alpine-install",
|
||||||
|
"entrypoint": "ash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Server Name",
|
||||||
|
"description": "Hostname of the server.",
|
||||||
|
"env_variable": "SERVER_NAME",
|
||||||
|
"default_value": "Pterodactyl CoD 4X Server",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Password",
|
||||||
|
"description": "Password of the server.",
|
||||||
|
"env_variable": "SERVER_PASSWORD",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Admin Password",
|
||||||
|
"description": "RCON password for the server.",
|
||||||
|
"env_variable": "ADMIN_PASSWORD",
|
||||||
|
"default_value": "password123",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|min:8|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Slots",
|
||||||
|
"description": "Amount of players that can play on the server.",
|
||||||
|
"env_variable": "MAX_PLAYERS",
|
||||||
|
"default_value": "32",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|digits_between:1,3|min:1"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Game File Path",
|
||||||
|
"description": "Path to the CoD 4 game files (has to be the same as the \"target\" of the mount)",
|
||||||
|
"env_variable": "GAME_FILE_PATH",
|
||||||
|
"default_value": "\/mnt\/gamefiles\/cod4",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:40"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Map Rotation",
|
||||||
|
"description": "Map rotation in Quake format.",
|
||||||
|
"env_variable": "MAP_ROTATION",
|
||||||
|
"default_value": "gametype war map mp_crossfire",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:1000"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Network Mode",
|
||||||
|
"description": "1 for LAN only, 2 for public",
|
||||||
|
"env_variable": "SERVER_NETWORK_MODE",
|
||||||
|
"default_value": "1",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|digits:1|min:1|max:2"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Authentication Token",
|
||||||
|
"description": "Token needed to list your server on the public masterserver. Generate here: https:\/\/cod4master.cod4x.me\/index.php?token_generator=true",
|
||||||
|
"env_variable": "SERVER_AUTH_TOKEN",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|size:40"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-10-17T02:36:40+00:00",
|
"exported_at": "2021-01-22T16:39:06+01:00",
|
||||||
"name": "CryoFall",
|
"name": "CryoFall",
|
||||||
"author": "contact@zennodes.dk",
|
"author": "contact@zennodes.dk",
|
||||||
"description": "NOTE: For now you have to change SettingsServer.xml under CryoFall_Server_v(Version)_NetCore\/Data\/SettingsServer.xml\r\n\r\nCryoFall is a sci-fi multiplayer colony simulation survival game set on a forgotten planet in a distant future.\r\n\r\nJoin the vast world of CryoFall together with other survivors to rebuild your civilization from scratch. Start with primitive technology and simple tools and use them to progress towards modern industrial might and even beyond, eventually reaching space-age technology only seen in science fiction.\r\n\r\nCryoFall can be played either as a relaxed PvE experience with no competition or as a brutal and unforgiving PvP. Make your choice and join one of many available servers with different game modes or host your own and invite your friends to join you!\r\n\r\nBuild your house or a large base together with other players. Dig wells and create farms to sustain basic needs. Build vehicles to explore the world faster. Establish basics of science, all the way from medicine and chemistry to fuel creation and even lithium extraction to create electronic devices. Cook food or prepare drinks to sell them from vending machines in your store.\r\n\r\nBuild factories to produce on an industrial scale: Weapons and defense systems, bionic implants to augment yourself, even large war machines and artillery guns to use against the biggest of opponents",
|
"description": "NOTE: For now you have to change SettingsServer.xml under CryoFall_Server_v(Version)_NetCore\/Data\/SettingsServer.xml\r\n\r\nCryoFall is a sci-fi multiplayer colony simulation survival game set on a forgotten planet in a distant future.\r\n\r\nJoin the vast world of CryoFall together with other survivors to rebuild your civilization from scratch. Start with primitive technology and simple tools and use them to progress towards modern industrial might and even beyond, eventually reaching space-age technology only seen in science fiction.\r\n\r\nCryoFall can be played either as a relaxed PvE experience with no competition or as a brutal and unforgiving PvP. Make your choice and join one of many available servers with different game modes or host your own and invite your friends to join you!\r\n\r\nBuild your house or a large base together with other players. Dig wells and create farms to sustain basic needs. Build vehicles to explore the world faster. Establish basics of science, all the way from medicine and chemistry to fuel creation and even lithium extraction to create electronic devices. Cook food or prepare drinks to sell them from vending machines in your store.\r\n\r\nBuild factories to produce on an industrial scale: Weapons and defense systems, bionic implants to augment yourself, even large war machines and artillery guns to use against the biggest of opponents",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_dotnet",
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:debian_dotnet-5"
|
||||||
|
],
|
||||||
|
"file_denylist": "",
|
||||||
"startup": "dotnet Binaries\/Server\/CryoFall_Server.dll loadOrNew",
|
"startup": "dotnet Binaries\/Server\/CryoFall_Server.dll loadOrNew",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
@ -1,7 +1,8 @@
|
|||||||
# Factorio
|
# 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
|
||||||
|
|
@ -0,0 +1,121 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-01-15T16:32:57+01:00",
|
||||||
|
"name": "Factorio-ModUpdate",
|
||||||
|
"author": "tueye@tuworld.de",
|
||||||
|
"description": "The vanilla Factorio server. With automatic Mod Updates after ReInstall.\r\n\r\nhttps:\/\/www.factorio.com\/",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"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 \"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 python3 python3-requests jq\r\n\r\nlatest_ModUpdate=$(curl --silent \"https:\/\/api.github.com\/repos\/pdemonaco\/factorio-mod-updater\/tags\" | jq -r '.[0].name')\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\r\n\r\n# Download Mod Updater\r\necho -e \"\\n running 'curl -sL https:\/\/github.com\/pdemonaco\/factorio-mod-updater\/archive\/${latest_ModUpdate}.tar.gz -o factorio-MU-${latest_ModUpdate}' \\n\"\r\n\r\ncurl -sL https:\/\/github.com\/pdemonaco\/factorio-mod-updater\/archive\/${latest_ModUpdate}.tar.gz -o factorio-MU-${latest_ModUpdate}\r\n\r\ntar -xf factorio-MU-${latest_ModUpdate} -C \/mnt\/server\r\n\r\nrm factorio-MU-${latest_ModUpdate}\r\n\r\n# Run Mod Updater\r\n.\/factorio-mod-updater-${latest_ModUpdate}\/mod_updater.py -s \/mnt\/server\/data\/server-settings.json -m \/mnt\/server\/mods --fact-path \/mnt\/server\/bin\/x64\/factorio --update",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Factorio Version",
|
||||||
|
"description": "Which version of Factorio to install and use.",
|
||||||
|
"env_variable": "FACTORIO_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|between:3,12"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"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"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
15
game_eggs/ftl/tachyon/README.MD
Normal file
15
game_eggs/ftl/tachyon/README.MD
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Tachyon
|
||||||
|
|
||||||
|
Tachyon is a multiplayer FTL server and client.
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
|
||||||
|
The Tachyon server requires a single port for access.
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|-------|---------|
|
||||||
|
| Game | 30303 |
|
||||||
|
|
||||||
|
## Server Specific
|
||||||
|
|
||||||
|
Latest client and standalone server can be found at https://github.com/Dav-Edward/TachyonsCE/releases
|
31
game_eggs/ftl/tachyon/egg-tachyon.json
Normal file
31
game_eggs/ftl/tachyon/egg-tachyon.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-02-09T11:53:05-08:00",
|
||||||
|
"name": "Tachyon",
|
||||||
|
"author": "alex.chang-lam@protonmail.com",
|
||||||
|
"description": "A multiplayer version of FTL.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/pterodactyl\/core:java-11"
|
||||||
|
],
|
||||||
|
"file_denylist": "",
|
||||||
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar TachyonsCEServer.jar",
|
||||||
|
"config": {
|
||||||
|
"files": "{}",
|
||||||
|
"startup": "{\r\n \"done\": \"[Server] SERVER STARTED.\",\r\n \"userInteraction\": []\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "\/exit"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=Dav-Edward\/TachyonsCE\r\nMATCH=TachyonsCE\r\n\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" != \"Not Found\" ] && [[ -z \"${VERSION}\" || \"${VERSION}\" == \"latest\" ]]; then\r\n echo -e \"grabbing latest version\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url | grep -i ${MATCH})\r\nelif [ \"$(echo ${LATEST_JSON} | jq -r '.message')\" == \"Not Found\" ]; then\r\n ## emergency fallback if latest isn't found\r\n ## grabs the latest release even it it's a pre-release\r\n echo -e \"grabbing latest pre-release\"\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r '.[0].assets[].browser_download_url' | grep -i ${MATCH})\r\nelse\r\n echo -e \"grabbing version $VERSION\"\r\n VERSION_CHECK=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .tag_name')\r\n if [ \"${VERSION}\" == \"${VERSION_CHECK}\" ]; then\r\n DOWNLOAD_URL=$(echo ${RELEASES} | jq -r --arg VERSION \"${VERSION}\" '.[] | select(.tag_name==$VERSION) | .assets[].browser_download_url' | grep -i ${MATCH})\r\n else\r\n echo -e \"defaulting to latest release\"\r\n DOWNLOAD_URL=$(echo ${LATEST_JSON} | jq .assets | jq -r .[].browser_download_url)\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -o ${VALIDATED_URL##*\/} ${VALIDATED_URL}\r\n\r\nFILETYPE=$(file -F ',' ${VALIDATED_URL##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${VALIDATED_URL##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\n#pull version and format folder name for renaming\r\nFOLDER=$(echo ${LATEST_JSON} | jq .tag_name | tr -d 'v\"')\r\n\r\n#move all server files out\r\ncp -r .\/TachyonsCE_${FOLDER}\/server\/* \/mnt\/server\r\n\r\n#remove zip and unneeded client-side and dev files\r\nrm -rf TachyonsCE_${FOLDER}\r\nrm ${VALIDATED_URL##*\/}\r\n\r\nchmod +x TachyonsCEServer.jar",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": []
|
||||||
|
}
|
@ -18,3 +18,8 @@ SA-MP is a free Massively Multiplayer Online game mod for the PC version of Rock
|
|||||||
|
|
||||||
[MTA SA](https://mtasa.com/)
|
[MTA SA](https://mtasa.com/)
|
||||||
What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.
|
What more could you want? Multi Theft Auto provides the best online Grand Theft Auto experience there is. Read on to find out more.
|
||||||
|
|
||||||
|
## GTAC
|
||||||
|
|
||||||
|
[GTAC](https://gtaconnected.com/)
|
||||||
|
The Grand Theft Auto Connected is a custom scriptable multiplayer modification for multiple Grand Theft Auto games.
|
68
game_eggs/gta/altv/egg-alt--v.json
Normal file
68
game_eggs/gta/altv/egg-alt--v.json
Normal file
File diff suppressed because one or more lines are too long
@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-09-22T16:57:32-04:00",
|
"exported_at": "2021-07-02T03:50:53+03:00",
|
||||||
"name": "FiveM",
|
"name": "FiveM",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
|
"description": "A new FiveM egg for the latest builds due to recent changes in FiveM",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )",
|
"startup": "$(pwd)\/alpine\/opt\/cfx-server\/ld-musl-x86_64.so.1 --library-path \"$(pwd)\/alpine\/usr\/lib\/v8\/:$(pwd)\/alpine\/lib\/:$(pwd)\/alpine\/usr\/lib\/\" -- $(pwd)\/alpine\/opt\/cfx-server\/FXServer +set citizen_dir $(pwd)\/alpine\/opt\/cfx-server\/citizen\/ +set sv_licenseKey {{FIVEM_LICENSE}} +set steam_webApiKey {{STEAM_WEBAPIKEY}} +set sv_maxplayers {{MAX_PLAYERS}} +set serverProfile default +set txAdminPort {{TXADMIN_PORT}} $( [ \"$TXADMIN_ENABLE\" == \"1\" ] || printf %s '+exec server.cfg' )",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"server.cfg\": {\r\n \"parser\": \"file\",\r\n \"find\": {\r\n \"endpoint_add_tcp\": \"endpoint_add_tcp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"endpoint_add_udp\": \"endpoint_add_udp \\\"0.0.0.0:{{server.build.default.port}}\\\"\",\r\n \"sv_hostname\": \"sv_hostname \\\"{{server.build.env.SERVER_HOSTNAME}}\\\"\",\r\n \"set sv_licenseKey\": \"set sv_licenseKey {{server.build.env.FIVEM_LICENSE}}\",\r\n \"set steam_webApiKey\": \"set steam_webApiKey {{server.build.env.STEAM_WEBAPIKEY}}\",\r\n \"sv_maxclients\": \"sv_maxclients {{server.build.env.MAX_PLAYERS}}\"\r\n }\r\n }\r\n}",
|
||||||
@ -17,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"",
|
"script": "#!\/bin\/ash\r\n# FiveM Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update -y\r\napt install -y tar xz-utils curl git file\r\n\r\nmkdir -p \/mnt\/server\/resources\r\n\r\ncd \/mnt\/server\r\n\r\necho \"updating citizenfx resource files\"\r\ngit clone https:\/\/github.com\/citizenfx\/cfx-server-data.git \/tmp\r\ncp -Rf \/tmp\/resources\/* resources\/ \r\n\r\nRELEASE_PAGE=$(curl -sSL https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/)\r\n\r\nif [ \"${FIVEM_VERSION}\" == \"latest\" ] || [ -z ${FIVEM_VERSION} ] ; then\r\n LATEST_RECOMMENDED=$(echo -e \"${RELEASE_PAGE}\" | grep \"LATEST RECOMMENDED\" -B1 | grep -Eo '\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep -P '\\d{4}-\\S{40}\\\/fx\\.tar\\.xz')\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${LATEST_RECOMMENDED})\r\nelse\r\n VERSION_LINK=$(echo -e \"${RELEASE_PAGE}\" | grep -Eo 'href=\".*\/*.tar.xz\"' | grep -Eo '\".*\"' | sed 's\/\\\"\/\/g' | sed 's\/\\.\\\/\/\/1' | grep ${FIVEM_VERSION})\r\n if [ \"${VERSION_LINK}\" == \"\" ]; then\r\n echo -e \"defaulting to latest as the version requested was invalid.\"\r\n else\r\n DOWNLOAD_LINK=$(echo https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/${VERSION_LINK})\r\n fi\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\necho -e \"Running curl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\"\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} -o ${DOWNLOAD_LINK##*\/}\r\n\r\necho \"Extracting fivem files\"\r\n\r\nFILETYPE=$(file -F ',' ${DOWNLOAD_LINK##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${DOWNLOAD_LINK##*\/}\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${DOWNLOAD_LINK##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n exit 2 \r\nfi\r\n\r\nrm -rf ${DOWNLOAD_LINK##*\/} run.sh\r\n\r\nif [ -e server.cfg ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default fivem config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/fivem\/server.cfg >> server.cfg\r\nfi\r\n\r\nmkdir logs\/\r\n\r\necho \"install complete\"",
|
||||||
"container": "debian:buster-slim",
|
"container": "debian:buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -28,35 +33,35 @@
|
|||||||
"description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/",
|
"description": "Required to start the service. Get your keys at https:\/\/keymaster.fivem.net\/",
|
||||||
"env_variable": "FIVEM_LICENSE",
|
"env_variable": "FIVEM_LICENSE",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:32"
|
"rules": "required|string|max:33"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Max Players",
|
"name": "Max Players",
|
||||||
"description": "Set the fivem max play count",
|
"description": "Set the fivem max play count",
|
||||||
"env_variable": "MAX_PLAYERS",
|
"env_variable": "MAX_PLAYERS",
|
||||||
"default_value": "32",
|
"default_value": "48",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 0,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1,32"
|
"rules": "required|integer|between:1,48"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Server Hostname",
|
"name": "Server Hostname",
|
||||||
"description": "The name that shows up in the server browser",
|
"description": "The name that shows up in the server browser",
|
||||||
"env_variable": "SERVER_HOSTNAME",
|
"env_variable": "SERVER_HOSTNAME",
|
||||||
"default_value": "My new FXServer!",
|
"default_value": "My new FXServer!",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "fivem version",
|
"name": "fivem version",
|
||||||
"description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
|
"description": "The fivem version that is to be installed.\r\n\r\nan example is `1383-e5ea040353ce1b8bc86e37982bf5d888938e3096`\r\n\r\nYou can get the latest version from here - https:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/",
|
||||||
"env_variable": "FIVEM_VERSION",
|
"env_variable": "FIVEM_VERSION",
|
||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:50"
|
"rules": "required|string|max:50"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -64,8 +69,8 @@
|
|||||||
"description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz",
|
"description": "This is the link to download fivem from. This is only used in the install script.\r\n\r\nThe file you link to needs to be an fx.tar.zx file.\r\n\r\nExample:\r\nhttps:\/\/runtime.fivem.net\/artifacts\/fivem\/build_proot_linux\/master\/1626-8c06e8bc3ed7e6690c6c2d9e0b90e29df65b3ea6\/fx.tar.xz",
|
||||||
"env_variable": "DOWNLOAD_URL",
|
"env_variable": "DOWNLOAD_URL",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 0,
|
"user_viewable": false,
|
||||||
"user_editable": 0,
|
"user_editable": false,
|
||||||
"rules": "string|nullable"
|
"rules": "string|nullable"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -73,8 +78,8 @@
|
|||||||
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
"description": "Use your Steam WebApiKey or set to 'none'. Get your key at https:\/\/steamcommunity.com\/dev\/apikey\/",
|
||||||
"env_variable": "STEAM_WEBAPIKEY",
|
"env_variable": "STEAM_WEBAPIKEY",
|
||||||
"default_value": "none",
|
"default_value": "none",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string"
|
"rules": "required|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -82,8 +87,8 @@
|
|||||||
"description": "The port for the txAdmin panel",
|
"description": "The port for the txAdmin panel",
|
||||||
"env_variable": "TXADMIN_PORT",
|
"env_variable": "TXADMIN_PORT",
|
||||||
"default_value": "40120",
|
"default_value": "40120",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 0,
|
"user_editable": false,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -91,8 +96,8 @@
|
|||||||
"description": "Enables txadmin.\r\n\r\nset to 1 to enable. (default is 0 for false)",
|
"description": "Enables txadmin.\r\n\r\nset to 1 to enable. (default is 0 for false)",
|
||||||
"env_variable": "TXADMIN_ENABLE",
|
"env_variable": "TXADMIN_ENABLE",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|bool"
|
"rules": "required|bool"
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -3,11 +3,8 @@
|
|||||||
endpoint_add_tcp "0.0.0.0:30120"
|
endpoint_add_tcp "0.0.0.0:30120"
|
||||||
endpoint_add_udp "0.0.0.0:30120"
|
endpoint_add_udp "0.0.0.0:30120"
|
||||||
|
|
||||||
# Set your server's hostname
|
# Server player slot limit (see https://fivem.net/server-hosting for limits)
|
||||||
sv_hostname "New FiveM Server with Pterodactyl"
|
sv_maxclients 48
|
||||||
|
|
||||||
# Server player slot limit (must be between 1 and 32, unless using OneSync)
|
|
||||||
sv_maxclients 32
|
|
||||||
|
|
||||||
# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey)
|
# Steam Web API key, if you want to use Steam authentication (https://steamcommunity.com/dev/apikey)
|
||||||
# -> replace "" with the key
|
# -> replace "" with the key
|
||||||
@ -50,6 +47,15 @@ sets locale "root-AQ"
|
|||||||
#sets banner_detail "https://url.to/image.png"
|
#sets banner_detail "https://url.to/image.png"
|
||||||
#sets banner_connecting "https://url.to/image.png"
|
#sets banner_connecting "https://url.to/image.png"
|
||||||
|
|
||||||
|
# Set your server's hostname
|
||||||
|
sv_hostname "New FiveM Server with Pterodactyl"
|
||||||
|
|
||||||
|
# Set your server's Project Name
|
||||||
|
sets sv_projectName "My Pterodactyl Project"
|
||||||
|
|
||||||
|
# Set your server's Project Description
|
||||||
|
sets sv_projectDesc "Default Pterodactyl requiring configuration"
|
||||||
|
|
||||||
# Nested configs!
|
# Nested configs!
|
||||||
#exec resources.cfg
|
#exec resources.cfg
|
||||||
|
|
||||||
@ -71,5 +77,5 @@ add_principal identifier.fivem:1 group.admin # add the admin to the group
|
|||||||
# Hide player endpoints in external log output.
|
# Hide player endpoints in external log output.
|
||||||
sv_endpointprivacy true
|
sv_endpointprivacy true
|
||||||
|
|
||||||
# enable OneSync with default configuration (required for server-side state awareness)
|
# enable OneSync (required for server-side state awareness)
|
||||||
sets onesync legacy
|
set onesync on
|
10
game_eggs/gta/gtac/README.md
Normal file
10
game_eggs/gta/gtac/README.md
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
# Grand Theft Auto Connected
|
||||||
|
The [GTAC](https://gtaconnected.com/) Grand Theft Auto Connected is a custom scriptable multiplayer modification for multiple Grand Theft Auto games.
|
||||||
|
|
||||||
|
### Server Ports
|
||||||
|
|
||||||
|
GTAC requires one port for both UDP/TCP
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|---------|----------|
|
||||||
|
| Game | 22000 |
|
68
game_eggs/gta/gtac/egg-grand-theft-auto-connected.json
Normal file
68
game_eggs/gta/gtac/egg-grand-theft-auto-connected.json
Normal file
@ -0,0 +1,68 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-04-24T18:59:07+03:00",
|
||||||
|
"name": "Grand Theft Auto Connected",
|
||||||
|
"author": "admin@softwarenoob.com",
|
||||||
|
"description": "Grand Theft Auto Connected is a custom scriptable multiplayer modification for multiple Grand Theft Auto games.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/Server",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"server.xml\": {\r\n \"parser\": \"xml\",\r\n \"find\": {\r\n \"server.servername\": \"{{server.build.env.SERVERNAME}}\",\r\n \"server.port\": \"{{server.build.default.port}}\",\r\n \"server.httpport\": \"{{server.build.default.port}}\",\r\n \"server.game\": \"{{server.build.env.GAMETYPE}}\",\r\n \"server.serverbrowser\": \"{{server.build.env.SERVERBROWSER}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Successfully added server\"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "quit"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\napt -y update\r\napt -y --no-install-recommends install curl lib32gcc1 ca-certificates\r\n\r\ncd \/mnt\/server\r\n\r\n\r\nif [ \"${DL_VERSION}\" == \"latest\" ]; then\r\n DOWNLOAD_LINK=https:\/\/gtaconnected.com\/downloads\/server\/latest\/linux\r\nelse\r\n DOWNLOAD_LINK=https:\/\/gtaconnected.com\/downloads\/GTAC-Server-Linux-${DL_VERSION}.tar.gz\r\nfi\r\n\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail --location ${DOWNLOAD_LINK}; then\r\n echo -e \"Chosen server version is valid.\"\r\n else\r\n echo -e \"Chosen server version is invalid, tried $DOWNLOAD_LINK. Exiting installation\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"no download link, stopping installation\"\r\n exit 3\r\nfi\r\n\r\necho -e \"Downloading ${DL_VERSION} version of the server\"\r\ncurl -sSL ${DOWNLOAD_LINK} -o GTAC.tar.gz\r\necho \"Extracting files\"\r\ntar -xf GTAC.tar.gz\r\n\r\nchmod +x Server\r\nrm GTAC.tar.gz\r\n\r\necho \"Install complete\"",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Game type",
|
||||||
|
"description": "Sets the game this server will support. Available options: gta:iii, gta:vc, gta:sa, gta:ug, gta:iv, gta:eflc",
|
||||||
|
"env_variable": "GAMETYPE",
|
||||||
|
"default_value": "gta:iv",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|in:gta:iii,gta:vc,gta:sa,gta:ug,gta:iv,gta:eflc"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Name",
|
||||||
|
"description": "The name of the server, which appears in the server browser.",
|
||||||
|
"env_variable": "SERVERNAME",
|
||||||
|
"default_value": "Pterodactyl Server",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:60"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "serverbrowser",
|
||||||
|
"description": "Whether to show the server in the server browser, set to true or false",
|
||||||
|
"env_variable": "SERVERBROWSER",
|
||||||
|
"default_value": "true",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|in:true,false"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Server Version",
|
||||||
|
"description": "The version of GATC to install such as 1.2.10, enter latest for the latest version.",
|
||||||
|
"env_variable": "DL_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,23 +1,28 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-04-22T09:18:34-04:00",
|
"exported_at": "2021-07-02T03:51:58+03:00",
|
||||||
"name": "Rage.MP",
|
"name": "Rage.MP",
|
||||||
"author": "noreply.waypointhosting@gmail.com",
|
"author": "noreply.waypointhosting@gmail.com",
|
||||||
"description": "https:\/\/rage.mp\/\r\n\r\nModified to work with the latest version of RAGE:MP\r\nWill automatically install linux bridge.\r\n**This server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.",
|
"description": "https:\/\/rage.mp\/\r\n\r\nModified to work with the latest version of RAGE:MP\r\nWill automatically install linux bridge.\r\n**This server requires 2 ports to be added for the server. the main port and the next (port+1) as ports for the server.",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
"features": null,
|
||||||
"startup": ".\/server",
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:debian_dotnet"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/ragemp-server",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"conf.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"bind\": \"0.0.0.0\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"announce\": \"{{server.build.env.ANNOUNCE}}\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"conf.json\": {\r\n \"parser\": \"json\",\r\n \"find\": {\r\n \"bind\": \"0.0.0.0\",\r\n \"port\": \"{{server.build.default.port}}\",\r\n \"name\": \"{{server.build.env.SERVER_NAME}}\",\r\n \"maxplayers\": \"{{server.build.env.MAX_PLAYERS}}\",\r\n \"announce\": \"{{server.build.env.ANNOUNCE}}\"\r\n }\r\n }\r\n}",
|
||||||
"startup": "{\r\n \"done\": \"Started HTTP server\"\r\n}",
|
"startup": "{\r\n \"done\": \"The server is ready to accept connections\"\r\n}",
|
||||||
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
"logs": "{\r\n \"custom\": true,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||||
"stop": "^C"
|
"stop": "^X"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "apt update\r\napt -y install curl tar\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o ragemp-srv-037.tar.gz https:\/\/cdn.rage.mp\/lin\/ragemp-srv-037.tar.gz\r\ncurl -sSL -o bridge-linux-037.tar.gz https:\/\/cdn.rage.mp\/lin\/bridge-linux-037.tar.gz\r\n\r\ntar -xzvf ragemp-srv-037.tar.gz --strip 1 -C \/mnt\/server\r\ntar -xzvf bridge-linux-037.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm ragemp-srv-037.tar.gz\r\nrm bridge-linux-037.tar.gz\r\n\r\nchmod +x .\/server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/gta\/ragemp\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0",
|
"script": "apt update\r\napt -y install curl tar git wget\r\n\r\ncd \/mnt\/server\r\n\r\necho \"Downloading rage.mp\"\r\ncurl -sSL -o linux_x64.tar.gz https:\/\/cdn.rage.mp\/updater\/10_mNwuchuQ4ktWbR8d2N5jUzRt\/server-files\/linux_x64.tar.gz\r\n\r\ntar -xzvf linux_x64.tar.gz --strip 1 -C \/mnt\/server\r\n\r\nrm linux_x64.tar.gz\r\n\r\nchmod +x .\/ragemp-server\r\n\r\nif [ -e conf.json ]; then\r\n echo \"server config file exists\"\r\nelse\r\n echo \"Downloading default rage.mp config\"\r\n curl https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/gta\/ragemp\/conf.json >> conf.json\r\nfi\r\n\r\necho \"install complete\"\r\n\r\nexit 0",
|
||||||
"container": "debian:stable-slim",
|
"container": "debian:stable-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -28,8 +33,8 @@
|
|||||||
"description": "Server name that will be displayed to the master server. (64 Char max)",
|
"description": "Server name that will be displayed to the master server. (64 Char max)",
|
||||||
"env_variable": "SERVER_NAME",
|
"env_variable": "SERVER_NAME",
|
||||||
"default_value": "RAGE:MP Unofficial server",
|
"default_value": "RAGE:MP Unofficial server",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:64"
|
"rules": "required|string|max:64"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -37,17 +42,17 @@
|
|||||||
"description": "Maximum number of players your server will hold. (Max 100)",
|
"description": "Maximum number of players your server will hold. (Max 100)",
|
||||||
"env_variable": "MAX_PLAYERS",
|
"env_variable": "MAX_PLAYERS",
|
||||||
"default_value": "50",
|
"default_value": "50",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 0,
|
"user_editable": false,
|
||||||
"rules": "required|integer|between:1,100"
|
"rules": "required|integer|between:1,10000"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "Announce",
|
"name": "Announce",
|
||||||
"description": "Announce to the master server so people can see you in their server browser.\r\n\r\nThis needs to be a 0 (false) or 1 (true) due to weird boolean parsing.",
|
"description": "Announce to the master server so people can see you in their server browser.\r\n\r\nThis needs to be a 0 (false) or 1 (true) due to weird boolean parsing.",
|
||||||
"env_variable": "ANNOUNCE",
|
"env_variable": "ANNOUNCE",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|boolean"
|
"rules": "required|boolean"
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -1,10 +1,5 @@
|
|||||||
# Mindustry
|
# Mindustry
|
||||||
|
|
||||||
**PLEASE READ**
|
|
||||||
Due to Mindustry not accepting command line arguments you MUST set the port once you start the game, by using the command `port <port>`.
|
|
||||||
|
|
||||||
This only has to be done once.
|
|
||||||
|
|
||||||
#### About the game
|
#### About the game
|
||||||
|
|
||||||
Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies. Features include a map editor, 24 built-in maps, cross-platform multiplayer and large-scale PvP unit battles.
|
Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies. Features include a map editor, 24 built-in maps, cross-platform multiplayer and large-scale PvP unit battles.
|
@ -8,7 +8,7 @@
|
|||||||
"author": "unknown@unknown.com",
|
"author": "unknown@unknown.com",
|
||||||
"description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.",
|
"description": "Mindustry is a hybrid tower-defense sandbox factory game. Create elaborate supply chains of conveyor belts to feed ammo into your turrets, produce materials to use for building, and defend your structures from waves of enemies.",
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
|
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
|
||||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar port {{SERVER_PORT}},name {{SERVER_NAME}},host {{MAPNAME}}",
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar server-release.jar config port {{SERVER_PORT}},config name {{SERVER_NAME}},host {{MAPNAME}}",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{}",
|
"files": "{}",
|
||||||
"startup": "{\r\n \"done\": \"Server loaded. \"\r\n}",
|
"startup": "{\r\n \"done\": \"Server loaded. \"\r\n}",
|
42
game_eggs/minecraft/README.md
Normal file
42
game_eggs/minecraft/README.md
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
# Minecraft
|
||||||
|
|
||||||
|
It’s a game about placing blocks and going on adventures
|
||||||
|
|
||||||
|
It’s set in infinitely-generated worlds of wide open terrain - icy mountains, swampy bayous, vast pastures and much more - filled with secrets, wonders and peril!
|
||||||
|
|
||||||
|
[Bedrock](/game_eggs/minecraft/bedrock) Servers for Bedrock Minecraft (Windows 10, mobile, console)
|
||||||
|
* [Bedrock](/game_eggs/game_eggs/minecraft/bedrock/bedrock)
|
||||||
|
* [gomint](/game_eggs/minecraft/bedrock/gomint)
|
||||||
|
* [Nukkit](/game_eggs/minecraft/bedrock/nukkit)
|
||||||
|
* [PocketMine MP](/game_eggs/minecraft/bedrock/pocketmine_mp)
|
||||||
|
|
||||||
|
[Java](/game_eggs/minecraft/java/) Servers for Java Minecraft
|
||||||
|
* [Airplane](/game_eggs/minecraft/java/airplane)
|
||||||
|
* [Cuberite](/game_eggs/minecraft/java/cuberite)
|
||||||
|
* [Fabric](/game_eggs/minecraft/java/fabric)
|
||||||
|
* [Feather](/game_eggs/minecraft/java/feather)
|
||||||
|
* [Feed The Beast](/game_eggs/minecraft/java/ftb)
|
||||||
|
* [Forge](/game_eggs/minecraft/java/forge)
|
||||||
|
* [Magma](/game_eggs/minecraft/java/magma)
|
||||||
|
* [Mohist](/game_eggs/minecraft/java/mohist)
|
||||||
|
* [Paper](/game_eggs/minecraft/java/paper)
|
||||||
|
* [Purpur](/game_eggs/minecraft/java/purpur)
|
||||||
|
* [Spigot](/game_eggs/minecraft/java/spigot)
|
||||||
|
* [SpongeForge](/game_eggs/minecraft/java/spongeforge)
|
||||||
|
* [SpongeVanilla](/game_eggs/minecraft/java/spongevanilla)
|
||||||
|
* [Technic](/game_eggs/minecraft/java/technic)
|
||||||
|
* [Tuinity](/game_eggs/minecraft/java/tuinity)
|
||||||
|
* [VanillaCord](/game_eggs/minecraft/java/vanillacord)
|
||||||
|
|
||||||
|
* [Proxies](/game_eggs/minecraft/proxy) Minecraft Server Proxies
|
||||||
|
* [Java](/game_eggs/minecraft/proxy/java)
|
||||||
|
* [FlameCord](/game_eggs/minecraft/proxy/java/flamecord)
|
||||||
|
* [Travertine](/game_eggs/minecraft/proxy/java/travertine)
|
||||||
|
* [TyphoonLimbo](/game_eggs/minecraft/proxy/java/typhoonlimbo)
|
||||||
|
* [Velocity](/game_eggs/minecraft/proxy/java/velocity)
|
||||||
|
* [VIAaaS](/game_eggs/minecraft/proxy/java/viaaas)
|
||||||
|
* [Waterfall](/game_eggs/minecraft/proxy/java/waterfall)
|
||||||
|
* [Cross Platform](/game_eggs/minecraft/proxy/cross_platform)
|
||||||
|
* [GeyserMC](/game_eggs/minecraft/proxy/cross_platform/geyser)
|
||||||
|
* [Waterdog](/game_eggs/minecraft/proxy/cross_platform/waterdog)
|
||||||
|
* DragonProxy abandoned in favour of GeyserMC.
|
@ -1,14 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-12-01T21:01:12-05:00",
|
"exported_at": "2021-07-04T00:38:57+03:00",
|
||||||
"name": "Vanilla Bedrock",
|
"name": "Vanilla Bedrock",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".",
|
"description": "Bedrock Edition (also known as the Bedrock Version, Bedrock Codebase, Bedrock Engine or just Bedrock) refers to the multi-platform family of editions of Minecraft developed by Mojang AB, Microsoft Studios, 4J Studios, and SkyBox Labs. Prior to this term, as the engine originated with Pocket Edition, this entire product family was referred to as \"Pocket Edition\", \"MCPE\", or \"Pocket\/Windows 10 Edition\".",
|
||||||
"features": null,
|
"features": null,
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:base_debian",
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
"startup": ".\/bedrock_server",
|
"startup": ".\/bedrock_server",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"server-name\": \"{{server.build.env.SERVERNAME}}\",\r\n \"gamemode\": \"{{server.build.env.GAMEMODE}}\",\r\n \"difficulty\": \"{{server.build.env.DIFFICULTY}}\",\r\n \"allow-cheats\": \"{{server.build.env.CHEATS}}\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"server-name\": \"{{server.build.env.SERVERNAME}}\",\r\n \"gamemode\": \"{{server.build.env.GAMEMODE}}\",\r\n \"difficulty\": \"{{server.build.env.DIFFICULTY}}\",\r\n \"allow-cheats\": \"{{server.build.env.CHEATS}}\"\r\n }\r\n }\r\n}",
|
||||||
@ -18,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n DOWNLOAD_URL=$(curl -sSL https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\/ | grep azureedge | grep linux | grep -Eo \"(http|https):\/\/[a-zA-Z0-9.\/?=_-]*\")\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp whitelist.json whitlist.json.bak\r\n\r\necho -e \"Downloading files from https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\"\r\n\r\nwget ${DOWNLOAD_URL}\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5)\r\n\r\necho -e \"restoring config files\"\r\ncp -rf server.properties.bak server.properties\r\ncp -rf permissions.json.bak permissions.json\r\ncp -rf whitelist.json.bak whitlist.json\r\n\r\necho -e \"Done\"",
|
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y zip unzip wget curl\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\n# Minecraft CDN Akamai blocks script user-agents\r\nRANDVERSION=$(echo $((1 + $RANDOM % 4000)))\r\n\r\nif [ -z \"${BEDROCK_VERSION}\" ] || [ \"${BEDROCK_VERSION}\" == \"latest\" ]; then\r\n echo -e \"\\n Downloading latest Bedrock server\"\r\n curl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -H \"Accept-Encoding: gzip, deflate\" -o versions.html.gz https:\/\/www.minecraft.net\/en-us\/download\/server\/bedrock\r\n DOWNLOAD_URL=$(zgrep -o 'https:\/\/minecraft.azureedge.net\/bin-linux\/[^\"]*' versions.html.gz)\r\nelse \r\n echo -e \"\\n Downloading ${BEDROCK_VERSION} Bedrock server\"\r\n DOWNLOAD_URL=https:\/\/minecraft.azureedge.net\/bin-linux\/bedrock-server-$BEDROCK_VERSION.zip\r\nfi\r\n\r\nDOWNLOAD_FILE=$(echo ${DOWNLOAD_URL} | cut -d\"\/\" -f5) # Retrieve archive name\r\n\r\necho -e \"backing up config files\"\r\nrm *.bak versions.html.gz\r\ncp server.properties server.properties.bak\r\ncp permissions.json permissions.json.bak\r\ncp whitelist.json whitelist.json.bak\r\n\r\necho -e \"Downloading files from: $DOWNLOAD_URL\"\r\n\r\ncurl -L -A \"Mozilla\/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/90.0.$RANDVERSION.212 Safari\/537.36\" -H \"Accept-Language: en\" -o $DOWNLOAD_FILE $DOWNLOAD_URL\r\n\r\necho -e \"Unpacking server files\"\r\nunzip -o $DOWNLOAD_FILE\r\n\r\necho -e \"Cleaning up after installing\"\r\nrm $DOWNLOAD_FILE\r\n\r\necho -e \"restoring backup config files - on first install there will be file not found errors which you can ignore.\"\r\ncp -rf server.properties.bak server.properties\r\ncp -rf permissions.json.bak permissions.json\r\ncp -rf whitelist.json.bak whitelist.json\r\n\r\nchmod +x bedrock_server\r\n\r\necho -e \"Install Completed\"",
|
||||||
"container": "debian:buster-slim",
|
"container": "debian:buster-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
34
game_eggs/minecraft/bedrock/gomint/egg-go-mint.json
Normal file
34
game_eggs/minecraft/bedrock/gomint/egg-go-mint.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-07-02T03:52:56+03:00",
|
||||||
|
"name": "GoMint",
|
||||||
|
"author": "parker@parkervcp.com",
|
||||||
|
"description": "A performant and stable Minecraft server software for the Bedrock Edition that comes with a modern API and support for Java 11 LTS.",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_11",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_8",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_14",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_16"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "java --add-opens java.base\/java.nio=io.netty.common --add-exports java.base\/jdk.internal.misc=io.netty.common -p modules -m gomint.server\/io.gomint.server.Bootstrap",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"server.yml\": {\r\n \"parser\": \"yml\",\r\n \"find\": {\r\n \"listener.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \"Done in \"\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "stop"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#! \/bin\/bash\r\n\r\nGITHUB_PACKAGE=gomint\/gomint\r\n\r\napt update\r\napt install -y curl jq file unzip\r\n\r\nif [ ! -d \/mnt\/server\/ ]; then\r\n mkdir -p \/mnt\/server\/\r\nfi\r\n\r\ncd \/mnt\/server\/\r\n\r\nif [ -z \"${GITHUB_USER}\" ] && [ -z \"${GITHUB_OAUTH_TOKEN}\" ] ; then\r\n echo -e \"using anon api call\"\r\nelse\r\n echo -e \"user and oauth token set\"\r\n alias curl='curl -u ${GITHUB_USER}:${GITHUB_OAUTH_TOKEN} '\r\nfi\r\n\r\n# retrieve latest tag to be used as version match, because gomint doesn't use normal releases\r\nLATEST_VERSION=$(curl -sL https:\/\/api.github.com\/repos\/gomint\/gomint\/tags | jq -r '.[-1].name')\r\n\r\nDOWNLOAD_URL=https:\/\/github.com\/gomint\/gomint\/releases\/download\/${LATEST_VERSION}\/${LATEST_VERSION}.zip\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"download link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n VALIDATED_URL=${DOWNLOAD_URL}\r\n else \r\n echo -e \"download link is invalid, something went wrong. Closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL -o ${VALIDATED_URL##*\/} ${VALIDATED_URL}\r\n\r\nFILETYPE=$(file -F ',' ${VALIDATED_URL##*\/} | cut -d',' -f2 | cut -d' ' -f2)\r\nif [ \"$FILETYPE\" == \"gzip\" ]; then\r\n tar xzvf ${VALIDATED_URL##*\/}\r\nelif [ \"$FILETYPE\" == \"Zip\" ]; then\r\n unzip ${VALIDATED_URL##*\/} -d modules\/\r\nelif [ \"$FILETYPE\" == \"XZ\" ]; then\r\n tar xvf ${VALIDATED_URL##*\/}\r\nelse\r\n echo -e \"unknown filetype. Exiting\"\r\n # exit 2 \r\nfi\r\n\r\n# Move files into correct folders and remove unnecessary stuff\r\nrm ${VALIDATED_URL##*\/}\r\nmv modules\/modules\/* modules\r\nrm -rf modules\/modules\r\nrm modules\/start.*\r\n\r\n# Fetch server config\r\nif [ ! -f server.yml ]; then\r\n curl -sSL -o server.yml https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/gomint\/server.yml\r\nfi",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": []
|
||||||
|
}
|
@ -1,13 +1,18 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2019-11-02T22:11:25-04:00",
|
"exported_at": "2021-07-02T03:55:04+03:00",
|
||||||
"name": "Nukkit",
|
"name": "Nukkit",
|
||||||
"author": "parker@parkervcp.com",
|
"author": "parker@parkervcp.com",
|
||||||
"description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/nukkit.io\/",
|
"description": "Nukkit is a Nuclear-Powered Server Software For Minecraft: Pocket Edition\r\n\r\nhttps:\/\/nukkit.io\/",
|
||||||
"image": "quay.io\/pterodactyl\/core:java-glibc",
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/pterodactyl\/core:java-glibc"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
@ -17,7 +22,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.nukkitx.com\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi",
|
"script": "#!\/bin\/ash\r\n# Nukkit Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napk add --no-cache curl openssl\r\n\r\ncd \/mnt\/server\r\n\r\n## Only download if a path is provided, otherwise continue.\r\nif [ ! -z \"${DL_PATH}\" ]; then\r\n MODIFIED_DOWNLOAD=`eval echo $(echo ${DL_PATH} | sed -e 's\/{{\/${\/g' -e 's\/}}\/}\/g')`\r\n wget ${MODIFIED_DOWNLOAD} -O ${SERVER_JARFILE}\r\nelif [ -z \"${NUKKIT_VERSION}\" ] || [ \"${NUKKIT_VERSION}\" == \"latest\" ]; then\r\n wget https:\/\/ci.opencollab.dev\/job\/NukkitX\/job\/Nukkit\/job\/master\/lastSuccessfulBuild\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.opencollab.dev\/job\/NukkitX\/job\/Nukkit\/job\/master\/${NUKKIT_VERSION}\/artifact\/target\/nukkit-1.0-SNAPSHOT.jar -O ${SERVER_JARFILE}\r\nfi\r\n\r\nif [ ! -f nukkit.yml ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/nukkit\/nukkit.yml\r\nfi\r\n\r\nif [ ! -f server.properties ]; then\r\n wget https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/nukkit\/server.properties\r\nfi",
|
||||||
"container": "alpine:3.10",
|
"container": "alpine:3.10",
|
||||||
"entrypoint": "ash"
|
"entrypoint": "ash"
|
||||||
}
|
}
|
||||||
@ -28,8 +33,8 @@
|
|||||||
"description": "The name of the server jarfile to run the server with.",
|
"description": "The name of the server jarfile to run the server with.",
|
||||||
"env_variable": "SERVER_JARFILE",
|
"env_variable": "SERVER_JARFILE",
|
||||||
"default_value": "server.jar",
|
"default_value": "server.jar",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -37,8 +42,8 @@
|
|||||||
"description": "A URL to use to download Spigot rather than building it on the server. This is not user viewable. Use <code>{{DL_VERSION}}<\/code> in the URL to automatically insert the assigned version into the URL. If you do not enter a URL Spigot will build directly in the container (this will fail on low memory containers).",
|
"description": "A URL to use to download Spigot rather than building it on the server. This is not user viewable. Use <code>{{DL_VERSION}}<\/code> in the URL to automatically insert the assigned version into the URL. If you do not enter a URL Spigot will build directly in the container (this will fail on low memory containers).",
|
||||||
"env_variable": "DL_PATH",
|
"env_variable": "DL_PATH",
|
||||||
"default_value": "",
|
"default_value": "",
|
||||||
"user_viewable": 0,
|
"user_viewable": false,
|
||||||
"user_editable": 0,
|
"user_editable": false,
|
||||||
"rules": "nullable|string"
|
"rules": "nullable|string"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -46,8 +51,8 @@
|
|||||||
"description": "The version of Nukkitt to download (using the --rev tag). Use \"latest\" for latest.",
|
"description": "The version of Nukkitt to download (using the --rev tag). Use \"latest\" for latest.",
|
||||||
"env_variable": "NUKKIT_VERSION",
|
"env_variable": "NUKKIT_VERSION",
|
||||||
"default_value": "latest",
|
"default_value": "latest",
|
||||||
"user_viewable": 1,
|
"user_viewable": true,
|
||||||
"user_editable": 1,
|
"user_editable": true,
|
||||||
"rules": "required|string|max:20"
|
"rules": "required|string|max:20"
|
||||||
}
|
}
|
||||||
]
|
]
|
@ -0,0 +1,59 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-07-02T03:55:48+03:00",
|
||||||
|
"name": "PocketmineMP",
|
||||||
|
"author": "info@swisscrafting.ch",
|
||||||
|
"description": "Pocketmine Egg\r\nby onekintaro from swisscrafting.ch\r\nwith the nice help from #eggs Channel on Pterodactyl-Discord :)",
|
||||||
|
"features": null,
|
||||||
|
"images": [
|
||||||
|
"quay.io\/parkervcp\/pterodactyl-images:base_debian"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": ".\/bin\/php7\/bin\/php .\/PocketMine-MP.phar --no-wizard --disable-ansi",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||||
|
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"server.log\"\r\n}",
|
||||||
|
"stop": "stop"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n\r\napt update\r\napt install -y curl jq\r\n\r\ncd \/mnt\/server\r\n\r\n## get release info and download links\r\nLATEST_JSON=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\/latest\")\r\nRELEASES=$(curl --silent \"https:\/\/api.github.com\/repos\/${GITHUB_PACKAGE}\/releases\")\r\n\r\nif [ -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\n## this is a simple script to validate a download url actaully exists\r\n\r\nif [ ! -z \"${DOWNLOAD_URL}\"]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_URL}; then\r\n echo -e \"link is valid. setting download link to ${DOWNLOAD_URL}\"\r\n DOWNLOAD_LINK=${DOWNLOAD_URL}\r\n else \r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nfi\r\n\r\ncurl -sSL ${DOWNLOAD_LINK} > PocketMine-MP.phar\r\n\r\necho -e \"\\n downloading latest php7.4 build from pocketmine\"\r\ncurl -sSL -o php.binary.tar.gz https:\/\/jenkins.pmmp.io\/job\/PHP-7.4-Aggregate\/lastSuccessfulBuild\/artifact\/PHP-7.4-Linux-x86_64.tar.gz\r\n\r\necho -e \"\\n getting default server.properties\"\r\ncurl -sSL https:\/\/raw.githubusercontent.com\/parkervcp\/eggs\/master\/game_eggs\/minecraft\/bedrock\/pocketmine_mp\/server.properties > server.properties\r\n\r\necho -e \"\\n unpacking php7 binaries\"\r\ntar -xzvf php.binary.tar.gz\r\n\r\necho -e \"\\n removing php7 packages\"\r\nrm -rf \/mnt\/server\/php.binary.tar.gz\r\n\r\necho -e \"\\n creating files and folders\"\r\ntouch banned-ips.txt banned-players.txt ops.txt white-list.txt server.log\r\nmkdir -p players worlds plugins resource_packs",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "PocketmineMP Version",
|
||||||
|
"description": "Version from Github",
|
||||||
|
"env_variable": "VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Github Package",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "GITHUB_PACKAGE",
|
||||||
|
"default_value": "pmmp\/PocketMine-MP",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Match",
|
||||||
|
"description": "",
|
||||||
|
"env_variable": "MATCH",
|
||||||
|
"default_value": "PocketMine-MP.phar",
|
||||||
|
"user_viewable": false,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
103
game_eggs/minecraft/java/README.md
Normal file
103
game_eggs/minecraft/java/README.md
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
# Minecraft
|
||||||
|
|
||||||
|
It’s a game about placing blocks and going on adventures
|
||||||
|
|
||||||
|
It’s set in infinitely-generated worlds of wide open terrain - icy mountains, swampy bayous, vast pastures and much more - filled with secrets, wonders and peril!
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
|
||||||
|
|
||||||
|
## Cuberite
|
||||||
|
[Cuberite](https://cuberite.org)
|
||||||
|
A lightweight, fast and extensible game server for Minecraft
|
||||||
|
|
||||||
|
## Fabric
|
||||||
|
[Fabric](https://fabricmc.net)
|
||||||
|
Fabric is a lightweight, experimental modding toolchain for Minecraft.
|
||||||
|
|
||||||
|
## Feather
|
||||||
|
[Feather](https://github.com/feather-rs/feather)
|
||||||
|
An experimental Minecraft server implementation in Rust
|
||||||
|
|
||||||
|
## Forge
|
||||||
|
[Forge MC](https://files.minecraftforge.net)
|
||||||
|
This is a direct fork of the default forge service
|
||||||
|
- Has a version detection fix for "latest"
|
||||||
|
|
||||||
|
[Curse Generic](https://www.curseforge.com)
|
||||||
|
A generic service to pull forge mod packs from the curseforge site.
|
||||||
|
|
||||||
|
[Magma](https://magmafoundation.org)
|
||||||
|
Magma is most powerful Forge server providing you with Forge mods and Bukkit Plugins using Spigot and Paper for Performance Optimization and Stability.
|
||||||
|
|
||||||
|
## FTB Packs
|
||||||
|
[FTB Modpacks](https://api.modpacks.ch)
|
||||||
|
A generic service to pull FTB modpacks from api.modpacks.ch.
|
||||||
|
There are 2 ways to install a server through this service.
|
||||||
|
The first method only requires you to know the modpacks name and version.
|
||||||
|
The second method requires you to know the id for both the modpack and version in the api.
|
||||||
|
|
||||||
|
**Method 1 (Recommended)**
|
||||||
|
- FTB_SEARCH_TERM: the modpack name to query for, must be at least 4 characters long.
|
||||||
|
EX: for FTB: Interactions you would do "interactions".
|
||||||
|
- FTB_VERSION_STRING: the string version that you want to install.
|
||||||
|
EX: for FTB: Interactions 2.0.2, you would put "2.0.2".
|
||||||
|
|
||||||
|
**Method 2**
|
||||||
|
- FTB_MODPACK_ID: the id that directs to the modpack in the api.
|
||||||
|
EX: for FTB: Interactions the id would be "5". https://api.modpacks.ch/public/modpack/5
|
||||||
|
- FTB_MODPACK_VERSION_ID: the version id in the api.
|
||||||
|
EX: for FTB: Interactions 2.0.2 the id is "86". https://api.modpacks.ch/public/modpack/5/86
|
||||||
|
|
||||||
|
**NOTE**
|
||||||
|
**Not all FTB packs come with a server.properties file, due to this the server.properties file
|
||||||
|
may not get updated with the correct ip address and port at first launch.
|
||||||
|
Please restart the server after first launch to fix this.**
|
||||||
|
|
||||||
|
## Spigot
|
||||||
|
A collection of spigot and forked spigot eggs.
|
||||||
|
|
||||||
|
[PaperMC GitHub](https://github.com/PaperMC/Paper)
|
||||||
|
High performance Spigot fork that aims to fix gameplay and mechanics inconsistencies
|
||||||
|
Currently the default on pterodactyl for many reasons. First being that you don't need to build the jar.
|
||||||
|
|
||||||
|
[Purpur](https://purpur.pl3x.net)
|
||||||
|
Purpur is a fork of Paper and Tuinity with the goal of providing new and interesting configuration options, which allow for creating a unique gameplay experience not seen anywhere else
|
||||||
|
|
||||||
|
[Spigot](https://www.spigotmc.org)
|
||||||
|
This is a direct fork of the default spigot service with the added benefit of being able to build the spigot jar.
|
||||||
|
- (It's noted that building the jar is intensive and time consuming)
|
||||||
|
|
||||||
|
[Mohist Github](https://github.com/Mohist-Community/Mohist)
|
||||||
|
Fork of Spigot focused on performance optimizations.
|
||||||
|
|
||||||
|
[Airplane Github](https://github.com/TECHNOVE/Airplane)
|
||||||
|
A stable, optimized and fast Paper fork.
|
||||||
|
|
||||||
|
[Tuinity GitHub](https://github.com/Spottedleaf/Tuinity)
|
||||||
|
Fork of Paper aimed at improving server performance at high playercounts.
|
||||||
|
|
||||||
|
|
||||||
|
## Sponge Powered
|
||||||
|
[SpongeForge](https://www.spongepowered.org)
|
||||||
|
SpongeForge is the implementation of the Sponge API on the Minecraft Forge platform.
|
||||||
|
|
||||||
|
[SpongeVanilla](https://www.spongepowered.org)
|
||||||
|
A community-driven open source Minecraft: Java Edition modding platform.
|
||||||
|
|
||||||
|
## Technic Packs
|
||||||
|
[Hexxit](https://www.technicpack.net/modpack/hexxit)
|
||||||
|
Gear up and set forth on a campaign worthy of legend, for Hexxit has been unearthed!
|
||||||
|
|
||||||
|
[Blightfall](https://www.technicpack.net/modpack/blightfall)
|
||||||
|
Blightfall is a combination modpack and adventure map about surviving on an alien planet.
|
||||||
|
|
||||||
|
[Tekkit Legends](https://www.technicpack.net/modpack/tekkit-legends)
|
||||||
|
The ancient power of Tekkits past return in this legendary pack!
|
||||||
|
|
||||||
|
[Tekkit Classic](https://www.technicpack.net/modpack/tekkit.552560)
|
||||||
|
The official Tekkit Classic modpack. Build factories, automate crafting!
|
||||||
|
|
||||||
|
## VanillaCord
|
||||||
|
[VanillaCord](https://github.com/ME1312/VanillaCord)
|
||||||
|
VanillaCord adds support for BungeeCord's ip-forwarding option on vanilla Minecraft servers
|
14
game_eggs/minecraft/java/airplane/README.md
Normal file
14
game_eggs/minecraft/java/airplane/README.md
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
# Example Server Name
|
||||||
|
### From their [Github](https://github.com/TECHNOVE/Airplane)
|
||||||
|
A stable, optimized and fast Paper fork.
|
||||||
|
|
||||||
|
|
||||||
|
### Minimum RAM warning
|
||||||
|
Approximately 2048MB
|
||||||
|
|
||||||
|
|
||||||
|
### Server Ports
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|---------|---------|
|
||||||
|
| Game | 25565 |
|
62
game_eggs/minecraft/java/airplane/egg-airplane.json
Normal file
62
game_eggs/minecraft/java/airplane/egg-airplane.json
Normal file
@ -0,0 +1,62 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-07-25T09:45:04+02:00",
|
||||||
|
"name": "Airplane",
|
||||||
|
"author": "info@ttr3.eu",
|
||||||
|
"description": "A stable, optimized and fast Paper fork.\r\nhttps:\/\/github.com\/TECHNOVE\/Airplane",
|
||||||
|
"features": [
|
||||||
|
"eula"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_16",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_11"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||||
|
"logs": "{}",
|
||||||
|
"stop": "stop"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "apt update\r\napt -y install wget\r\ncd \/mnt\/server\r\nif [ -z \"$BUILDVERSION\" ] || [ \"$BUILDVERSION\" == \"latest\" ]; then\r\n wget https:\/\/ci.tivy.ca\/job\/Airplane-${VER}\/lastSuccessfulBuild\/artifact\/launcher-airplane.jar -O ${SERVER_JARFILE}\r\nelse\r\n wget https:\/\/ci.tivy.ca\/job\/Airplane-${VER}\/${BUILDVERSION}\/artifact\/launcher-airplane.jar -O ${SERVER_JARFILE}\r\nfi",
|
||||||
|
"container": "debian:buster-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Server file name",
|
||||||
|
"description": "Here you can set the server jar's name",
|
||||||
|
"env_variable": "SERVER_JARFILE",
|
||||||
|
"default_value": "server.jar",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Minecraft Version",
|
||||||
|
"description": "Here you can set the server's version (1.17 or 1.16)",
|
||||||
|
"env_variable": "VER",
|
||||||
|
"default_value": "1.17",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Build version",
|
||||||
|
"description": "Here you can set which build version you want to use from Airplane release\r\n(You can see the version from this site https:\/\/ci.tivy.ca)\r\n\r\nExample: https:\/\/ci.tivy.ca\/job\/Airplane-1.17\/(Build version)\/artifact\/launcher-airplane.jar",
|
||||||
|
"env_variable": "BUILDVERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": false,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
@ -1,4 +1,5 @@
|
|||||||
# Cuberite
|
# Cuberite
|
||||||
|
|
||||||
A lightweight, fast and extensible game server for Minecraft
|
A lightweight, fast and extensible game server for Minecraft
|
||||||
|
|
||||||
## Server Ports
|
## Server Ports
|
@ -1,14 +1,23 @@
|
|||||||
{
|
{
|
||||||
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
"meta": {
|
"meta": {
|
||||||
"version": "PTDL_v1"
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
},
|
},
|
||||||
"exported_at": "2020-12-06T19:54:35-08:00",
|
"exported_at": "2021-06-14T21:30:32+03:00",
|
||||||
"name": "Fabric",
|
"name": "Fabric",
|
||||||
"author": "accounts@bofanodes.io",
|
"author": "accounts@bofanodes.io",
|
||||||
"description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.",
|
"description": "Fabric is a modular modding toolchain targeting Minecraft 1.14 and above, including snapshots.",
|
||||||
"features": ["eula"],
|
"features": [
|
||||||
"image": "quay.io\/parkervcp\/pterodactyl-images:debian_openjdk-11",
|
"eula"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_11",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_8",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_14",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_16"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -jar {{SERVER_JARFILE}}",
|
||||||
"config": {
|
"config": {
|
||||||
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
@ -18,7 +27,7 @@
|
|||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"installation": {
|
"installation": {
|
||||||
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\nFABRIC_VERSION=$(curl https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/ | grep -Po '(?<=href=\")[^\"]*' | sort -h | tail -1 | sed 's,\/,,g')\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nelse\r\nwget https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\nfi\r\njava -jar fabric-installer-$FABRIC_VERSION.jar server -downloadMinecraft\r\necho -e \"Install Complete\"",
|
"script": "#!\/bin\/bash\r\n# Fabric MC Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq unzip dos2unix wget\r\nmkdir -p \/mnt\/server\r\ncd \/mnt\/server\r\n\r\n# Enable snapshots\r\nif [ -z \"$MC_VERSION\" ] || [ \"$MC_VERSION\" == \"latest\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== true )|.version' | head -n1)\r\nelif [ \"$MC_VERSION\" == \"snapshot\" ]; then\r\n MC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/game | jq -r '.[] | select(.stable== false )|.version' | head -n1)\r\nfi\r\n\r\nif [ -z \"$FABRIC_VERSION\" ] || [ \"$FABRIC_VERSION\" == \"latest\" ]; then\r\n FABRIC_VERSION=$(curl -sSL https:\/\/meta.fabricmc.net\/v2\/versions\/installer | jq -r '.[0].version')\r\nfi\r\nwget -O fabric-installer.jar https:\/\/maven.fabricmc.net\/net\/fabricmc\/fabric-installer\/$FABRIC_VERSION\/fabric-installer-$FABRIC_VERSION.jar\r\njava -jar fabric-installer.jar server -mcversion $MC_VERSION -downloadMinecraft\r\necho -e \"Install Complete\"",
|
||||||
"container": "openjdk:11-jdk-slim",
|
"container": "openjdk:11-jdk-slim",
|
||||||
"entrypoint": "bash"
|
"entrypoint": "bash"
|
||||||
}
|
}
|
||||||
@ -33,6 +42,15 @@
|
|||||||
"user_editable": true,
|
"user_editable": true,
|
||||||
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"name": "Minecraft Version",
|
||||||
|
"description": "The version of Minecraft to install. Use \"latest\" to install the latest version, or use \"snapshot\" to install the latest snapshot.",
|
||||||
|
"env_variable": "MC_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|between:3,15"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"name": "Fabric Version",
|
"name": "Fabric Version",
|
||||||
"description": "The version of Fabric to install.",
|
"description": "The version of Fabric to install.",
|
@ -26,7 +26,7 @@
|
|||||||
"variables": [
|
"variables": [
|
||||||
{
|
{
|
||||||
"name": "Generate World",
|
"name": "Generate World",
|
||||||
"description": "Do you want the installer to generate a world you you?",
|
"description": "Do you want the installer to generate a world for you?",
|
||||||
"env_variable": "GEN_WORLD",
|
"env_variable": "GEN_WORLD",
|
||||||
"default_value": "0",
|
"default_value": "0",
|
||||||
"user_viewable": true,
|
"user_viewable": true,
|
@ -8,3 +8,11 @@ This can be found on the modpack page in the `About Project` section in the uppe
|
|||||||
This will grab the latest release when the version is set to latest.
|
This will grab the latest release when the version is set to latest.
|
||||||
|
|
||||||
It "should" grab versions of the pack based on the modpack version numbers
|
It "should" grab versions of the pack based on the modpack version numbers
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
|
||||||
|
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|-------|---------|
|
||||||
|
| Game | 25565 |
|
File diff suppressed because one or more lines are too long
15
game_eggs/minecraft/java/forge/forge/README.md
Normal file
15
game_eggs/minecraft/java/forge/forge/README.md
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
# Forge Generic
|
||||||
|
|
||||||
|
### This is a generic egg for the forge standalone server
|
||||||
|
|
||||||
|
This will download the latest jar for a specific forge version.
|
||||||
|
|
||||||
|
this has a fix for the broken 1.7.10 and 1.8.9 versions forge has
|
||||||
|
|
||||||
|
## Server Ports
|
||||||
|
The minecraft server requires a single port for access (default 25565) but plugins may require extra ports to enabled for the server.
|
||||||
|
|
||||||
|
|
||||||
|
| Port | default |
|
||||||
|
|-------|---------|
|
||||||
|
| Game | 25565 |
|
73
game_eggs/minecraft/java/forge/forge/egg-forge-enhanced.json
Normal file
73
game_eggs/minecraft/java/forge/forge/egg-forge-enhanced.json
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
{
|
||||||
|
"_comment": "DO NOT EDIT: FILE GENERATED AUTOMATICALLY BY PTERODACTYL PANEL - PTERODACTYL.IO",
|
||||||
|
"meta": {
|
||||||
|
"version": "PTDL_v1",
|
||||||
|
"update_url": null
|
||||||
|
},
|
||||||
|
"exported_at": "2021-06-14T21:29:51+03:00",
|
||||||
|
"name": "Forge Enhanced",
|
||||||
|
"author": "parker@parkervcp.com",
|
||||||
|
"description": "Minecraft Forge Server. Minecraft Forge is a modding API (Application Programming Interface), which makes it easier to create mods, and also make sure mods are compatible with each other.",
|
||||||
|
"features": [
|
||||||
|
"eula"
|
||||||
|
],
|
||||||
|
"images": [
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_8",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_11",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_14",
|
||||||
|
"ghcr.io\/pterodactyl\/yolks:java_16"
|
||||||
|
],
|
||||||
|
"file_denylist": [],
|
||||||
|
"startup": "java -Xms128M -Xmx{{SERVER_MEMORY}}M -Dterminal.jline=false -Dterminal.ansi=true -jar {{SERVER_JARFILE}}",
|
||||||
|
"config": {
|
||||||
|
"files": "{\r\n \"server.properties\": {\r\n \"parser\": \"properties\",\r\n \"find\": {\r\n \"server-ip\": \"0.0.0.0\",\r\n \"enable-query\": \"true\",\r\n \"server-port\": \"{{server.build.default.port}}\",\r\n \"query.port\": \"{{server.build.default.port}}\"\r\n }\r\n }\r\n}",
|
||||||
|
"startup": "{\r\n \"done\": \")! For help, type \",\r\n \"userInteraction\": [\r\n \"Go to eula.txt for more info.\"\r\n ]\r\n}",
|
||||||
|
"logs": "{\r\n \"custom\": false,\r\n \"location\": \"logs\/latest.log\"\r\n}",
|
||||||
|
"stop": "stop"
|
||||||
|
},
|
||||||
|
"scripts": {
|
||||||
|
"installation": {
|
||||||
|
"script": "#!\/bin\/bash\r\n# Forge Installation Script\r\n#\r\n# Server Files: \/mnt\/server\r\napt update\r\napt install -y curl jq\r\n\r\n#Go into main direction\r\nif [ ! -d \/mnt\/server ]; then\r\n mkdir \/mnt\/server\r\nfi\r\n\r\ncd \/mnt\/server\r\n\r\nif [ ! -z ${FORGE_VERSION} ]; then\r\n DOWNLOAD_LINK=https:\/\/maven.minecraftforge.net\/net\/minecraftforge\/forge\/${FORGE_VERSION}\/forge-${FORGE_VERSION}\r\n FORGE_JAR=forge-${FORGE_VERSION}*.jar\r\nelse\r\n JSON_DATA=$(curl -sSL https:\/\/files.minecraftforge.net\/maven\/net\/minecraftforge\/forge\/promotions_slim.json)\r\n\r\n if [ \"${MC_VERSION}\" == \"latest\" ] || [ \"${MC_VERSION}\" == \"\" ] ; then\r\n echo -e \"getting latest recommended version of forge.\"\r\n MC_VERSION=$(echo -e ${JSON_DATA} | jq -r '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains(\"recommended\")) | split(\"-\")[0]' | sort -t. -k 1,1n -k 2,2n -k 3,3n -k 4,4n | tail -1)\r\n \tBUILD_TYPE=recommended\r\n fi\r\n\r\n if [ \"${BUILD_TYPE}\" != \"recommended\" ] && [ \"${BUILD_TYPE}\" != \"latest\" ]; then\r\n BUILD_TYPE=recommended\r\n fi\r\n\r\n echo -e \"minecraft version: ${MC_VERSION}\"\r\n echo -e \"build type: ${BUILD_TYPE}\"\r\n\r\n ## some variables for getting versions and things\r\n\tFILE_SITE=https:\/\/maven.minecraftforge.net\/net\/minecraftforge\/forge\/\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" --arg BUILD_TYPE \"${BUILD_TYPE}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains($BUILD_TYPE))')\r\n\r\n ## locating the forge version\r\n if [ \"${VERSION_KEY}\" == \"\" ] && [ \"${BUILD_TYPE}\" == \"recommended\" ]; then\r\n echo -e \"dropping back to latest from recommended due to there not being a recommended version of forge for the mc version requested.\"\r\n VERSION_KEY=$(echo -e ${JSON_DATA} | jq -r --arg MC_VERSION \"${MC_VERSION}\" '.promos | del(.\"latest-1.7.10\") | del(.\"1.7.10-latest-1.7.10\") | to_entries[] | .key | select(contains($MC_VERSION)) | select(contains(\"recommended\"))')\r\n fi\r\n\r\n ## Error if the mc version set wasn't valid.\r\n if [ \"${VERSION_KEY}\" == \"\" ] || [ \"${VERSION_KEY}\" == \"null\" ]; then\r\n \techo -e \"The install failed because there is no valid version of forge for the version on minecraft selected.\"\r\n \texit 1\r\n fi\r\n\r\n FORGE_VERSION=$(echo -e ${JSON_DATA} | jq -r --arg VERSION_KEY \"$VERSION_KEY\" '.promos | .[$VERSION_KEY]')\r\n\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ] || [ \"${MC_VERSION}\" == \"1.8.9\" ]; then\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}.jar\r\n if [ \"${MC_VERSION}\" == \"1.7.10\" ]; then\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}-${MC_VERSION}-universal.jar\r\n fi\r\n else\r\n DOWNLOAD_LINK=${FILE_SITE}${MC_VERSION}-${FORGE_VERSION}\/forge-${MC_VERSION}-${FORGE_VERSION}\r\n FORGE_JAR=forge-${MC_VERSION}-${FORGE_VERSION}.jar\r\n fi\r\nfi\r\n\r\n\r\n#Adding .jar when not eding by SERVER_JARFILE\r\nif [[ ! $SERVER_JARFILE = *\\.jar ]]; then\r\n SERVER_JARFILE=\"$SERVER_JARFILE.jar\"\r\nfi\r\n\r\n#Downloading jars\r\necho -e \"Downloading forge version ${FORGE_VERSION}\"\r\necho -e \"Download link is ${DOWNLOAD_LINK}\"\r\nif [ ! -z \"${DOWNLOAD_LINK}\" ]; then \r\n if curl --output \/dev\/null --silent --head --fail ${DOWNLOAD_LINK}-installer.jar; then\r\n echo -e \"installer jar download link is valid.\"\r\n else\r\n echo -e \"link is invalid closing out\"\r\n exit 2\r\n fi\r\nelse\r\n echo -e \"no download link closing out\"\r\n exit 3\r\nfi\r\n\r\ncurl -s -o installer.jar -sS ${DOWNLOAD_LINK}-installer.jar\r\n\r\n#Checking if downloaded jars exist\r\nif [ ! -f .\/installer.jar ]; then\r\n echo \"!!! Error by downloading forge version ${FORGE_VERSION} !!!\"\r\n exit\r\nfi\r\n\r\n#Installing server\r\necho -e \"Installing forge server.\\n\"\r\njava -jar installer.jar --installServer || { echo -e \"install failed\"; exit 4; }\r\n\r\nmv $FORGE_JAR $SERVER_JARFILE\r\n\r\n#Deleting installer.jar\r\necho -e \"Deleting installer.jar file.\\n\"\r\nrm -rf installer.jar",
|
||||||
|
"container": "openjdk:8-jdk-slim",
|
||||||
|
"entrypoint": "bash"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"variables": [
|
||||||
|
{
|
||||||
|
"name": "Server Jar File",
|
||||||
|
"description": "The name of the Jarfile to use when running Forge Mod.",
|
||||||
|
"env_variable": "SERVER_JARFILE",
|
||||||
|
"default_value": "server.jar",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|regex:\/^([\\w\\d._-]+)(\\.jar)$\/"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Minecraft Version",
|
||||||
|
"description": "The version of minecraft you want to install for.\r\n\r\nLeaving latest will install the latest recommended version.",
|
||||||
|
"env_variable": "MC_VERSION",
|
||||||
|
"default_value": "latest",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:9"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Build Type",
|
||||||
|
"description": "The type of server jar to download from forge.\r\n\r\nValid types are \"recommended\" and \"latest\".",
|
||||||
|
"env_variable": "BUILD_TYPE",
|
||||||
|
"default_value": "recommended",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "required|string|max:20"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Forge Version",
|
||||||
|
"description": "Gets an exact version.\r\n\r\nEx. 1.15.2-31.2.4\r\n\r\nOverrides MC_VERSION and BUILD_TYPE. If it fails to download the server files it will fail to install.",
|
||||||
|
"env_variable": "FORGE_VERSION",
|
||||||
|
"default_value": "",
|
||||||
|
"user_viewable": true,
|
||||||
|
"user_editable": true,
|
||||||
|
"rules": "nullable|string|max:20"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user