Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug]: satisfactory 1.0 unable to launch #4644

Closed
ewlidd opened this issue Sep 10, 2024 · 6 comments
Closed

[Bug]: satisfactory 1.0 unable to launch #4644

ewlidd opened this issue Sep 10, 2024 · 6 comments

Comments

@ewlidd
Copy link

ewlidd commented Sep 10, 2024

User story

as a server admin, I want the server exe to launch and have the correct ports

Game

satisfactory

Linux distro

Debian 12

Command

command: start

Further information

satisfactory 1.0 just launched.
I applied the following fixes to make it run, most of which I guess will be fixed by satisfactory themselves in time, so this is more or less a doc for those that want a manual fix in the meantime.
TL;DR:
-there's a new port TCP 7777, that incorrectly binds to localhost if you use the -multihome flag effectively locking you out from the server.
-They also changed the server executable name that needs new symlinks.

#remove symlink
rm /home/satisfactory/serverfiles/Engine/Binaries/Linux/UE4Server-Linux-Shipping  
#replace symlink to new exe  
ln -s /home/satisfactory/serverfiles/Engine/Binaries/Linux/FactoryServer-Linux-Shipping /home/satisfactory/serverfiles/Engine/Binaries/Linux/UE4Server-Linux-Shipping
#create another new symlink to new exe
ln -s /home/satisfactory/serverfiles/Engine/Binaries/Linux/FactoryServer-Linux-Shipping /home/satisfactory/serverfiles/Engine/Binaries/Linux/UnrealServer-Linux-Shipping

Satisfactory has a new port requirement of TCP 7777. This will give an error when browsing to the server of "failed to connect to the server api"
you must edit your config and remove -multihome ${ip} from the launch flags.
for some reason, when the satisfactory launches with the multihome flag it binds to 127.0.0.1:7777 instead of the multihome IP (or 0.0.0.0).

Relevant log output

No response

Steps to reproduce

No response

@ehcorn
Copy link

ehcorn commented Sep 10, 2024

also can't launch after the new update, get the error: "serverfiles/Engine/Binaries/Linux/UnrealServer-Linux-Shipping" however replacing the symlinks didn't work for me, still says executable not found. Oddly my files are in the sfserver user home directory not in a satisfactory sub-directory so I have a different folder structure to ewildd. I've got a fresh ubuntu 20.04 install that's only setup to run the LGS script.

edit: Nevermind, I went directly to the folder and fixed launch by replacing the symlinks, launches now. Havent had a chance to test the port issue.

@timvandenhof
Copy link

Same issue here, had to replace satisfactory with the default sfserver to make the symlinks work:

#remove symlink
rm /home/sfserver/serverfiles/Engine/Binaries/Linux/UE4Server-Linux-Shipping  
#replace symlink to new exe  
ln -s /home/sfserver/serverfiles/Engine/Binaries/Linux/FactoryServer-Linux-Shipping /home/sfserver/serverfiles/Engine/Binaries/Linux/UE4Server-Linux-Shipping
#create another new symlink to new exe
ln -s /home/sfserver/serverfiles/Engine/Binaries/Linux/FactoryServer-Linux-Shipping /home/sfserver/serverfiles/Engine/Binaries/Linux/UnrealServer-Linux-Shipping

Also had to remove the multihome from the config. After that it seems to work fine, at least on the local network.

@svanegmond
Copy link

Edit lgsm/config-default/config-lgsm/sfserver/_default.cfg. Change startparameter to read startparameters="FactoryGame -port=${port} -log". Jump ahead to line 160 or so, and change the executable to read: executable="./FactoryServer-Linux-Shipping".

The lgsm check_executable.sh needs to have the hack for SF update 7 removed from it, the first 'if' clause.

Further, if your server starts and still cannot connect, there is a bug in the game where if ipv6 is not enabled in your server it will listen to 127.0.0.1:7777 only. Verify this with lsof -ni | grep 7777. The solution is to enable ipv6 in your kernel, then you should see it bound to *:7777. If you can't figure out getting ipv6 enabled in the kernel, use rinetd to forward connections.

@FlickyFlack
Copy link

FlickyFlack commented Sep 10, 2024

Edit lgsm/config-default/config-lgsm/sfserver/_default.cfg. Change startparameter to read startparameters="FactoryGame -port=${port} -log". Jump ahead to line 160 or so, and change the executable to read: executable="./FactoryServer-Linux-Shipping".

The lgsm check_executable.sh needs to have the hack for SF update 7 removed from it, the first 'if' clause.

Further, if your server starts and still cannot connect, there is a bug in the game where if ipv6 is not enabled in your server it will listen to 127.0.0.1:7777 only. Verify this with lsof -ni | grep 7777. The solution is to enable ipv6 in your kernel, then you should see it bound to *:7777. If you can't figure out getting ipv6 enabled in the kernel, use rinetd to forward connections.

Can confirm this to be working. I've used a clean slate and deleted everything Satisfactory related and did a fresh install using ./sfserver install
Created the new Symlinks as explained by @timvandenhof (the clean installation does not need to remove the old symlink)
Also changed the start parameters as explained by you.
Interestingly, my IPv6 Port did not get mapped and I was still able to join (although it is enabled in the kernel)

root@<FunnyName>:~# lsof -ni | grep 7777
FactorySe 2404317        sfserver   13u  IPv4 46335836      0t0  TCP *:7777 (LISTEN)
FactorySe 2404317        sfserver   15u  IPv4 46335858      0t0  UDP *:7777

image
image

@dgibbs64 dgibbs64 added this to the v24.2.0 milestone Sep 10, 2024
@dgibbs64
Copy link
Member

Hotfix now released

@github-project-automation github-project-automation bot moved this from 🆕 New Issues to ✅ Done in LinuxGSM Backlog Sep 10, 2024
@svanegmond
Copy link

Yeah, sorry to be unclear, ipv6 needs to be present in OS to provide a ::1 to bind to, even if you don't use it at all.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

6 participants