wolveix / satisfactory-server

A Dockerized version of the Satisfactory dedicated server
https://hub.docker.com/r/wolveix/satisfactory-server
MIT License
1.05k stars 128 forks source link

Server crashes immediately after clicking "Create Game" in client #211

Closed jm20122012 closed 10 months ago

jm20122012 commented 10 months ago

Describe the Bug After the server logs show telemetry instance started, I went into the client (Update 8) and went through the process of adding the server. Initially the connection seems to work just fine and I can create the server name, create an admin password and all that. I then went in to "Create Game" and selected the starting area, then named the session and clicked on "Create Game". As soon as I click on "Create Game" the container crashes. I've attached the full log as well as pasted the part showing the error below.

satisfactory-log-dump.txt

I did notice that if I restart the container without deleting the volume or anything, then it remembers my server and I can use the admin password previously defined to configure the server, but again after clicking "Create Game" it crashes again.

Your Runtime Command or Docker Compose File

version: "3"
services:
    satisfactory-server:
        container_name: "satisfactory-server"
        image: "wolveix/satisfactory-server:latest"
        hostname: "satisfactory-server"
        ports:
            - "7777:7777/udp"
            - "15000:15000/udp"
            - "15777:15777/udp"
        volumes:
            - satisfactory-data:/config
        environment:
            - MAXPLAYERS=4
            - PGID=1000
            - PUID=1000
            - STEAMBETA=false
        restart: unless-stopped
        deploy:
            resources:
                limits:
                    memory: 16G
                reservations:
                    memory: 12G

volumes:
    satisfactory-data:

System Specs (please complete the following information):

One thing to note is I'm trying to run this on an Ubuntu virtual machine running on the Proxmox hypervisor.

If you're on Linux, just paste the following block as a single command, and paste the output here.

===== START ISSUE REPORT =====
OS:  Linux ubuntu-docker-host 5.15.0-88-generic #98-Ubuntu SMP Mon Oct 2 15:18:56 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
CPU: Common KVM processor
RAM: 27GB/32GB
HDD: 56GB/249GB (24% used)
===== END ISSUE REPORT =====

Additional Context Log output:

satisfactory-server  | CommonUnixCrashHandler: Signal=6
satisfactory-server  | [2023.11.15-22.28.03:076][487]LogCore: === Critical error: ===
satisfactory-server  | Unhandled Exception: SIGABRT: abort() called
satisfactory-server  |
satisfactory-server  | [2023.11.15-22.28.03:076][487]LogCore: Fatal error!
satisfactory-server  |
satisfactory-server  | 0x00007fa74209fe87 libc.so.6!gsignal(+0xc7)
satisfactory-server  | 0x00007fa7420a17f1 libc.so.6!abort(+0x140)
satisfactory-server  | 0x00007fa740196b93 libUnrealServer-Chaos-Linux-Shipping.so!TransformedAABB(+0x92)
satisfactory-server  | 0x00007fa73fbe60af libUnrealServer-Chaos-Linux-Shipping.so!Chaos::TAABB<double, 3>::TransformedAABB(Chaos::TRigidTransform<double, 3> const&) const [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Experimental/Chaos/Private/Chaos/AABB.cpp:341]
satisfactory-server  | 0x00007fa744a04609 libUnrealServer-Engine-Linux-Shipping.so!Chaos::FImplicitObject::CalculateTransformedBounds(Chaos::TRigidTransform<double, 3> const&) const [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/Runtime/Experimental/Chaos/Public/Chaos/ImplicitObject.h:230]
satisfactory-server  | 0x00007fa73fe3bd83 libUnrealServer-Chaos-Linux-Shipping.so!Chaos::FPerShapeData::UpdateShapeBounds(Chaos::TRigidTransform<double, 3> const&, Chaos::TVector<double, 3> const&) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Experimental/Chaos/Private/Chaos/GeometryParticles.cpp:200]
satisfactory-server  | 0x00007fa745173b26 libUnrealServer-Engine-Linux-Shipping.so!ChaosInterface::CreateGeometry(FGeometryAddParams const&, TArray<TUniquePtr<Chaos::FImplicitObject, TDefaultDelete<Chaos::FImplicitObject> >, TSizedDefaultAllocator<32> >&, TArray<TUniquePtr<Chaos::FPerShapeData, TDefaultDelete<Chaos::FPerShapeData> >, TSizedInlineAllocator<1u, 32, TSizedDefaultAllocator<32> > >&)::$_100::operator()(Chaos::TSerializablePtr<Chaos::FImplicitObject>, int, void*, ECollisionEnabled::Type, bool) const [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/Experimental/ChaosInterfaceUtils.cpp:96]
satisfactory-server  | 0x00007fa7451727d1 libUnrealServer-Engine-Linux-Shipping.so!ChaosInterface::CreateGeometry(FGeometryAddParams const&, TArray<TUniquePtr<Chaos::FImplicitObject, TDefaultDelete<Chaos::FImplicitObject> >, TSizedDefaultAllocator<32> >&, TArray<TUniquePtr<Chaos::FPerShapeData, TDefaultDelete<Chaos::FPerShapeData> >, TSizedInlineAllocator<1u, 32, TSizedDefaultAllocator<32> > >&) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/Experimental/ChaosInterfaceUtils.cpp:149]
satisfactory-server  | 0x00007fa745155e21 libUnrealServer-Engine-Linux-Shipping.so!FPhysInterface_Chaos::AddGeometry(Chaos::FSingleParticlePhysicsProxy*&, FGeometryAddParams const&, TArray<FPhysicsShapeReference_Chaos, TSizedDefaultAllocator<32> >*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/Experimental/PhysInterface_Chaos.cpp:693]
satisfactory-server  | 0x00007fa745145caf libUnrealServer-Engine-Linux-Shipping.so!UBodySetup::AddShapesToRigidActor_AssumesLocked(FBodyInstance*, UE::Math::TVector<double>&, UPhysicalMaterial*, TArray<UPhysicalMaterial*, TSizedDefaultAllocator<32> >&, TArray<FPhysicalMaterialMaskParams, TSizedDefaultAllocator<32> >&, FBodyCollisionData const&, UE::Math::TTransform<double> const&, TArray<FPhysicsShapeReference_Chaos, TSizedDefaultAllocator<32> >*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/BodySetup.cpp:728]
satisfactory-server  | 0x00007fa745145341 libUnrealServer-Engine-Linux-Shipping.so!FInitBodiesHelperBase::CreateShapes_AssumesLocked(FBodyInstance*) const [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:1220]
satisfactory-server  | 0x00007fa7451460e6 libUnrealServer-Engine-Linux-Shipping.so!FInitBodiesHelperBase::CreateShapesAndActors() [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:1317]
satisfactory-server  | 0x00007fa7451463d6 libUnrealServer-Engine-Linux-Shipping.so!FInitBodiesHelperBase::InitBodies() [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:1352]
satisfactory-server  | 0x00007fa745146ac1 libUnrealServer-Engine-Linux-Shipping.so!FBodyInstance::InitBody(UBodySetup*, UE::Math::TTransform<double> const&, UPrimitiveComponent*, FPhysScene_Chaos*, FInitBodySpawnParams const&) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/PhysicsEngine/BodyInstance.cpp:1492]
satisfactory-server  | 0x00007fa744a8d43f libUnrealServer-Engine-Linux-Shipping.so!UPrimitiveComponent::OnCreatePhysicsState() [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/Components/PrimitiveComponent.cpp:827]
satisfactory-server  | 0x00007fa7449e1191 libUnrealServer-Engine-Linux-Shipping.so!UActorComponent::CreatePhysicsState(bool) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/Components/ActorComponent.cpp:1635]
satisfactory-server  | 0x00007fa7449e05ec libUnrealServer-Engine-Linux-Shipping.so!UActorComponent::RegisterComponentWithWorld(UWorld*, FRegisterComponentContext*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/Components/ActorComponent.cpp:1349]
satisfactory-server  | 0x00007fa7446efe50 libUnrealServer-Engine-Linux-Shipping.so!AActor::IncrementalRegisterComponents(int, FRegisterComponentContext*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/Actor.cpp:5418]
satisfactory-server  | 0x00007fa744eae0e5 libUnrealServer-Engine-Linux-Shipping.so!ULevel::IncrementalRegisterComponents(bool, int, FRegisterComponentContext*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/Level.cpp:1715]
satisfactory-server  | 0x00007fa744eadb8d libUnrealServer-Engine-Linux-Shipping.so!ULevel::IncrementalUpdateComponents(int, bool, FRegisterComponentContext*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/Level.cpp:1637]
satisfactory-server  | 0x00007fa7456fa072 libUnrealServer-Engine-Linux-Shipping.so!UWorld::UpdateWorldComponents(bool, bool, FRegisterComponentContext*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/World.cpp:2316]
satisfactory-server  | 0x00007fa74570143c libUnrealServer-Engine-Linux-Shipping.so!UWorld::InitializeActorsForPlay(FURL const&, bool, FRegisterComponentContext*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/World.cpp:4817]
satisfactory-server  | 0x00007fa745622994 libUnrealServer-Engine-Linux-Shipping.so!UEngine::LoadMap(FWorldContext&, FURL, UPendingNetGame*, FString&) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/UnrealEngine.cpp:15042]
satisfactory-server  | 0x00007fa6f6d03a8f libUnrealServer-FactoryGame-Linux-Shipping.so!UFGGameEngine::LoadMap(FWorldContext&, FURL, UPendingNetGame*, FString&) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./../../FactoryGame/Source/FactoryGame/Private/FGGameEngine.cpp:31]
satisfactory-server  | 0x00007fa74561fde1 libUnrealServer-Engine-Linux-Shipping.so!UEngine::Browse(FWorldContext&, FURL, FString&) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/UnrealEngine.cpp:14235]
satisfactory-server  | 0x00007fa745620dc8 libUnrealServer-Engine-Linux-Shipping.so!UEngine::TickWorldTravel(FWorldContext&, float) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/UnrealEngine.cpp:14433]
satisfactory-server  | 0x00007fa744caea72 libUnrealServer-Engine-Linux-Shipping.so!UGameEngine::Tick(float, bool) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Engine/Private/GameEngine.cpp:1784]
satisfactory-server  | 0x00007fa6f6d039f3 libUnrealServer-FactoryGame-Linux-Shipping.so!UFGGameEngine::Tick(float, bool) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./../../FactoryGame/Source/FactoryGame/Private/FGGameEngine.cpp:13]
satisfactory-server  | 0x0000000000218e53 UnrealServer-Linux-Shipping!FEngineLoop::Tick() [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Launch/Private/LaunchEngineLoop.cpp:5867]
satisfactory-server  | 0x0000000000219c3a UnrealServer-Linux-Shipping!GuardedMain(char16_t const*) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/./Runtime/Launch/Private/Launch.cpp:190]
satisfactory-server  | 0x00007fa747345677 libUnrealServer-UnixCommonStartup-Linux-Shipping.so!CommonUnixMain(int, char**, int (*)(char16_t const*), void (*)()) [C:/BuildAgent/work/78a794e88763017d/UE4/Engine/Source/Runtime/Unix/UnixCommonStartup/Private/UnixCommonStartup.cpp:269]
satisfactory-server  | 0x00007fa742082c87 libc.so.6!__libc_start_main(+0xe6)
satisfactory-server  | 0x0000000000217dc9 UnrealServer-Linux-Shipping!_start()
satisfactory-server  |
satisfactory-server  | [2023.11.15-22.28.03:100][487]LogExit: Executing StaticShutdownAfterError
satisfactory-server  | Engine crash handling finished; re-raising signal 6 for the default handler. Good bye.
satisfactory-server  | Aborted (core dumped)
satisfactory-server exited with code 0
wolveix commented 10 months ago

Hey! First of all, thank you so much for providing all of the issue template information upfront. It saves a lot of time :D

Game crashes are almost always a game bug though, meaning there's nothing I can do to help you. I'd recommend seeing whether this is a common bug and/or try running the server outside of this Docker image. I strongly suspect that you'll find that it's a game bug unfortunately! I'd be happy to test this myself once I have some time.

As a workaround, see whether uploading a pre-existing save works?

Edit: one thing that became apparent when people encountered similar issues in the past was that using a generic KVM CPU definition triggered it for some reason. If possible, change your CPU definition to something less generic from your hypervisor.

jm20122012 commented 10 months ago

Ah okay, I wasn't sure if it was a docker thing causing the issue or not. But yes, changing the CPU type in my virtual machine settings to match the host server CPU (Intel Xeon) worked. Thanks for the quick response! All is good now.