pelican-eggs / eggs

Service eggs for the pterodactyl panel
MIT License
2.84k stars 2.32k forks source link

[Egg Request]: Crucible (Forge/Spigot hybrid) Minecraft Server #1377

Closed spannerman79 closed 2 years ago

spannerman79 commented 2 years ago

Does this expand an already existing service

No

Link to a game or software

https://github.com/CrucibleMC/Crucible

Links for the download

https://github.com/CrucibleMC/Crucible/releases

Links for the install docs

No links per say, pretty easy to download and install. If using https://github.com/CrucibleMC/Crucible/releases/tag/v5.1 within server directory;

wget https://github.com/CrucibleMC/Crucible/releases/download/v5.1/libraries.zip
wget https://github.com/CrucibleMC/Crucible/releases/download/v5.1/Crucible-1.7.10-5.1.jar
unzip libraries.zip -d ./libraries
rm libraries.zip
echo 'eula=true' > eula.txt

Then run the server with Java 8

java -jar Crucible-1.7.10-5.1.jar

parkervcp commented 2 years ago

You can already specify the jar files that need to be downloaded. Why does it need an external libraries folder?

juanmuscaria commented 2 years ago

Because that's a more standard way to ship libraries. Unlike bukkit and it's forks who ship all libraries in the same jar as a fat jar, which is generally bad when you have multiple servers, forge and other general use programs relies on the classpath for loading its libraries instead of shipping everything in one jar, which not only allows more control like replacing old libraries when a software is dead old but also allows you to share libraries between different servers, assuming you have like 10 servers you will save up to 450 mb of space which otherwise would be wasted with duplicated libraries.

parkervcp commented 2 years ago

which is generally bad when you have multiple servers, forge and other general use programs relies on the classpath for loading its libraries instead of shipping everything in one jar

Each server on pterodactyl is separate and thus both ways are a wash on space.

spannerman79 commented 2 years ago

Ok, I am unsure as to the point of https://github.com/parkervcp/eggs/issues/1377#issuecomment-977984839 if both ways are a waste of space.

Don't get me wrong, but at first glance it seems augmentative.

I definitely didn't get this sort of resistance from https://github.com/itzg/docker-minecraft-server/issues/1052 so🤷‍♂️

Software-Noob commented 2 years ago

Ok, I am unsure as to the point of #1377 (comment) if both ways are a waste of space.

Don't get me wrong, but at first glance it seems augmentative.

I definitely didn't get this sort of resistance from itzg/docker-minecraft-server#1052 soman_shrugging

Each server on Pterodactyl is separated and does not share or have access to other servers' volumes. There are panel mounts that allow sharing directories with the containers, but they are only available to the container and not visible to the user.

This egg by itself won't work the way you intended in the linked docker-compose issue by running it manually in Docker. It's an entirely different setup, with the only similarity being that Pterodactyl uses Docker.

You could install it and then create mounts for each server; however, this egg by itself will do nothing for space-saving as you can't mount containers into each other.

spannerman79 commented 2 years ago

This egg won't work the way you intended in the linked docker-compose issue by running it manually in Docker. It's a completely different setup with the only similarity being that Pterodactyl uses Docker.

Yes I know that, but it seems that you automatically assumed that the issue I referenced was me underhanded stating that I am trying to use a docker-compose. For which I am not.

I suggest kindly that you actually read the title and the OP in context.

Software-Noob commented 2 years ago

This egg won't work the way you intended in the linked docker-compose issue by running it manually in Docker. It's a completely different setup with the only similarity being that Pterodactyl uses Docker.

Yes I know that, but it seems that you automatically assumed that the issue I referenced was me underhanded stating that I am trying to use a docker-compose. For what I am not.

I suggest kindly that you actually read the title and the OP in context.

Since you linked the issue and brought up space-saving, I am trying to explain the difference between using docker-compose/Docker and Pterodactyl. I didn't assume anything because you couldn't run docker-compose in Pterodactyl.

As to the egg itself, there's nothing difficult in it. We can add it whenever someone has time.

parkervcp commented 2 years ago

It's an easy add, if not a bit tedious because of the library files.

The rest of the server that pack the libs into the jars have the advantage of just being a single file.

juanmuscaria commented 2 years ago

Might be better to clear up some things since seems to be a confusion on both sides. I explained why the libraries and the server are separated. That design comes from forge itself. Magma and Mohist both also have a separated library folder from being a forge based jar. Forge offers an installer that will create the server, mohist and magma acts as both the installer and the server jar, it will run the installation process when running the jar if needed. Crucible as being a thermos fork, it still follows the distribution method of not requiring a separated installation process like mohist/magma, but still requires external libraries to be extracted manually. Of course the advantages of saving space does not apply here, but all forge based jars have this advantage for people who want to use it.

If really needed, I can add a command line argument to download and extract the libraries if required when running the server. At the end, it's just different design choices aimed for different end users.

SaltyyCoffee commented 2 years ago

Does anyone got a egg for this yet? I need a thermos egg and are having difficulty setting one up

spannerman79 commented 2 years ago

@SaltyyCoffee don't hijack issues.

  1. Thermos has discontinued development
  2. This issue I created to make a request to add Crucible, not about Thermos.
SaltyyCoffee commented 2 years ago

@SaltyyCoffee don't hijack issues.

  1. Thermos has discontinued development
  2. This issue I created to make a request to add Crucible, not about Thermos.

Crucible is literally a thermos fork. So in a way it's the same fucking thing. I'm not hijacking, I simply asking if this was ever made. Sorry for making it sound like I cared if it was thermos or the fork of thermos aka crucible. So in all honesty I just meant, has a egg been made for this as of yet.

spannerman79 commented 2 years ago

@SaltyyCoffee Feel free to make your own issue then if you strongly beleive your point of view is valid.