vinanrra / Docker-7DaysToDie

7 days to die server using LinuxGSM in Docker with backups, monitor, auto-installable mods and more

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[BUG] Unity memory error trying to start the server

SimonHenz97 opened this issue · comments

Describe the bug
After updating and running the server I get this memory error. I don't know if that is a error concerning this project but I couldn't find a solution elsewere.

Container logs:

        =======================================================================
        USER INFO:
        UID: 1000
        GID: 1000
        MORE INFO:
        If you have permission problems remember to use same user UID and GID.
        Check it with id command
        If problem persist check:
        https://github.com/vinanrra/Docker-7DaysToDie/blob/master/README.md
        =======================================================================
 * Starting periodic command scheduler cron
   ...done.
[INFO] Activated automatic backup at 5AM
[INFO] Selecting 7 days to die stable version
fetching GitHub core_modules.sh...OK
fetching GitHub core_legacy.sh...OK
fetching GitHub core_messages.sh...OK
fetching GitHub core_dl.sh...OK
fetching GitHub core_trap.sh...OK
fetching GitHub _default.cfg...OK
fetching GitHub check_ip.sh...OK
fetching GitHub info_game.sh...OK
fetching GitHub linuxgsm.sh...OK
fetching GitHub core_getopt.sh...OK
fetching GitHub command_update.sh...OK

[ .... ] Updating sdtdserver: fetching GitHub check.sh...OK
fetching GitHub check_root.sh...OK
fetching GitHub check_version.sh...OK
fetching GitHub check_tmuxception.sh...OK
fetching GitHub check_permissions.sh...OK
fetching GitHub check_system_dir.sh...OK
fetching GitHub check_logs.sh...OK
fetching GitHub check_steamcmd.sh...OK
fetching GitHub core_steamcmd.sh...OK
fetching GitHub check_status.sh...OK
fetching GitHub core_logs.sh...OK
fetching GitHub check_last_update.sh...OK
fetching GitHub update_steamcmd.sh...OK

[ .... ] Updating sdtdserver: SteamCMD
[ .... ] Updating sdtdserver: Checking local build: SteamCMD
[  OK  ] Updating sdtdserver: Checking local build: SteamCMD
[ .... ] Updating sdtdserver: Checking remote build: SteamCMD
[ FAIL ] Updating sdtdserver: Checking remote build: SteamCMDfetching GitHub core_exit.sh...OK
[INFO] Installing mods after first start
[Alloc Fixes] Installing stable version
[Alloc Fixes] Downloading release from http://illy.bz/fi/7dtd/server_fixes.tar.gz
[Alloc Fixes] Downloading files
[Alloc Fixes] Extracting files
[Alloc Fixes] Removing older version
[Alloc Fixes] Installing components
[Alloc Fixes] Cleanup
[Alloc Fixes] Finished! ヽ(´▽`)/
[Undead Legacy] Starting install of Undead Legacy stable version
[Undead Legacy] Downloading release from https://ul.subquake.com/dl?v=stable
[Undead Legacy] Downloading files
[Undead Legacy] Extracting files
[Undead Legacy] Removing existing BepInEx, because Undead Legacy already come with BepInEx
[Undead Legacy] Installing mod
[Undead Legacy] Cleanup
[Undead Legacy] Adding Undead Legacy default options to server configuration
[Undead Legacy] Skipping default options to server configuration, already added
[Undead Legacy] Disabling EAC
[Undead Legacy] Adding missing dll to 7DaysToDieServer_Data/MonoBleedingEdge/etc/mono/config
[Undead Legacy] Skipping missing dll, already added
[Undead Legacy] Fixing permissions
[Undead Legacy] Replacing config file used in UndeadLegacy startup script
[Undead Legacy] Replacing Monitoring start time for LinuxGSM
[Undead Legacy] Replacing start parameters for LinuxGSM
[Undead Legacy] Replacing executable for LinuxGSM
[Undead Legacy] Installed ヽ(´▽`)/
[INFO] The server mods have been updated to latest version, if the server crash, check mod compatibilites
[INFO] Starting server...
fetching GitHub command_start.sh...OK
fetching GitHub check_executable.sh...OK
fetching GitHub check_glibc.sh...OK
fetching GitHub info_distro.sh...OK
fetching GitHub check_deps.sh...OK
checking GitHub ubuntu-22.04.csv...OK
fetching GitHub ubuntu-22.04.csv...OK
fetching GitHub check_config.sh...OK
fetching GitHub check_system_requirements.sh...OK
fetching GitHub fix.sh...OK
fetching GitHub fix_steamcmd.sh...OK

[ .... ] Starting sdtdserver: Applying steamclient.so sdk64 hardlink fix: 7 Days To Die
[ INFO ] Starting sdtdserver: Applying steamclient.so sdk64 hardlink fix: 7 Days To Die
[  OK  ] Starting sdtdserver: Applying steamclient.so sdk64 hardlink fix: 7 Days To Die

[ .... ] Starting sdtdserver: Applying steamclient.so sdk32 link fix: 7 Days To Die
[ INFO ] Starting sdtdserver: Applying steamclient.so sdk32 link fix: 7 Days To Die
[  OK  ] Starting sdtdserver: Applying steamclient.so sdk32 link fix: 7 Days To Die
fetching GitHub fix_sdtd.sh...OK

[ .... ] Starting sdtdserver: Bloob
[  OK  ] Starting sdtdserver: Bloob
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"

sdtdserver-console.log:

Found UnityPlayer, hooking into it instead
[UnityMemory] Configuration Parameters - Can be set up in boot.config
    "memorysetup-bucket-allocator-granularity=16"
    "memorysetup-bucket-allocator-bucket-count=8"
    "memorysetup-bucket-allocator-block-size=4194304"
    "memorysetup-bucket-allocator-block-count=1"
    "memorysetup-main-allocator-block-size=16777216"
    "memorysetup-thread-allocator-block-size=16777216"
    "memorysetup-gfx-main-allocator-block-size=16777216"
    "memorysetup-gfx-thread-allocator-block-size=16777216"
    "memorysetup-cache-allocator-block-size=4194304"
    "memorysetup-typetree-allocator-block-size=2097152"
    "memorysetup-profiler-bucket-allocator-granularity=16"
    "memorysetup-profiler-bucket-allocator-bucket-count=8"
    "memorysetup-profiler-bucket-allocator-block-size=4194304"
    "memorysetup-profiler-bucket-allocator-block-count=1"
    "memorysetup-profiler-allocator-block-size=16777216"
    "memorysetup-profiler-editor-allocator-block-size=1048576"
    "memorysetup-temp-allocator-size-main=4194304"
    "memorysetup-job-temp-allocator-block-size=2097152"
    "memorysetup-job-temp-allocator-block-size-background=1048576"
    "memorysetup-job-temp-allocator-reduction-small-platforms=262144"
    "memorysetup-temp-allocator-size-background-worker=32768"
    "memorysetup-temp-allocator-size-job-worker=262144"
    "memorysetup-temp-allocator-size-preload-manager=262144"
    "memorysetup-temp-allocator-size-nav-mesh-worker=65536"
    "memorysetup-temp-allocator-size-audio-worker=65536"
    "memorysetup-temp-allocator-size-cloud-worker=32768"
    "memorysetup-temp-allocator-size-gfx=262144"

boot.config:

wait-for-native-debugger=0
hdr-display-enabled=0
gc-max-time-slice=3

Expected behavior
The server should start

Versions:

  • Docker-compose version: 1.25.0
  • Docker image version: 0.5.6 (latest)

Docker/Docker-compose

version: '2'
services:
  7dtdserver:
    image: vinanrra/7dtd-server
    container_name: 7dtdserver
    environment:
      - START_MODE=3 #Change between START MODES
      - VERSION=stable # Change between 7 days to die versions
      - PUID=1000 # Remember to use same as your user
      - PGID=1000 # Remember to use same as your user
      - TimeZone=Europe/Berlin# Optional - Change Timezone
      - TEST_ALERT=NO # Optional - Send a test alert
      - UPDATE_MODS=NO # Optional - This will allow mods to be update on start, each mod also need to have XXXX_UPDATE=YES to update on start
      - ALLOC_FIXES=YES # Optional - Install ALLOC FIXES
      - ALLOC_FIXES_UPDATE # Optional - Update Allocs Fixes before server start
      - UNDEAD_LEGACY=YES # Optional - Install Undead Legacy mod, if DARKNESS_FALLS it's enable will not install anything
      - UNDEAD_LEGACY_VERSION=stable # Optional - Undead Legacy version
      - UNDEAD_LEGACY_UPDATE=NO # Optional - Update Undead Legacy mod before server start
      - DARKNESS_FALLS=NO # Optional - Install Darkness Falls mod, if UNDEAD_LEGACY it's enable will not install anything
      - DARKNESS_FALLS_UPDATE=NO  # Optional - Update Darkness Falls mod before server start
      - DARKNESS_FALLS_URL=False # Optional - Install the provided Darkness Falls url
      - ENZOMBIES=NO # Optional - Install EnZombies mod
      - ENZOMBIES_ADDON_SNUFKIN=NO # Optional - Install EnZombies addon mod
      - ENZOMBIES_ADDON_ROBELOTO=NO # Optional - Install EnZombies addon mod
      - ENZOMBIES_ADDON_NONUDES=NO # Optional - Install EnZombies addon mod
      - ENZOMBIES_UPDATE=NO # Optional - Update EnZombies mod and addons before server start
      - CPM=NO # Optional - CSMM Patron's Mod (CPM)
      - CPM_UPDATE=NO # Optional - Update CPM before server start
      - BEPINEX=NO # Optional - BepInEx
      - BEPINEX_UPDATE=NO # Optional - Update BepInEx before server start
      - BACKUP=YES # Optional - Backup server at 5 AM
      - MONITOR=NO # Optional - Keeps server up if crash
    volumes:
      - /mnt/Storage2/Storage/Servers/7Days/7DaysToDie:/home/sdtdserver/.local/share/7DaysToDie/
      - /mnt/Storage2/Storage/Servers/7Days/LGSM-Config:/home/sdtdserver/lgsm/config-lgsm/sdtdserver
      - /mnt/Storage2/Storage/Servers/7Days/ServerFiles:/home/sdtdserver/serverfiles/ # Optional - serverfiles folder
      - /mnt/Storage2/Storage/Servers/7Days/log:/home/sdtdserver/log/ # Optional - Logs folder
      - /mnt/Storage2/Storage/Servers/7Days/backups:/home/sdtdserver/lgsm/backup/ # Optional - If BACKUP=NO, backups folder
    ports:
      - 26900:26900/tcp # Default game ports
      - 26900:26900/udp # Default game ports
      - 26901:26901/udp # Default game ports
      - 26902:26902/udp # Default game ports
      - 7080:8080/tcp # OPTIONAL - WEBADMIN
      - 7081:8081/tcp # OPTIONAL - TELNET
      - 7082:8082/tcp # OPTIONAL - WEBSERVER https://7dtd.illy.bz/wiki/Server%20fixes
    restart: unless-stopped # INFO - NEVER USE WITH START_MODE=4 or START_MODE=0

Additional context
8GB RAM

Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Byte Order:                      Little Endian
Address sizes:                   39 bits physical, 48 bits virtual
CPU(s):                          4
On-line CPU(s) list:             0-3
Thread(s) per core:              1
Core(s) per socket:              4
Socket(s):                       1
NUMA node(s):                    1
Vendor ID:                       GenuineIntel
CPU family:                      6
Model:                           92
Model name:                      Intel(R) Celeron(R) CPU N3450 @ 1.10GHz
Stepping:                        9
CPU MHz:                         2089.309
CPU max MHz:                     2200.0000
CPU min MHz:                     800.0000
BogoMIPS:                        2188.80
Virtualization:                  VT-x
L1d cache:                       96 KiB
L1i cache:                       128 KiB
L2 cache:                        2 MiB
NUMA node0 CPU(s):               0-3

Tried stable and latest_experimental version

commented

I've got the same Issue running on my local QNAP-NAS.

After deleting all files and recreating the Container the Server seems to run (I cannot actually test this without changing the config), but as soon as I restart the Server directly or the whole container, it's stays on the UnityMemory message.

Using the console and executing "./sdtdserver monitor" the Server seems to be stuck Starting

sdtdserver@072f6b85892c:~$ ./sdtdserver monitor
[  OK  ] Monitoring sdtdserver: Checking session: OK
[  OK  ] Monitoring sdtdserver: Querying port: tcp: 0.0.0.0:26900 : 0/1: DELAY

After running the whole night, no logs are written after the Unity-Message, and I see no Error-Messages
Is there a way to enable more logs? Or debug this any other way?

Also I don't think it's an Issue with the docker-image, but I don't know where else to ask.

This seems to be an issue with the Linux Game Server Manager (Linux GSM) which is used to run the server.
It looks like the new game version 21.0 isn't currently compatible with the Applikation so we will have to wait until they resolve those issues. GameServerManagers/LinuxGSM#4235

Hi, I'm on vacations and didn't have time to check, but I have running container using this image with Alpha21 without issues, it was a fresh install, have been running from 1 month.

Maybe as @SimonHenz97 said it's an issue with LinuxGSM.

@SimonHenz97

Did you update from 20.7 to 21?

Or are you using an old save from 20.7 at 21?

Because saves aren't compatibles

@SimonHenz97

Did you update from 20.7 to 21?

Or are you using an old save from 20.7 at 21?

Because saves aren't compatibles

I'm using a new save for a new group of players.
I just tried it again, with a few different settings, but I still get the error.
It really looks like we need to wait for the Linux GSM update.

commented

I've got around to do some more investigations.
At least with my setup everything works without mods enabled.

After enabling AllocFixes everything still works.

On their site is a deprecation notice
https://7dtd.illy.bz/wiki/Server%20fixes

With enzombies I get an endless log of missing prop-files.

This mod seems to be designed for A20 specifically and it looks like it's not compatible
https://community.7daystodie.com/topic/24594-enzombies-more-zombie-variations/

And finally after enabling Undead Legacy the Server gets stuck on the UnityMemory-Message.

It seems that it's not compatible either, but an Update is in development
https://ul.subquake.com/roadmap

@SimonHenz97 disabling the Mods might Help.

I also tried the whole process without enabling any mods but to no success.
It seems like mods only get installed after the first server start, but I cannot even get to that point.
I even tried running the Linux GSM with sdtd directly and still get the error. The issue is either with them or with my machine.