pelican-eggs / eggs

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

[Bug]: Satisfactory install loop #1600

Closed Caennanu closed 2 years ago

Caennanu commented 2 years ago

Panel Version

1.7.0

Wings Version

1.7.0 (don't know how to pull this from the unraid deamon docker, link https://hub.docker.com/r/ccarney16/pterodactyl-daemon)

Service

Satisfactory

Modified

No, I did not modify the egg

Expected Behavior

After i loaded the egg, it should have installed and started running, like the other services (factorio/TS3).

Actual Behavior

When i went to the console window, i noticed the install was looping. Constantly comming up with the message:

Redirecting stderr to '/mnt/server/Steam/logs/stderr.txt' ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt". [ 0%] Checking for available update... [ 0%] Download Complete. [----] Verifying installation... [ 0%] Downloading Update... [ 0%] Checking for available update... [ 0%] Download Complete. [----] Extracting package... [----] Extracting package... [----] Extracting package... [----] Extracting package... [----] Installing update... [----] Cleaning up... [----] Failed to remove temporary unzip folder, continuing anyway [----] Update complete, launching...

I have tried to manually add more ports and change the game ports to ports i actually have available for it, to no avail.

Steps To Reproduce

step 1. download the egg from the repository step 2. install a new server using the egg. step 3. change resource allocation (400 cpu, 0 memory/harddisk) step 4. select nest configuration Satisfactory step 5. hit 'create server'

Install logs

Note: To supply the install logs, i will need more guidance specific to unraid.

From unraid log on the deamon: INFO: [Apr 3 11:45:56.968] beginning installation process for server server=53c79f72-3fef-47f3-b18e-be58f14e03c5 INFO: [Apr 3 11:45:57.526] creating install container for server process install_script=/tmp/pterodactyl/53c79f72-3fef-47f3-b18e-be58f14e03c5/install.sh server=53c79f72-3fef-47f3-b18e-be58f14e03c5 INFO: [Apr 3 11:45:57.569] running installation script for server in container container_id=f6ea56cde21de9b1e6c6593821424cd0c6f9cab37b6bc0da2f797f75326dfea9 server=53c79f72-3fef-47f3-b18e-be58f14e03c5

From console within pterodactyl: container@pterodactyl~ Server marked as offline... [----] Extracting package... [----] Installing update... [----] Cleaning up... [----] Failed to remove temporary unzip folder, continuing anyway [----] Update complete, launching... Redirecting stderr to '/mnt/server/Steam/logs/stderr.txt' ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt". [ 0%] Checking for available update... [ 0%] Download Complete. [----] Verifying installation... [ 0%] Downloading Update... [ 0%] Checking for available update... [ 0%] Download Complete. [----] Extracting package... [----] Extracting package... [----] Extracting package... [----] Extracting package... [----] Installing update... [----] Cleaning up... [----] Failed to remove temporary unzip folder, continuing anyway [----] Update complete, launching...

Software-Noob commented 2 years ago

This bug report contains no information for us to take any action. Provide the install logs if you are experiencing issues with the installation.

Ports are unrelated to the install process as there's no inbound traffic to the install container.

Caennanu commented 2 years ago

This bug report contains no information for us to take any action. Provide the install logs if you are experiencing issues with the installation.

Ports are unrelated to the install process as there's no inbound traffic to the install container.

i am aware. That is why i asked for help on how to get the install logs on the unraid docker container. Or a link to a guide will work too. I can open a console to the deamon, i can enter the command, but i do not seem to get results.

Software-Noob commented 2 years ago

The command is in the bug report template. Location might differ depending on how you configured your volumes. Reinstall and take the latest install log file.

Upload it to pteropaste, pastebin or any online text sharing site.

Caennanu commented 2 years ago

As i cannot seem to get the actual logs with the command, running it in a docker container on unraid, i have added what i can find. I hope this helps. (not that i'm seeing anything in it, so probably won't.)

parkervcp commented 2 years ago

It looks like you have auto update enabled. Without knowing more about your setup we can't do much.

So it's cool and all that the unRAID guys are using pterodactyl.

As I have yet to check out their post about setting up I'm not sure it's actually helpful.

Caennanu commented 2 years ago

Alright, no problem. any chance i could get an update when there is one?

Caennanu commented 2 years ago

@parkervcp Gday sir,

Today i have done some more testing and variations and what not. the following error is what occurs when not using the install script, and not having auto updater on.

Not updating game server as auto update was set to 0. Starting Server :/home/container$ ./Engine/Binaries/Linux/UE4Server-Linux-Shipping FactoryGame ?listen -Port=${SERVER_PORT} -ServerQueryPort=${QUERY_PORT} -BeaconPort=${BEACON_PORT} -multihome=0.0.0.0 /entrypoint.sh: line 69: ./Engine/Binaries/Linux/UE4Server-Linux-Shipping: No such file or directory

parkervcp commented 2 years ago

That is a failed install if it's missing the binary.

Caennanu commented 2 years ago

That is a failed install if it's missing the binary.

aye, makes sence. the only way i actually get things to install is when using the install script. But, when using that, i get into the loop that i originally posted. (regardless if auto update is on or not)

Caennanu commented 2 years ago

And . . . perhaps worth noting. I just now tried 2 other eggs from another developer. They all seem to have the same issue?

gOOvER commented 2 years ago

And . . . perhaps worth noting. I just now tried 2 other eggs from another developer. They all seem to have the same issue?

The egg works as it should. It's on your serverside. I think, this can be closed.

i run 4 SF Servers without such an error

parkervcp commented 2 years ago

If no eggs are installing properly you will probably need to troubleshoot the node as whole.

Caennanu commented 2 years ago

@parkervcp no. Only have issues with eggs regarding satisfactory. Factorio, Conan exiles, ark, TeamSpeak and space engineers install and run Just fine

Software-Noob commented 2 years ago

Without install logs there's nothing we can do as it appears to be an issue on your end

Caennanu commented 2 years ago

@gOOvER any chance you can export your egg and share with me? It could well be something specific to ptero on unraid, but have no Idea where to start troubleshooting.

Caennanu commented 2 years ago

@Software-Noob as i have stated before. I would love to supply logs, but have no Idea how to get Them. I have also asked in the ibracorp discord, without results

gOOvER commented 2 years ago

@gOOvER any chance you can export your egg and share with me? It could well be something specific to ptero on unraid, but have no Idea where to start troubleshooting.

its the same you use. Latest from repo

Caennanu commented 2 years ago

@gOOvER any chance you can export your egg and share with me? It could well be something specific to ptero on unraid, but have no Idea where to start troubleshooting.

its the same you use. Latest from repo

Alright. Time to figure out how to troubleshoot this than....

lilkingjr1 commented 2 years ago

@Caennanu Your issue seems to be with SteamCMD not being installed properly or having runtime issues when trying to install server files. This SteamCMD issue seems to be local to your node installation, so any logs coming from the Pterodactyl panel itself will probably be insufficient. This will require more "back end" troubleshooting and logs. This issue will affect any server that installs using SteamCMD, like the games you mentioned above. Therefore, this is not specifically a Satisfactory issue. It is also not an egg issue, so I would recommend for troubleshooting that you have the latest, unmodified copies of the eggs found on this repo. The focus of your troubleshooting should be on why SteamCMD is not running as expected on the node.

Caennanu commented 2 years ago

@Caennanu Your issue seems to be with SteamCMD not being installed properly or having runtime issues when trying to install server files. This SteamCMD issue seems to be local to your node installation, so any logs coming from the Pterodactyl panel itself will probably be insufficient. This will require more "back end" troubleshooting and logs. This issue will affect any server that installs using SteamCMD, like the games you mentioned above. Therefore, this is not specifically a Satisfactory issue. It is also not an egg issue, so I would recommend for troubleshooting that you have the latest, unmodified copies of the eggs found on this repo. The focus of your troubleshooting should be on why SteamCMD is not running as expected on the node.

Thanks for the reply. I figure it has something to do with steamcmd. But if steamcmd is defective, why am i able to install other games, both prior and after just fine?

In my book it will have to do with this specific Docker that ptero creates... Ive asked help on the unraid forum. See if that gets me further

lilkingjr1 commented 2 years ago

The Docker container ARK uses is almost identical to the one that Satisfactory uses. Though, granted, iirc, it is slightly different. But the answer probably lies in the install script, since that is what installs SteamCMD. Hope the unraid people can help you! 👍

DjSni commented 2 years ago

Hello, I have the same error with Satisfactory, but I could install e.g. Starbount without problems.

alucarddelta commented 2 years ago

Also had the same issue, but only Satifactory was effected. But I was able to resolve it by changing the install script.

@DjSni @Caennanu To get it working I ended up using the part of the install script of another egg (I used Ark's) replacing upto where it copies the 32/64 bit libraries. so lines 1-25ish in the Satifactory egg with lines 1-41 from the Ark egg if you copy me.

I would imagine part of the Satifactory script has been removed from the server it pulls from causing it to crash loop.

lilkingjr1 commented 2 years ago

@alucarddelta Interesting... I compared the two install scripts (Satisfactory and ARK), and while they effectively do the same thing, the link to download SteamCMD is different. I downloaded the gunzip package from both links and their SHA-256's differed. I unpacked both of them incase compression was different, but their raw files/folders differed as well, suggesting some sort of difference (not sure what).

The Satisfactory install script is using the wrong link according to the SteamCMD docs. Since I cannot replicate this issue on my machine, could you please try using the original install script of the egg but just replace the link on line 10 to the following:

https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

If it works for you, we found the issue and I'll submit a PR to fix it. If not, I'll have to take a deeper look at any differences between the install scripts.

DjSni commented 2 years ago

I have only changed the part "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" as described in line 10, and now it seems to work.

alucarddelta commented 2 years ago

The Satisfactory install script is using the wrong link according to the SteamCMD docs. Since I cannot replicate this issue on my machine, could you please try using the original install script of the egg but just replace the link on line 10 to the following:

https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz

If it works for you, we found the issue and I'll submit a PR to fix it. If not, I'll have to take a deeper look at any differences between the install scripts.

I have only changed the part "https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz" as described in line 10, and now it seems to work.

@lilkingjr1 Yep this appears to be building correctly for me also with that line change

lilkingjr1 commented 2 years ago

Awesome! I'll submit a PR tomorrow morning PST. I'd submit a quick one now, but I need to upgrade it to PDTL_v2 and possibly update the README as well.