jammsen / docker-palworld-dedicated-server

Docker container to easily provision and manage Palworld Dedicated Server
https://hub.docker.com/r/jammsen/palworld-dedicated-server
MIT License
898 stars 151 forks source link

[Bug Report] Server crashing after backing up a backup from another linux server #193

Closed imap86 closed 4 months ago

imap86 commented 4 months ago

Have you read the Important information text above

Current behavior

Hello,

the server is running fine for me out of the box (Fresh Start). But i need to move a backup from another server to this one:

i replaced the folder ../SaveGames/0/#HASHVALUE# with the folder from the other server.

within the ../Config/LinuxServer/GameUserSettings.ini

i replaced the value for DedicatedServerName=#HASHVALUE#

Whenever i do this Backup the Server starts to crash and restart with following log entries in a loop:

[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
LowLevelFatalError [File:G:/works/repos/Pal_SVN/Pal-UE-App/Source/Pal/PalSaveGameManager.cpp] [Line: 359] 
Failed save to backup.
Signal 11 caught.
Malloc Size=262146 LargeMemoryPoolOffset=262162 
Malloc Size=131160 LargeMemoryPoolOffset=393352 
Malloc Size=131160 LargeMemoryPoolOffset=524536 
LogPakFile: Display: Found Pak file ../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak attempting to mount.
LogPakFile: Display: Mounting pak file ../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak.
LogPakFile: Display: Mounted Pak file '../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak', mount point: '../../../Engine/'
LogICUInternationalization: ICU TimeZone Detection - Raw Offset: +1:00, Platform Override: ''
LogInit: Build: ++UE5+Release-5.1-CL-0
LogInit: Engine Version: 5.1.1-0+++UE5+Release-5.1
LogInit: Compatible Engine Version: 5.1.0-0+++UE5+Release-5.1
LogInit: Net CL: 0
LogInit: OS: Debian GNU/Linux 11 (bullseye) (5.15.0-94-generic), CPU: Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz, GPU: Intel PCI-id: 8086-3e92 (1458-d000)
LogInit: Compiled (64-bit): Dec 31 2023 20:12:22
LogInit: Compiled with Clang: 13.0.1 (https://github.com/llvm/llvm-project 75e33f71c2dae584b13a7d1186ae0a038ba98838)
LogInit: Build Configuration: Shipping
LogInit: Branch Name: ++UE5+Release-5.1
LogInit: Command Line:  -Abslog="/palworld/Pal/Saved/Logs/Pal-CRC.log" -Unattended -ImplicitSend "/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-112-93E20DD645BA46D5A597F4D6C45E19A9/" -unattended
LogInit: Base Directory: /palworld/Engine/Binaries/Linux/
LogInit: Allocator: Mimalloc
LogInit: Installed Engine Build: 1
LogInit: Presizing for max 100000 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
LogInit: Object subsystem initialized
[2024.02.10-22.47.43:142][  0]LogConfig: Applying CVar settings from Section [ConsoleVariables] File [Engine]
[2024.02.10-22.47.43:142][  0]LogInit: Unix hardware info:
[2024.02.10-22.47.43:142][  0]LogInit:  - we are the first instance of this executable
[2024.02.10-22.47.43:142][  0]LogInit:  - this process' id (pid) is 162, parent process' id (ppid) is 112
[2024.02.10-22.47.43:142][  0]LogInit:  - we are not running under debugger
[2024.02.10-22.47.43:142][  0]LogInit:  - machine network name is '5bfd7821c99f'
[2024.02.10-22.47.43:142][  0]LogInit:  - user name is 'steam' (steam)
[2024.02.10-22.47.43:142][  0]LogInit:  - we're logged in locally
[2024.02.10-22.47.43:142][  0]LogInit:  - we're running with rendering
[2024.02.10-22.47.43:142][  0]LogInit:  - CPU: GenuineIntel 'Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz' (signature: 0x906EA)
[2024.02.10-22.47.43:142][  0]LogInit:  - Number of physical cores available for the process: 6
[2024.02.10-22.47.43:142][  0]LogInit:  - Number of logical cores available for the process: 12
[2024.02.10-22.47.43:142][  0]LogInit:  - Cache line size: 64
[2024.02.10-22.47.43:142][  0]LogInit:  - GPU Brand Info: Intel PCI-id: 8086-3e92 (1458-d000)
[2024.02.10-22.47.43:142][  0]LogInit:  - Memory allocator used: Mimalloc
[2024.02.10-22.47.43:142][  0]LogInit:  - This binary is optimized with LTO: no, PGO: no, instrumented for PGO data collection: no
[2024.02.10-22.47.43:142][  0]LogInit:  - This is an internal build.
[2024.02.10-22.47.43:142][  0]LogCore: Skipped benchmarking clocks because the engine is running in a standalone program mode - CLOCK_MONOTONIC will be used.
[2024.02.10-22.47.43:142][  0]LogInit: Unix-specific commandline switches:
[2024.02.10-22.47.43:142][  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
[2024.02.10-22.47.43:142][  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
[2024.02.10-22.47.43:142][  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
[2024.02.10-22.47.43:142][  0]LogInit:  -filemapcachesize=NUMBER - set the size for case-sensitive file mapping cache
[2024.02.10-22.47.43:142][  0]LogInit:  -useksm - uses kernel same-page mapping (KSM) for mapped memory (OFF)
[2024.02.10-22.47.43:142][  0]LogInit:  -ksmmergeall - marks all mmap'd memory pages suitable for KSM (OFF)
[2024.02.10-22.47.43:142][  0]LogInit:  -preloadmodulesymbols - Loads the main module symbols file into memory (OFF)
[2024.02.10-22.47.43:142][  0]LogInit:  -sigdfl=SIGNAL - Allows a specific signal to be set to its default handler rather then ignoring the signal
[2024.02.10-22.47.43:142][  0]LogInit:  -crashhandlerstacksize - Allows setting crash handler stack sizes (204800)
[2024.02.10-22.47.43:142][  0]LogInit:  -noexclusivelockonwrite - disables marking files created by the engine as exclusive locked while the engine has them opened
[2024.02.10-22.47.43:142][  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
[2024.02.10-22.47.43:142][  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
[2024.02.10-22.47.43:142][  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
[2024.02.10-22.47.43:142][  0]LogInit:  - Physical RAM available (not considering process quota): 63 GB (64208 MB, 65749868 KB, 67327864832 bytes)
[2024.02.10-22.47.43:142][  0]LogInit:  - VirtualMemoryAllocator pools will grow at scale 1.4
[2024.02.10-22.47.43:142][  0]LogInit:  - MemoryRangeDecommit() will be a no-op (re-run with -vmapoolevict to change)
[2024.02.10-22.47.43:142][  0]LogInit:  - PageSize 4096
[2024.02.10-22.47.43:142][  0]LogInit:  - BinnedPageSize 65536
[2024.02.10-22.47.43:145][  0]LogUObjectArray: 419 objects as part of root set at end of initial load.
[2024.02.10-22.47.43:145][  0]LogUObjectAllocator: 89056 out of 0 bytes used by permanent object pool.
[2024.02.10-22.47.43:145][  0]LogUObjectArray: CloseDisregardForGC: 0/0 objects in disregard for GC pool
[2024.02.10-22.47.43:145][  0]LogPaths: Warning: No paths for game localization data were specifed in the game configuration.
[2024.02.10-22.47.43:145][  0]LogInit: Using OS detected language (en-US-POSIX).
[2024.02.10-22.47.43:145][  0]LogInit: Using OS detected locale (en-US-POSIX).
[2024.02.10-22.47.43:145][  0]LogInit: Warning: No paths for engine localization data were specifed in the engine configuration.
[2024.02.10-22.47.43:145][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the language.
[2024.02.10-22.47.43:145][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the locale.
[2024.02.10-22.47.43:145][  0]LogInit: Using OS detected language (en-US-POSIX).
[2024.02.10-22.47.43:145][  0]LogInit: Using OS detected locale (en-US-POSIX).
[2024.02.10-22.47.43:145][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the language.
[2024.02.10-22.47.43:145][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the locale.
[2024.02.10-22.47.43:145][  0]LogPackageLocalizationCache: Processed 2 localized package path(s) for 1 prioritized culture(s) in 0.000242 seconds
[2024.02.10-22.47.43:145][  0]CrashReportCoreLog: CrashReportClientVersion=1.0
[2024.02.10-22.47.43:145][  0]CrashReportCoreLog: CrashReportReceiver disabled
[2024.02.10-22.47.43:145][  0]CrashReportCoreLog: DataRouterUrl: https://o1291919.ingest.sentry.io/api/6513339/unreal/4a1a3921f51f4975b4cf8dd19022cb20/
[2024.02.10-22.47.43:146][  0]CrashReportCoreLog: Initial state = Unknown UploadState value
[2024.02.10-22.47.43:146][  0]CrashReportCoreLog: Initial state = Unknown UploadState value
[2024.02.10-22.47.43:146][  0]LogCrashDebugHelper: DepotName: //UE5/Release-5.1
[2024.02.10-22.47.43:146][  0]LogCrashDebugHelper: BuiltFromCL: 0
[2024.02.10-22.47.43:146][  0]LogCrashDebugHelper: EngineVersion: 5.1.1-0+++UE5+Release-5.1
[2024.02.10-22.47.43:146][  0]LogCrashDebugHelper: BuildVersion: ++UE5+Release-5.1-CL-0
[2024.02.10-22.47.44:140][  0]CrashReportCoreLog: Got 3 pending files to upload from 'crashinfo-Pal-pid-112-93E20DD645BA46D5A597F4D6C45E19A9'
[2024.02.10-22.47.44:140][  0]CrashReportCoreLog: State change from Ready to SendingFiles
[2024.02.10-22.47.44:140][  0]CrashReportCoreLog: CompressAndSendData have 3 pending files
[2024.02.10-22.47.44:140][  0]CrashReportCoreLog: CompressAndSendData compressing 9849 bytes ('/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-112-93E20DD645BA46D5A597F4D6C45E19A9/CrashContext.runtime-xml')
[2024.02.10-22.47.44:140][  0]CrashReportCoreLog: CompressAndSendData compressing 152 bytes ('/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-112-93E20DD645BA46D5A597F4D6C45E19A9/CrashReportClient.ini')
[2024.02.10-22.47.44:140][  0]CrashReportCoreLog: CompressAndSendData compressing 2568 bytes ('/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-112-93E20DD645BA46D5A597F4D6C45E19A9/Diagnostics.txt')
[2024.02.10-22.47.44:151][  0]LogInit: Using libcurl 7.83.1
[2024.02.10-22.47.44:151][  0]LogInit:  - built for Linux
[2024.02.10-22.47.44:151][  0]LogInit:  - supports SSL with OpenSSL/1.1.1n
[2024.02.10-22.47.44:151][  0]LogInit:  - supports HTTP deflate (compression) using libz 1.2.12
[2024.02.10-22.47.44:151][  0]LogInit:  - other features:
[2024.02.10-22.47.44:151][  0]LogInit:      CURL_VERSION_SSL
[2024.02.10-22.47.44:151][  0]LogInit:      CURL_VERSION_LIBZ
[2024.02.10-22.47.44:151][  0]LogInit:      CURL_VERSION_IPV6
[2024.02.10-22.47.44:151][  0]LogInit:      CURL_VERSION_ASYNCHDNS
[2024.02.10-22.47.44:151][  0]LogInit:      CURL_VERSION_LARGEFILE
[2024.02.10-22.47.44:151][  0]LogInit:  CurlRequestOptions (configurable via config and command line):
[2024.02.10-22.47.44:151][  0]LogInit:  - bVerifyPeer = false  - Libcurl will NOT verify peer certificate
[2024.02.10-22.47.44:151][  0]LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
[2024.02.10-22.47.44:151][  0]LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
[2024.02.10-22.47.44:151][  0]LogInit:  - MaxHostConnections = 16  - Libcurl will limit the number of connections to a host
[2024.02.10-22.47.44:151][  0]LogInit:  - LocalHostAddr = Default
[2024.02.10-22.47.44:151][  0]LogInit:  - BufferSize = 65536
[2024.02.10-22.47.44:152][  0]CrashReportCoreLog: Sending HTTP request: https://o1291919.ingest.sentry.io/api/6513339/unreal/4a1a3921f51f4975b4cf8dd19022cb20/?AppID=CrashReporter&AppVersion=5.1.1-0%2B%2B%2BUE5%2BRelease-5.1&AppEnvironment=Release&UploadType=crashreports&UserID=-000003e8%7C%7C
[2024.02.10-22.47.44:256][  0]CrashReportCoreLog: OnProcessRequestComplete(), State=SendingFiles bSucceeded=1
[2024.02.10-22.47.44:256][  0]CrashReportCoreLog: State change from SendingFiles to SendingFiles
[2024.02.10-22.47.44:256][  0]CrashReportCoreLog: All uploads done
[2024.02.10-22.47.44:256][  0]CrashReportCoreLog: State change from SendingFiles to Finished
[2024.02.10-22.47.45:165][  0]CrashReportCoreLog: Final state (Receiver) = Finished
[2024.02.10-22.47.45:165][  0]CrashReportCoreLog: Final state (Receiver) = Unknown UploadState value
[2024.02.10-22.47.45:165][  0]LogCore: Engine exit requested (reason: CrashReportClientApp RequestExit)
[2024.02.10-22.47.45:165][  0]LogExit: Preparing to exit.
[2024.02.10-22.47.45:167][  0]LogExit: Object subsystem successfully closed.
[2024.02.10-22.47.45:168][  0]LogModuleManager: Shutting down and abandoning module HTTP (12)
[2024.02.10-22.47.45:170][  0]LogModuleManager: Shutting down and abandoning module SSL (11)
[2024.02.10-22.47.45:172][  0]LogModuleManager: Shutting down and abandoning module CrashDebugHelper (8)
[2024.02.10-22.47.45:172][  0]LogModuleManager: Shutting down and abandoning module CoreUObject (6)
[2024.02.10-22.47.45:172][  0]LogModuleManager: Shutting down and abandoning module PakFile (4)
[2024.02.10-22.47.45:173][  0]LogModuleManager: Shutting down and abandoning module RSA (3)
[2024.02.10-22.47.45:177][  0]LogExit: Exiting.
dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
CommonUnixCrashHandler: Signal=11
Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
Segmentation fault (core dumped)
>>> Checking for existence of default credentials
>>> Doing an update and validate of the gameserver files
time="2024-02-10T23:47:47+01:00" level=info msg="read crontab: cronlist"
tid(17) burning pthread_key_t == 0 so we never use it
Redirecting stderr to '/home/steam/Steam/logs/stderr.txt'
Logging directory: '/home/steam/Steam/logs'
[  0%] Checking for available updates...
[----] Verifying installation...
Steam Console Client (c) Valve Corporation - version 1705108307
-- type 'quit' to exit --
Loading Steam API...OK
Connecting anonymously to Steam Public...OK
Waiting for client config...OK
Waiting for user info...OK
 Update state (0x5) verifying install, progress: 0.46 (10485760 / 2260368082)
 Update state (0x5) verifying install, progress: 23.23 (525176717 / 2260368082)
 Update state (0x5) verifying install, progress: 50.75 (1147104141 / 2260368082)
 Update state (0x5) verifying install, progress: 78.06 (1764516542 / 2260368082)
Success! App '2394010' fully installed.
>>> Starting the gameserver
>>> Setting up Engine.ini ...
> SERVER_SETTINGS_MODE is set to auto, using environment variables to configure the server!
>Found [/Script/OnlineSubsystemUtils.IpNetDriver] section
>Found NetServerMaxTickRate parameter, changing it to 120
>>> Finished setting up Engine.ini ...
>>> Setting up PalWorldSettings.ini ...
> Checking if config already exists
> Found existing config
> SERVER_SETTINGS_MODE is set to auto, using environment variables to configure the server!
> Setting Difficulty to None
> Setting DayTimeSpeedRate to 1.000000
> Setting NightTimeSpeedRate to 1.000000
> Setting ExpRate to 2.000000
> Setting PalCaptureRate to 2.000000
> Setting PalSpawnNumRate to 2.000000
> Setting PalDamageRateAttack to 1.000000
> Setting PalDamageRateDefense to 1.000000
> Setting PlayerDamageRateAttack to 1.000000
> Setting PlayerDamageRateDefense to 1.000000
> Setting PlayerStomachDecreaceRate to 0.500000
> Setting PlayerStaminaDecreaceRate to 0.100000
> Setting PlayerAutoHPRegeneRate to 4.000000
> Setting PlayerAutoHpRegeneRateInSleep to 4.000000
> Setting PalStomachDecreaceRate to 0.500000
> Setting PalStaminaDecreaceRate to 
> Setting PalAutoHPRegeneRate to 4.000000
> Setting PalAutoHpRegeneRateInSleep to 4.000000
> Setting BuildObjectDamageRate to 1.000000
> Setting BuildObjectDeteriorationDamageRate to 0.000000
> Setting CollectionDropRate to 4.000000
> Setting CollectionObjectHpRate to 1.000000
> Setting CollectionObjectRespawnSpeedRate to 3.000000
> Setting EnemyDropItemRate to 3.000000
> Setting DeathPenalty to Item
> Setting bEnablePlayerToPlayerDamage to false
> Setting bEnableFriendlyFire to false
> Setting bEnableInvaderEnemy to true
> Setting bActiveUNKO to false
> Setting bEnableAimAssistPad to true
> Setting bEnableAimAssistKeyboard to true
> Setting DropItemMaxNum to 3000
> Setting DropItemMaxNum_UNKO to 100
> Setting BaseCampMaxNum to 128
> Setting BaseCampWorkerMaxNum to 15
> Setting DropItemAliveMaxHours to 0.500000
> Setting bAutoResetGuildNoOnlinePlayers to false
> Setting AutoResetGuildTimeNoOnlinePlayers to 72.000000
> Setting GuildPlayerMaxNum to 20
> Setting PalEggDefaultHatchingTime to 0.100000
> Setting WorkSpeedRate to 4.000000
> Setting bIsMultiplay to false
> Setting bIsPvP to false
> Setting bCanPickupOtherGuildDeathPenaltyDrop to false
> Setting bEnableNonLoginPenalty to false
> Setting bEnableFastTravel to true
> Setting bIsStartLocationSelectByMap to true
> Setting bExistPlayerAfterLogout to false
> Setting bEnableDefenseOtherGuildPlayer to false
> Setting CoopPlayerMaxNum to 4
> Setting max-players to 32
> Setting server name to AUT-Paladium-2XP
> Setting server description to Palworld-Dedicated-Fun-Server
> Setting server admin password to aaaa
> Setting server password to bbbbb
> Setting public port to 8211
> Setting public ip to redacted
> Setting rcon-enabled to true
> Because rcon is enabled, setting rcon.yml config file
> Setting RCONPort to 25575
> Setting Region to EU
> Setting bUseAuth to true
> Setting BanListURL to https://api.palworldgame.com/api/banlist.txt
>>> Finished setting up PalWorldSettings.ini ...
> Setting Community-Mode to enabled
> Setting Multi-Core-Enchancements to enabled
Shutdown handler: initalize.
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
- Existing per-process limit (soft=1048576, hard=1048576) is enough for us (need only 1048576)
Increasing per-process limit of core file size to infinity.
- Existing per-process limit (soft=18446744073709551615, hard=18446744073709551615) is enough for us (need only 18446744073709551615)
CAppInfoCacheReadFromDiskThread took 2 milliseconds to initialize
Setting breakpad minidump AppID = 2394010
[S_API FAIL] Tried to access Steam interface SteamUser021 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamFriends017 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.

Desired behavior

I already did this on a non dockerized server. So i guess i need to do some extra work here.

Links to screenshots

No response

To Reproduce

Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Software setup

Hardware setup

Additional context

No response

jammsen commented 4 months ago

Hey @imap86 you should redacted your passwords, also im not sure how much i can help with a "LowLevelFatalError" of the gameserver. All im doing is running a binary over Docker in Linux.

Also have you tried to just re-use the entire Saved directory?

imap86 commented 4 months ago

Thanks for the Password hint/fix. 😅

Im going to try a full saved Backup and report the outcome here before closing. ✅

imap86 commented 4 months ago

Hello, here the feedback.

The problem was that i did not chmod the backed upp files properly. I uploaded the ../SaveGames/0/#HASHVALUE# via SFTP... so the server did not have write access in the first place. All my fault. Sorry.

So backing up data is working perfectly too! Just saw there would have been a discord too. Next time ill show up there first.

Greetings.

jammsen commented 4 months ago

Thanks for sharing the solution, for others!