wolveix / satisfactory-server

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

Steamcmd states being offline and crashes on image version >= v1.8.0 #306

Open theabian opened 5 days ago

theabian commented 5 days ago

Describe the Bug

On any image v1.8.X the steamcmd states being offline and crashes, while v1.7.4 works fine.

Your Runtime Command or Docker Compose File

services:
    satisfactory-server:
        container_name: 'satisfactory-server'
        hostname: 'satisfactory-server'
        image: 'wolveix/satisfactory-server:v1.8.3'
        ports:
            - '7777:7777/udp'
            - '7777:7777/tcp'
        volumes:
            - './satisfactory-server:/config'
        environment:
            MAXPLAYERS: 3
            PGID: 1000
            PUID: 1000
            ROOTLESS: false
            STEAMBETA: false
        restart: unless-stopped
        deploy:
          resources:
            limits:
              memory: 28G
            reservations:
              memory: 4G

Debug Output

satisfactory-server  | Debugging enabled (the container will exit after printing the debug info)
satisfactory-server  |
satisfactory-server  | Printing environment variables:
satisfactory-server  | declare -x AUTOSAVENUM="5"
satisfactory-server  | declare -x DEBUG="true"
satisfactory-server  | declare -x DISABLESEASONALEVENTS="false"
satisfactory-server  | declare -x GAMECONFIGDIR="/config/gamefiles/FactoryGame/Saved"
satisfactory-server  | declare -x GAMESAVESDIR="/home/steam/.config/Epic/FactoryGame/Saved/SaveGames"
satisfactory-server  | declare -x HOME="/home/steam"
satisfactory-server  | declare -x HOSTNAME="satisfactory-server"
satisfactory-server  | declare -x LANG="en_US.UTF-8"
satisfactory-server  | declare -x LANGUAGE="en_US:en"
satisfactory-server  | declare -x MAXOBJECTS="2162688"
satisfactory-server  | declare -x MAXPLAYERS="3"
satisfactory-server  | declare -x MAXTICKRATE="30"
satisfactory-server  | declare -x OLDPWD
satisfactory-server  | declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
satisfactory-server  | declare -x PGID="1000"
satisfactory-server  | declare -x PUID="1000"
satisfactory-server  | declare -x PWD="/config"
satisfactory-server  | declare -x ROOTLESS="false"
satisfactory-server  | declare -x SERVERGAMEPORT="7777"
satisfactory-server  | declare -x SERVERSTREAMING="true"
satisfactory-server  | declare -x SHLVL="1"
satisfactory-server  | declare -x SKIPUPDATE="false"
satisfactory-server  | declare -x STEAMAPPID="1690800"
satisfactory-server  | declare -x STEAMBETA="false"
satisfactory-server  | declare -x TIMEOUT="30"
satisfactory-server  | declare -x USER="steam"
satisfactory-server  |
satisfactory-server  | System info:
satisfactory-server  | OS:  Linux satisfactory-server 6.8.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 13 13:35:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
satisfactory-server  | CPU: Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz
satisfactory-server  | RAM: 31GB/32GB
satisfactory-server  | HDD: 144GB/292GB (52% used)
satisfactory-server  |
satisfactory-server  | Current user:
satisfactory-server  | uid=0(root) gid=0(root) groups=0(root)
satisfactory-server  | Proposed user:
satisfactory-server  | uid=1000(?) gid=1000(?) groups=1000(?)
satisfactory-server  |
satisfactory-server  | Exiting...
satisfactory-server exited with code 0

System Specs:

===== START ISSUE REPORT =====
OS:  Linux docker01 6.8.0-44-generic #44-Ubuntu SMP PREEMPT_DYNAMIC Tue Aug 13 13:35:26 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
CPU: Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz
BIOS Intel(R) Xeon(R) CPU           X5670  @ 2.93GHz  CPU @ 2.9GHz
RAM: 31GB/32GB
HDD: 144GB/292GB (52% used)
===== END ISSUE REPORT =====

Logs

logs-v1.7.4.txt logs-v1.8.3.txt

Additional Context

Fatal error from steamcmd:

satisfactory-server  | ===== Satisfactory Server 1.8.3 =====
satisfactory-server  | https://github.com/wolveix/satisfactory-server
satisfactory-server  |
satisfactory-server  | Checking available memory: 31GB detected
satisfactory-server  | Setting autosave number to 5
satisfactory-server  | Setting max objects to 2162688
satisfactory-server  | Setting max tick rate to 30
satisfactory-server  | Setting server streaming to 1
satisfactory-server  | Setting timeout to 30
satisfactory-server  | Checking available storage: 135GB detected
satisfactory-server  |
satisfactory-server  | Downloading the latest version of the game...
satisfactory-server  | Redirecting stderr to '/home/steam/.steam/steam/logs/stderr.txt'
satisfactory-server  | ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
satisfactory-server  | [  0%] Checking for available update...
satisfactory-server  | KeyValues Error: LoadFromBuffer: missing {   (current key: '<!doctype') in file manifest [offset: 15]
satisfactory-server  |
satisfactory-server  | ../tier1/KeyValues.cpp (2925) : Assertion Failed: Error while parsing text KeyValues for resource manifest
satisfactory-server  | [----] Verifying installation...
satisfactory-server  | [  0%] Downloading Update...
satisfactory-server  | [  0%] Checking for available update...
satisfactory-server  | KeyValues Error: LoadFromBuffer: missing {   (current key: '<!doctype') in file manifest [offset: 15]
satisfactory-server  |
satisfactory-server  | ../tier1/KeyValues.cpp (2925) : Assertion Failed: Error while parsing text KeyValues for resource manifest
satisfactory-server  | [----] !!! Fatal Error: Steamcmd needs to be online to update.    Please confirm your network connection and try again.
satisfactory-server  | CWorkThreadPool::~CWorkThreadPool: work complete queue not empty, 1 items discarded.
satisfactory-server  | threadtools.cpp (3294) : Assertion Failed: Illegal termination of worker thread 'Thread(0x0x57e3a650/0x0xf755ba'
satisfactory-server exited with code 0
wolveix commented 5 days ago

What version of Ubuntu are you rubbing on your host machine? Ubuntu was updated to 22 in the container for 1.8.0.

Try updating your Docker installation, see if it helps.

shade703 commented 5 days ago

Experiencing the same issue with same debug output. Completely removed and reinstalled docker as per: https://docs.docker.com/engine/install/ubuntu/ and issue persists. Also had v1.7.4 working yesterday.

Host: Ubuntu 24.04.1 LTS Docker: 27.2.1 Docker Compose: 2.29.2

satisfactory-server | System info: satisfactory-server | OS: Linux satisfactory-server 6.8.0-41-generic #41-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 2 20:41:06 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux satisfactory-server | CPU: QEMU Virtual CPU version 2.5+ satisfactory-server | RAM: 39GB/42GB satisfactory-server | HDD: 26GB/293GB (10% used) satisfactory-server | satisfactory-server | Current version: satisfactory-server | 1.8.3 satisfactory-server | Current user: satisfactory-server | uid=0(root) gid=0(root) groups=0(root) satisfactory-server | Proposed user: satisfactory-server | uid=1000(?) gid=1000(?) groups=1000(?) satisfactory-server | satisfactory-server | Exiting...

ElDubsNZ commented 5 days ago

Having the same issue after the last Satisfactory update.

Ubuntu Version: 22.04.4 LTS Docker Version: 24.0.5

theabian commented 5 days ago

What version of Ubuntu are you rubbing on your host machine? Ubuntu was updated to 22 in the container for 1.8.0.

Try updating your Docker installation, see if it helps.

Running up-to-date Ubuntu 24.04.1 LTS Docker Compose: v2.29.2 Docker Engine:

Client: Docker Engine - Community
 Version:           27.2.0
 API version:       1.47
 Go version:        go1.21.13
 Git commit:        3ab4256
 Built:             Tue Aug 27 14:15:13 2024
 OS/Arch:           linux/amd64
 Context:           default

Server: Docker Engine - Community
 Engine:
  Version:          27.2.0
  API version:      1.47 (minimum version 1.24)
  Go version:       go1.21.13
  Git commit:       3ab5c7d
  Built:            Tue Aug 27 14:15:13 2024
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.7.21
  GitCommit:        472731909fa34bd7bc9c087e4c27943f9835f111
 runc:
  Version:          1.1.13
  GitCommit:        v1.1.13-0-g58aa920
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
wolveix commented 5 days ago

Appreciate the feedback everyone. Please do note that v1.7.3 will work in the meantime!!

Trying to figure out why upgrading to Ubuntu 22 has affected any of you. We previously theorized that it was due to older hosts; however, your system Docker is actually a higher version than mine even

wolveix commented 5 days ago

Could one/any of you try following some of the advice in this Reddit thread, please? Curious to hear if any of it makes a difference; https://www.reddit.com/r/archlinux/comments/llgo3x/network_errors_with_steam/

Relevant google search


@theabian so it seems to be a connection issue, I'm just curious why specifically with Ubuntu 22 on the container. Please try this:

https://askubuntu.com/questions/1318238/steam-install-not-finding-internet-connection-on-ubuntu-20-04/1318567#1318567

Specifically:

ping media.steampowered.com to get its IP then edit /etc/hosts --- add [The IP] client-download.steampowered.com

wolveix commented 5 days ago

@shade703 your issue is probably due to your CPU model being QEMU. Go into Proxmox, set your VM CPU as Host, then reboot.

@ElDubsNZ please edit your reply with your system info, please :) CPU, etc. You can grab the template by going to create a new issue (without actually creating a new issue)

theabian commented 5 days ago

@theabian so it seems to be a connection issue, I'm just curious why specifically with Ubuntu 22 on the container. Please try this:

https://askubuntu.com/questions/1318238/steam-install-not-finding-internet-connection-on-ubuntu-20-04/1318567#1318567

Specifically:

ping media.steampowered.com to get its IP
then edit /etc/hosts --- add [The IP] client-download.steampowered.com

Worked like a charm.

edited the /etc/hosts and the steamcmd worked in v1.8.3

ElDubsNZ commented 5 days ago

Had to head off to work, but if still an issue later on, I'll run through that and post system info. In the meantime I got v1.7.3 working perfectly.

wolveix commented 5 days ago

So glad to hear it @theabian! I'll leave this open for the time being. Very, very interesting, and I'd love to understand why it's uniquely a problem on Ubuntu 22.

shade703 commented 5 days ago

@shade703 your issue is probably due to your CPU model being QEMU. Go into Proxmox, set your VM CPU as Host, then reboot.

@ElDubsNZ please edit your reply with your system info, please :) CPU, etc. You can grab the template by going to create a new issue (without actually creating a new issue)

This fixed my issue, thanks!