Closed Zarrsito closed 8 months ago
This might be the same case as #366 where the Docker host is not capable of running 32-bit binaries due to your kernel. Box86 and steamcmd are 32-bit binaries.
I might have some ideas on how to remove this limitation. Will probably do some tests over the weekend (no promises). I'll try to remove the need for AArch32 support.
For now, I don't think there is a straightforward way of solving this problem. Although, I can also be completely off the mark as I don't have concrete knowledge about QNAP systems and its kernels.
The CPU is an ARMv8 and the documents say it should be capable of switching back to aarch32 thats why i am wondering, maybe QNAP or container station interferres with that, i will test anything u want me to do :)
This is just a page size issue. latest-arm64
has been deprecated since both architectures are now supported in the latest
tag. latest-arm64
just didn't have a page size checker.
4k page size is a strict requirement for now as most, if not all, emulation layers for ARM require 4k page size. This can only be resolved by either changing your host's kernel to a compatible one or running the Docker container within a virtual machine that has a compatible kernel. Docker Desktop does this automatically by running its containers within a VM. It seems like that is not the case for Container Station.
well i have a QNAP TS-451 NAS but its on x86 , there runs the server with no problem, but its only a dual core and QNAP changed the Page Size for Container Station last year to 64k making problems with many other docker containers too
every other palworld server avaible at docker ends up with Exec format error on my TS-932PX
ha funny i got it running by downloading this image to my ts451 and then copy the files myself to the ts932px, seems i need to use my other nas for updating the server, but at least im running it
Yes, that would be expected as the only one needing the 32-bit emulation is steamcmd which does all the updates and downloads of the game server files. The game server itself should be running fine.
the other side is the problem with the 4k page size for me, would it be possible to make a version without the check, otherwise i will run into 4k pagesize problem when this repo gets updated, maybe revive latest-arm64 ? ;D
@Zarrsito if the check is not there, it will still crash a little later in the start script.
there are several errors while starting, but in the end the server is running and i can Connect to it, i can share a log later if wanted , if anyone still wants to look further into it
Gesendet von Outlook für Androidhttps://aka.ms/AAb9ysg
From: Thijs van Loef @.> Sent: Wednesday, February 28, 2024 8:50:22 AM To: thijsvanloef/palworld-server-docker @.> Cc: Zarrsito @.>; Mention @.> Subject: Re: [thijsvanloef/palworld-server-docker] QNAP NAS - Container Station - Trouble getting Server up and Running on a ARM CPU (Issue #456)
@Zarrsitohttps://github.com/Zarrsito if the check is not there, it will still crash a little later in the start script.
— Reply to this email directly, view it on GitHubhttps://github.com/thijsvanloef/palworld-server-docker/issues/456#issuecomment-1968412380, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASWM2PK4NL5VMQUIKBTBC5TYV3OT5AVCNFSM6AAAAABD2UMZLKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGQYTEMZYGA. You are receiving this because you were mentioned.Message ID: @.***>
Would love to see the logs
i will give a log in around 7 hours :)
Gesendet von Outlook für Androidhttps://aka.ms/AAb9ysg
From: Thijs van Loef @.> Sent: Wednesday, February 28, 2024 9:24:07 AM To: thijsvanloef/palworld-server-docker @.> Cc: Zarrsito @.>; Mention @.> Subject: Re: [thijsvanloef/palworld-server-docker] QNAP NAS - Container Station - Trouble getting Server up and Running on a ARM CPU (Issue #456)
Would love to see the logs
— Reply to this email directly, view it on GitHubhttps://github.com/thijsvanloef/palworld-server-docker/issues/456#issuecomment-1968458987, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ASWM2PJNKDD7GUFQ43RLCV3YV3SSPAVCNFSM6AAAAABD2UMZLKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRYGQ2TQOJYG4. You are receiving this because you were mentioned.Message ID: @.***>
there are several errors while starting, but in the end the server is running and i can Connect to it, i can share a log later if wanted , if anyone still wants to look further into it
I'm guessing the errors are your usual ignorable ones that come up when running the server. But yes, please do provide them to confirm.
If you're able to execute it by not running the steamcmd portion, what we can do is to move the page size checker so that it would only execute if steamcmd needs to execute (during updates and initial boot mostly).
That would be a lovely change with the Page size =) and here is the log i promised :)
EXECUTING USERMOD
usermod: no changes
ARM compatibility mode enabled
Checking for new update
Current Version: 3750364703337203431
The Server is up to date!
GENERATING CONFIG
Using Env vars to create PalWorldSettings.ini
Compiling PalWorldSettings.ini
Compiling PalWorldSettings.ini done!
GENERATING CRONTAB
BACKUP_ENABLED=true
Adding cronjob for auto backups
Cronjobs started
Starting Server
./PalServer-arm64.sh -port=8211 -queryport=27015 -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -rcon
INFO[2024-02-28T15:20:16Z] read crontab: /home/steam/server/crontab
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:65536 Running on Cortex-A57 with 4 Cores
Params database has 60 entries
Box64 with Dynarec v0.2.7 0024e4b9 built on Feb 27 2024 06:20:05
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 67 Env var
BOX64 LIB PATH: /home/steam/steamcmd/linux64/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /palworld/Pal/Binaries/Linux/PalServer-Linux-Test
argv[1]="Pal"
argv[2]="-port=8211"
argv[3]="-queryport=27015"
argv[4]="-publiclobby"
argv[5]="-useperfthreads"
argv[6]="-NoAsyncLoadingThread"
argv[7]="-UseMultithreadForDS"
argv[8]="-rcon"
Rename process to "PalServer-Linux-Test"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/ThirdParty/Steamworks/Steamv153/x86_64-unknown-linux-gnu/libsteam_api.so
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/Linux/libEOSSDK-Linux-Shipping.so
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Warning, CPUID command 14 unsupported (ECX=00000000)
Shutdown handler: initalize.
Increasing per-process limit of core file size to infinity.
Waiting for RCON port to open to show player logging...
Using emulated /home/steam/steamcmd/linux64/steamclient.so
Redirecting overridden malloc from symtab function for /home/steam/steamcmd/linux64/steamclient.so
Warning: Weak Symbol _ITM_RU1 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614dad8 (0xac9f10)
Warning: Weak Symbol _ZGTtnam not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614dae0 (0xac9f10)
Warning: Weak Symbol _ITM_memcpyRtWn not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614dae8 (0xac9f10)
Warning: Weak Symbol _ITM_RU8 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614daf0 (0xac9f10)
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
Using native(wrapped) crashhandler.so
CAppInfoCacheReadFromDiskThread took 3 milliseconds to initialize
Error loading needed lib steamservice.so
Warning: Cannot dlopen("steamservice.so"/0x3ff48174760, 2)
dlmopen steamservice.so failed: Cannot dlopen("steamservice.so"/0x3ff48174760, 2)
Setting breakpad minidump AppID = 2394010 Error loading needed lib libsteam.so Warning: Cannot dlopen("libsteam.so"/0x3f0003f7d9, 2) [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. Waiting for RCON port to open to show player logging... Waiting for RCON port to open to show player logging... Waiting for RCON port to open to show player logging... [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. Waiting for RCON port to open to show player logging... [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded. Error loading needed lib libSDL3.so.0 Warning: Cannot dlopen("libSDL3.so.0"/0x3f04a65a5b, 2) Waiting for RCON port to open to show player logging...
and this one i got now after several restarts due to savegame transfer :
Signal 5 caught. Signal 11 caught. libc++abi: cxa_guard_acquire detected recursive initialization NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0ce28] NativeBT: linux-vdso.so.1(kernel_rt_sigreturn+0) [0x3ff8da304e0] NativeBT: /lib/aarch64-linux-gnu/libc.so.6(+0x80a10) [0x3ff8d8e0a10] NativeBT: /lib/aarch64-linux-gnu/libc.so.6(gsignal+0x1c) [0x3ff8d89a76c] NativeBT: /lib/aarch64-linux-gnu/libc.so.6(abort+0xf0) [0x3ff8d8874bc] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x349f5b10] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34fe48b8] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x349f5380] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0b534] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0be70] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0caa0] NativeBT: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x3ff8da304e0] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient(my_backtrace+0x140) [0x34f2d470] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a32fa0] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x349f5b10] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34fe48b8] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x349f5380] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0b534] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0be70] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0dc3c] NativeBT: [0x3ff8a460e90] EmulatedBT: box64(abort+0) [0x60080] EmulatedBT: /palworld/Engine/Binaries/Linux/CrashReportClient+20a76d6 [0x22a76d6] 0219|SIGABRT @0x3ff8d8e0a10 (???(/lib/aarch64-linux-gnu/libc.so.6+0x80a10)) (x64pc=0x60093/???:"???", rsp=0x3ff8d4c3fd8, stack=0x3ff8ccd0000:0x3ff8d4d0000 own=(nil) fp=0xdb), for accessing 0x3e8000000db (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=0xfce920 RSP-0x20:0x0000000000000000 RSP-0x18:0x0000000000000000 RSP-0x10:0x0000000067325770 RSP-0x08:0x0000000000000028 RSP+0x00:0x00000000022a76d6 RSP+0x08:0x0000003000000008 RSP+0x10:0x000003ff8d4c40d0 RSP+0x18:0x000003ff8d4c4000 RAX:0x000000000000000a RCX:0x000003ff8da01520 RDX:0x000003ff8d4c3fe0 RBX:0x0000000002543430 RSP:0x000003ff8d4c3fd8 RBP:0x00000000000000db RSI:0x000003ff8da01520 RDI:0x000000000000000a R8:0x0000000000000000 R9:0x00000000022bed12 R10:0x0000000000000000 R11:0x0000000000000000 R12:0x000003ff8d4c8602 R13:0x000003ff8d4c89f0 R14:0x000000000052b20d R15:0x0000000000000000 ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 Signal 6 caught.
That would be a lovely change with the Page size =) and here is the log i promised :)
The log is as expected. I'll move the page size checker in PR #464. Try it again after I push the changes.
and this one i got now after several restarts due to savegame transfer :
This is an entirely different issue by itself. You should probably open a different issue for this one.
so do i have to test with latest then?
@thijsvanloef Do you mind building the PR to pr-464
tag for testing again? Thanks
@sonroyaalmerol done!
Thanks again! Try using thijsvanloef/palworld-server-docker:pr-464
for testing. Make sure to pull the container again to make sure you have the updated image @Zarrsito
I´ve tested, and when there is no preinstallation made by hand this is the result :
EXECUTING USERMOD usermod: no changes ARM compatibility mode enabled Server installation not detected. Starting Installation WARNING: Only ARM64 hosts with 4k page size is supported when running steamcmd. Expect server installation to fail. tid(32) burning pthread_key_t == 0 so we never use it WARNING: setlocale('en_US.UTF-8') failed, using locale: 'C'. International characters may not work. ** ERROR:../../accel/tcg/cpu-exec.c:954:cpu_exec: assertion failed: (cpu == current_cpu) Bail out! ERROR:../../accel/tcg/cpu-exec.c:954:cpu_exec: assertion failed: (cpu == current_cpu) /home/steam/steamcmd/steamcmd.sh: line 76: 32 Trace/breakpoint trap $DEBUGGER "$STEAMEXE" "$@" cp: cannot stat './PalServer.sh': No such file or directory sed: can't read ./PalServer-arm64.sh: No such file or directory chmod: cannot access './PalServer-arm64.sh': No such file or directory ./PalServer-arm64.sh does not exist. Server Not Installed Properly
and with pre-install :
EXECUTING USERMOD
usermod: no changes
ARM compatibility mode enabled
GENERATING CONFIG
Using Env vars to create PalWorldSettings.ini
Compiling PalWorldSettings.ini
Compiling PalWorldSettings.ini done!
GENERATING CRONTAB
BACKUP_ENABLED=true
Adding cronjob for auto backups
Cronjobs started
INFO[2024-02-28T18:53:11Z] read crontab: /home/steam/server/crontab
Starting Server
./PalServer-arm64.sh -port=8211 -queryport=27015 -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -rcon
INFO[2024-02-28T15:20:16Z] read crontab: /home/steam/server/crontab
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:65536 Running on Cortex-A57 with 4 Cores
Params database has 60 entries
Box64 with Dynarec v0.2.7 0024e4b9 built on Feb 27 2024 06:20:05
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 67 Env var
BOX64 LIB PATH: /home/steam/steamcmd/linux64/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /palworld/Pal/Binaries/Linux/PalServer-Linux-Test
argv[1]="Pal"
argv[2]="-port=8211"
argv[3]="-queryport=27015"
argv[4]="-publiclobby"
argv[5]="-useperfthreads"
argv[6]="-NoAsyncLoadingThread"
argv[7]="-UseMultithreadForDS"
argv[8]="-rcon"
Rename process to "PalServer-Linux-Test"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/ThirdParty/Steamworks/Steamv153/x86_64-unknown-linux-gnu/libsteam_api.so
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/Linux/libEOSSDK-Linux-Shipping.so
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Warning, CPUID command 14 unsupported (ECX=00000000)
Shutdown handler: initalize.
Increasing per-process limit of core file size to infinity.
Waiting for RCON port to open to show player logging...
Using emulated /home/steam/steamcmd/linux64/steamclient.so
Redirecting overridden malloc from symtab function for /home/steam/steamcmd/linux64/steamclient.so
Warning: Weak Symbol _ITM_RU1 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614dad8 (0xac9f10)
Warning: Weak Symbol _ZGTtnam not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614dae0 (0xac9f10)
Warning: Weak Symbol _ITM_memcpyRtWn not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614dae8 (0xac9f10)
Warning: Weak Symbol _ITM_RU8 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f0614daf0 (0xac9f10)
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
Using native(wrapped) crashhandler.so
CAppInfoCacheReadFromDiskThread took 3 milliseconds to initialize
Error loading needed lib steamservice.so
Warning: Cannot dlopen("steamservice.so"/0x3ff48174760, 2)
dlmopen steamservice.so failed: Cannot dlopen("steamservice.so"/0x3ff48174760, 2)
Setting breakpad minidump AppID = 2394010 Error loading needed lib libsteam.so Warning: Cannot dlopen("libsteam.so"/0x3f0003f7d9, 2) [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. Waiting for RCON port to open to show player logging... Waiting for RCON port to open to show player logging... Waiting for RCON port to open to show player logging... [S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded. Waiting for RCON port to open to show player logging... [S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded. Error loading needed lib libSDL3.so.0 Warning: Cannot dlopen("libSDL3.so.0"/0x3f04a65a5b, 2) Waiting for RCON port to open to show player logging...
sometimes the following happens but not always! cli: execute: auth: rcon: rcon: read packet size: read tcp 127.0.0.1:57588->127.0.0.1:25575: i/o timeout Segmentation fault (core dumped)
Crashing without pre installation is expected. As I mentioned, if you want to "bypass" the 4k page size issue, you'd want to skip the update/downloading part. There's simply nothing we can do about this right now so I'll focus on the one with the pre-install.
I pushed some changes to the PR and added multiple box64 binaries built for different page sizes, including yours which I believe is 64k. It might help with the Segmentation fault issues.
If you don't mind pushing it to the tag for testing again when you have the time? @thijsvanloef (might probably be a good idea to add this to the CI at some point :sweat_smile:)
@sonroyaalmerol Yeah, i've been looking into automating this, however removing the images will be a pain. Image has been pushed!
so this is the result :
EXECUTING USERMOD
usermod: no changes
ARM compatibility mode enabled
Using Box64 for 64k pagesize
GENERATING CONFIG
Using Env vars to create PalWorldSettings.ini
Compiling PalWorldSettings.ini
Compiling PalWorldSettings.ini done!
GENERATING CRONTAB
BACKUP_ENABLED=true
Adding cronjob for auto backups
Cronjobs started
Starting Server
./PalServer-arm64.sh -port=8211 -queryport=27015 -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -rcon
INFO[2024-02-29T16:35:31Z] read crontab: /home/steam/server/crontab
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:65536 Running on Cortex-A57 with 4 Cores
Params database has 60 entries
Box64 with Dynarec v0.2.7 6a983691 built on Feb 29 2024 01:46:50
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 82 Env var
BOX64 LIB PATH: /home/steam/steamcmd/linux64/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /palworld/Pal/Binaries/Linux/PalServer-Linux-Test
argv[1]="Pal"
argv[2]="-port=8211"
argv[3]="-queryport=27015"
argv[4]="-publiclobby"
argv[5]="-useperfthreads"
argv[6]="-NoAsyncLoadingThread"
argv[7]="-UseMultithreadForDS"
argv[8]="-rcon"
Rename process to "PalServer-Linux-Test"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/ThirdParty/Steamworks/Steamv153/x86_64-unknown-linux-gnu/libsteam_api.so
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/Linux/libEOSSDK-Linux-Shipping.so
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Shutdown handler: initalize.
Increasing per-process limit of core file size to infinity.
Waiting for RCON port to open to show player logging...
i didnt copied everything since its always the same like the other ones, i guess i have copied what was in your interest so see ?
That looks good to me. Were you able to connect to the server as expected? If so, then I guess we're done with this issue?
well i think so , this is the complete log since i answered first, no disconnects or else
EXECUTING USERMOD
usermod: no changes
ARM compatibility mode enabled
Using Box64 for 64k pagesize
GENERATING CONFIG
Using Env vars to create PalWorldSettings.ini
Compiling PalWorldSettings.ini
Compiling PalWorldSettings.ini done!
GENERATING CRONTAB
BACKUP_ENABLED=true
Adding cronjob for auto backups
Cronjobs started
Starting Server
./PalServer-arm64.sh -port=8211 -queryport=27015 -publiclobby -useperfthreads -NoAsyncLoadingThread -UseMultithreadForDS -rcon
INFO[2024-02-29T16:35:31Z] read crontab: /home/steam/server/crontab
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:65536 Running on Cortex-A57 with 4 Cores
Params database has 60 entries
Box64 with Dynarec v0.2.7 6a983691 built on Feb 29 2024 01:46:50
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 82 Env var
BOX64 LIB PATH: /home/steam/steamcmd/linux64/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /palworld/Pal/Binaries/Linux/PalServer-Linux-Test
argv[1]="Pal"
argv[2]="-port=8211"
argv[3]="-queryport=27015"
argv[4]="-publiclobby"
argv[5]="-useperfthreads"
argv[6]="-NoAsyncLoadingThread"
argv[7]="-UseMultithreadForDS"
argv[8]="-rcon"
Rename process to "PalServer-Linux-Test"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/ThirdParty/Steamworks/Steamv153/x86_64-unknown-linux-gnu/libsteam_api.so
Using emulated /palworld/Pal/Binaries/Linux/../../../Engine/Binaries/Linux/libEOSSDK-Linux-Shipping.so
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Shutdown handler: initalize.
Increasing per-process limit of core file size to infinity.
Waiting for RCON port to open to show player logging...
Using emulated /home/steam/steamcmd/linux64/steamclient.so
Redirecting overridden malloc from symtab function for /home/steam/steamcmd/linux64/steamclient.so
Warning: Weak Symbol _ITM_RU1 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f06158018 (0xad1180)
Warning: Weak Symbol _ZGTtnam not found, cannot apply R_X86_64_JUMP_SLOT @0x3f06158020 (0xad1180)
Warning: Weak Symbol _ITM_memcpyRtWn not found, cannot apply R_X86_64_JUMP_SLOT @0x3f06158028 (0xad1180)
Warning: Weak Symbol _ITM_RU8 not found, cannot apply R_X86_64_JUMP_SLOT @0x3f06158030 (0xad1180)
[S_API] SteamAPI_Init(): Loaded local 'steamclient.so' OK.
Using native(wrapped) crashhandler.so
CAppInfoCacheReadFromDiskThread took 3 milliseconds to initialize
Setting breakpad minidump AppID = 2394010
Error loading needed lib libsteam.so
Warning: Cannot dlopen("libsteam.so"/0x3f0003f7d9, 2)
[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.
Waiting for RCON port to open to show player logging...
Waiting for RCON port to open to show player logging...
Waiting for RCON port to open to show player logging...
[S_API FAIL] Tried to access Steam interface STEAMAPPS_INTERFACE_VERSION008 before SteamAPI_Init succeeded.
Error loading needed lib libSDL3.so.0
Warning: Cannot dlopen("libSDL3.so.0"/0x3f04a6c93b, 2)
Waiting for RCON port to open to show player logging...
[S_API FAIL] Tried to access Steam interface SteamNetworkingUtils004 before SteamAPI_Init succeeded.
Waiting for RCON port to open to show player logging...
Waiting for RCON port to open to show player logging...
Waiting for RCON port to open to show player logging...
Waiting for RCON port to open to show player logging...
cli: execute: auth: rcon: rcon: read packet size: read tcp 127.0.0.1:60110->127.0.0.1:25575: i/o timeout
cli: execute: auth: rcon: rcon: read packet size: read tcp 127.0.0.1:60274->127.0.0.1:25575: i/o timeout
posix_spawnp(0x3ff248ba6fc, "/palworld/Engine/Binaries/Linux/CrashReportClient", (nil), 0x3ff248ba8b0, 0x3ff248baa80, 0x3ff9f92f308), IsX86=1 / fullpath="/palworld/Engine/Binaries/Linux/CrashReportClient"
=> posix_spawn(0x3ff248ba6fc, "/usr/local/bin/box64-64k", (nil), 0x3ff248ba8b0, 0x3ff236be240 ["/usr/local/bin/box64-64k", "/palworld/Engine/Binaries/Linux/CrashReportClient", "-Abslog="/palworld/Pal/Saved/Logs/Pal-CRC.log""...:5], 0x547c42f0)
posix_spawn returned 0
Dynarec for ARM64, with extension: ASIMD AES CRC32 PMULL SHA1 SHA2 PageSize:65536 Running on Cortex-A57 with 4 Cores
Params database has 60 entries
Box64 with Dynarec v0.2.7 6a983691 built on Feb 29 2024 01:46:50
BOX64: Didn't detect 48bits of address space, considering it's 39bits
Counted 83 Env var
BOX64 LIB PATH: /home/steam/steamcmd/linux64/:./:lib/:lib64/:x86_64/:bin64/:libs64/:/lib/x86_64-linux-gnu/:/usr/lib/x86_64-linux-gnu/
BOX64 BIN PATH: ./:bin/:/usr/local/sbin/:/usr/local/bin/:/usr/sbin/:/usr/bin/:/sbin/:/bin/
Looking for /palworld/Engine/Binaries/Linux/CrashReportClient
argv[1]="-Abslog="/palworld/Pal/Saved/Logs/Pal-CRC.log""
argv[2]="-Unattended"
argv[3]="-ImplicitSend"
argv[4]=""/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-66-7F103C42856B44C8855B663D755FDC21/""
Rename process to "CrashReportClient"
Using native(wrapped) libpthread.so.0
Using native(wrapped) libdl.so.2
Using native(wrapped) librt.so.1
Using native(wrapped) libm.so.6
Using native(wrapped) libc.so.6
Using native(wrapped) ld-linux-x86-64.so.2
Using native(wrapped) libutil.so.1
Using native(wrapped) libbsd.so.0
Using emulated /lib/x86_64-linux-gnu/libgcc_s.so.1
Assertion failed: IsAligned(GCrashHandlerStackSize, FPlatformMemory::GetConstants().PageSize) [File:.\Runtime/Core/Private/Unix/UnixPlatformCrashContext.cpp] [Line: 1103]
Signal 5 caught. Signal 11 caught. libc++abi: cxa_guard_acquire detected recursive initialization NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0b0f8] NativeBT: linux-vdso.so.1(kernel_rt_sigreturn+0) [0x3ffa30804e0] NativeBT: /lib/aarch64-linux-gnu/libc.so.6(+0x80a10) [0x3ffa2f30a10] NativeBT: /lib/aarch64-linux-gnu/libc.so.6(gsignal+0x1c) [0x3ffa2eea76c] NativeBT: /lib/aarch64-linux-gnu/libc.so.6(abort+0xf0) [0x3ffa2ed74bc] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34f667e4] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x349f3e18] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a09948] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0a1e0] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0ad80] NativeBT: linux-vdso.so.1(__kernel_rt_sigreturn+0) [0x3ffa30804e0] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient(my_backtrace+0xf4) [0x34eb0ee4] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a31204] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34f667e4] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x349f3e18] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a09948] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0a1e0] NativeBT: /palworld/Engine/Binaries/Linux/CrashReportClient() [0x34a0bf1c] NativeBT: [0x3ff9fad0e90] EmulatedBT: box64(abort+0) [0x60080] EmulatedBT: /palworld/Engine/Binaries/Linux/CrashReportClient+20a76d6 [0x22a76d6] 0195|SIGABRT @0x3ffa2f30a10 (???(/lib/aarch64-linux-gnu/libc.so.6+0x80a10)) (x64pc=0x60093/???:"???", rsp=0x3ffa2bd3dd8, stack=0x3ffa23e0000:0x3ffa2be0000 own=(nil) fp=0xc3), for accessing 0x3e8000000c3 (code=-6/prot=0), db=(nil)((nil):(nil)/(nil):(nil)/???:clean, hash:0/0) handler=0xfce920 RSP-0x20:0x0000000000000000 RSP-0x18:0x0000000000000000 RSP-0x10:0x000000006aeb5c20 RSP-0x08:0x0000000000000028 RSP+0x00:0x00000000022a76d6 RSP+0x08:0x0000003000000008 RSP+0x10:0x000003ffa2bd3ed0 RSP+0x18:0x000003ffa2bd3e00 RAX:0x000000000000000a RCX:0x000003ffa3051520 RDX:0x000003ffa2bd3de0 RBX:0x0000000002543430 RSP:0x000003ffa2bd3dd8 RBP:0x00000000000000c3 RSI:0x000003ffa3051520 RDI:0x000000000000000a R8:0x0000000000000000 R9:0x00000000022bed12 R10:0x0000000000000000 R11:0x0000000000000000 R12:0x000003ffa2bd8402 R13:0x000003ffa2bd87f0 R14:0x000000000052b20d R15:0x0000000000000000 ES:0x002b CS:0x0033 SS:0x002b DS:0x002b FS:0x0043 GS:0x0053 Signal 6 caught. cli: execute: auth: rcon: rcon: read packet size: read tcp 127.0.0.1:60514->127.0.0.1:25575: i/o timeout cli: execute: auth: rcon: rcon: read packet size: read tcp 127.0.0.1:60544->127.0.0.1:25575: i/o timeout Zarrsia has joined FUnixPlatformMisc::RequestExitWithStatus FUnixPlatformMisc::RequestExit Engine crash handling finished; re-raising signal 0 for the default handler. Good bye. Zarrsia has left Zarrsia has joined
this Signal 5 / 11 thing always happens when i log in first after server restart, but it doesn´t seem to affect the server itself cause i can connect to it...
do i have to change the version to latest later ?
and while surfing around to get infos about whats the difference between box64 and qemu (u mentioned in the other post) is , i found this , maybe thats something that could work ?
< https://box86.org/2022/03/box64-running-on-m1-with-asahi/
Now, the M1 processor is very fast ARM64 processor, but it only supports 64bits operations. No ARM32 there, so no box86. Also, the Asahi readme mentions that the Pagesize is 16K, instead of the standard 4K. That breaks a few things on the way. Fortunatly, I had already encountered a system with 16K pagesize (Loongarch64 systems), so there is some supporting code on box64 already for it. And after enabling it (plus some compilation options), box64, with dynarec, was running!
To try things, I wanted to install a simple linux game. Remember that there is no Hardware acceleration yet, so I choose WorldOfGoo, with its simple graphics (it’s still an OpenGL game). Launching the install didn’t work, as by default, the setup tries to run x86 code (32bits, so needing box86 not available here). To work around that, I created a simple uname script that spoofs the setup into thinking this is an x86_64 system:
the file simply contains
if [ "$1" == "-m" ];then echo x86_64 exit 0 fi
/bin/uname "$@" And I created an x86_64 folder in my home directory to put some pc stuffs (and that uname script)
Then I launched the setup as PATH=~/x86_64:$PATH ./WorldOfGoo.Linux.153.sh et voilà, the setup launched… But as text only… Ok, gtk2 libs are not installed. So sudo pacman -S gtk2 and try again… <
but somehow i have the feeling im wrong in this case
this Signal 5 / 11 thing always happens when i log in first after server restart, but it doesn´t seem to affect the server itself cause i can connect to it...
I've seen arm64 hosts spitting out these Signals so as long as you're able to connect then it's safe to say that you're good.
do i have to change the version to latest later ?
Yes, as soon as my PR gets merged and released by @thijsvanloef
and while surfing around to get infos about whats the difference between box64 and qemu (u mentioned in the other post) is , i found this , maybe thats something that could work ?
This is an interesting find and I wish it was as simple as that. Spoofing the uname won't work in this case. Unlike the installer mentioned in the article, steamcmd does not decide whether or not to run 32-bit code. It is all 32-bit code. It doesn't look at the uname at all.
ah okay, im still curious about this 32bit problem, since the Cortex-A57 should be able to run aarch32
Information on Cortex-A57. Architecture Armv8-A Multicore 1-4x Symmetrical Multiprocessing (SMP) within a single processor cluster, and multiple coherent SMP processor clusters through AMBA 5 CHI or AMBA 4 ACE technology ISA Support AArch32 for full backward compatibility with Armv7 AArch64 for 64-bit support and new architectural features TrustZone security technology Neon advanced SIMD DSP and SIMD extensions VFPv4 floating point Hardware virtualization support
but maybe QNAP cut off some features...
Your machine should be able to run 32-bit binaries theoretically. However, since they switched to using 64k page size, they essentially "removed" support for 32-bit as all 32-bit binaries were built with 4k page size in mind. 4k was the page size since x86 until 64-bit happened. The same concept as to why 32-bit machines can only support up to 4GB of RAM.
Basically, if you were to use an OS with 4k page size in that same exact machine (e.g. Debian or Ubuntu), none of these would be a problem.
hmm so it only because they changed the page size .... omg xD could and LXC do the job maybe ? LXC (LinuX Containers) is a OS-level virtualization technology that allows creation and running of multiple isolated Linux virtual environments (VE) on a single control host. because Container-Station can access that too
You'd need a full-on Virtual Machine with Docker inside of it if you want virtualization. Any "containerization" technologies like LXC and Docker won't work since it will still use your host's kernel which decides what page size the system is going to use.
or hack my nas , remove qts and install some normal sort of debian or ubuntu xD well thanks so far for the support, at least the server is up and running :D and i can use my other NAS to update palworld, lucky me, the next thing on my to do list is to find a way to access my palworld folder on the TS932 nas directly on the ts451 inside the container for update purposes xD
@sonroyaalmerol, @thijsvanloef , i didnt wanted to open a new issue, well this point was fixed, and funny today i was looking because of bad spawn rates and came up with the engine.ini stuff, then i saw that u guys already made a change for the engine.ini, so i use the ENV now to configure the engine.ini, but im only able to set LAN_SERVER_MAX_TICK_RATE / NET_CLIENT_TICKS_PER_SECOND / NET_SERVER_MAX_TICK_RATE , when i add the other settings and change them my server crashes just with a :
i didnt add the complete log cause its 99% the same like the other ones above
Segmentation fault (core dumped)
does this maybe belongs together? :D
You should open up a new issue for this one. If unsure, it's always a good idea to open up a new issue so we could also see how many people are experiencing the same problem as you. For all we know, it might not be a problem exclusive to ARM64. Just make sure to include as much info as you can. In the new issue, also try to include the env vars you have when it crashed and when it didn't so we can try and replicate it on our own.
Describe the bug
When Trying to run this Docker in Container Station on QNAP NAS (TS-932PX - ARM CPU) it wont start with the some errors maybe its because of Container Station
To Reproduce
Steps to reproduce the behavior:
Try to run this on a similar QNAP NAS (CPU is important) Open Container Station, Pull the Image , make settings and try to start
Expected behavior
Running a Server in Docker like on my TS-451 (Intel DualCore CPU, but its way to weak for the server xD)
Actual behavior
stop executing the Docker Container cause of fails
Screenshots
OS information
Hardware information
docker-compose.yml contents
not needed in Container Station
Container/Host Logs
EXECUTING USERMOD usermod: no changes GENERATING CONFIGS Compiling PalWorldSettings.ini... Compiling PalWorldSettings.ini done! STARTING INSTALL/UPDATE /home/steam/steamcmd/steamcmd.sh: line 38: /usr/local/bin/box86: cannot execute binary file: Exec format error cp: cannot stat './PalServer.sh': No such file or directory sed: can't read ./PalServer-arm64.sh: No such file or directory chmod: cannot access './PalServer-arm64.sh': No such file or directory ./PalServer-arm64.sh does not exist. Try restarting with UPDATE_ON_BOOT=true cli: config: parse file: read file: open rcon.yaml: no such file or directory
Additional context
I´ve Setup 2 Folders for this container /palworld and /home , do i need to create more folders maybe?