pterodactyl / panel

Pterodactyl® is a free, open-source game server management panel built with PHP, React, and Go. Designed with security in mind, Pterodactyl runs all game servers in isolated Docker containers while exposing a beautiful and intuitive UI to end users.
https://pterodactyl.io
Other
6.56k stars 1.64k forks source link

Generic Post install Command #4845

Open KenRen98 opened 1 year ago

KenRen98 commented 1 year ago

Is there an existing feature request for this?

Describe the feature you would like to see.

@parkervcp Thank you for reading, as this request might also need you to start a new folder or repo, and I am pleased to help build the manual part.

As the panel and Wings heading to perfect. The docs are quite behind, especially the manual for using each eggs and guide for setting up servers, and many of the included PDF/TXT file in eggs are actually outdated. I am repetitively teaching people how to setup and use the panel, as they are not trained for configuring servers or being admins.

What people generally need is appending a common post-install command line into all eggs, instead of adding it to each one of them.

For example:
curl -sSL -o ownerswhitelist.txt https://raw.githubusercontent.com/parkervcp/eggs/master/game_eggs/steamcmd_servers/sonsoftheforest/ownerswhitelist.txt

Suppose there serveral repos that crowdsource the manual and temp bug work through, then people can download it for every install.

Describe the solution you'd like.

  1. Add a place for generic post-install command
  2. Setup a repo or sub folder for the manuals
  3. Should allow multiple commands

Additional context to this request.

No response

parkervcp commented 1 year ago

This could be done with the current setup. You would need variables and an entrypoint change.

KenRen98 commented 1 year ago

What do you mean, like server ports and other preset variables? can you explain a little? Cuz I want to avoid adding the lines to each eggs every time.

parkervcp commented 1 year ago

It would be a variable like any other. You could add one to every egg you want to have a pre-run script.

You would either make that variable a script, or a link to one, you want to run on every startup.

This would need each egg to be updated and the entrypoints modified to do it as well.

KenRen98 commented 1 year ago

Yeah, thats the problem I am trying to aviod.

I tried to write a small script and placed it on github, tested working but further notice some old eggs are useing legacy docker images and entry points for install scripts. Some of them lack of basic function like unzip or tar. Causing my script fail to run.

So as you said, it has to be updated to each egg, which I am trying to aviod.

It would be so nice If there is a place for entering custom image and entry point for a "Pre install script" or as I have imagined it should be a generic option that applys to all eggs, pre-install or post-install, so only configure it once, then it runs.