jmkl009 / PalworldCharacterTransfer

This script transfers character between worlds in Palworld, which allows friends to transfer their characters to each other's server without losing one's progress.
93 stars 5 forks source link

脚本导致无法进入服务器 #8

Open billychannnnnn opened 4 months ago

billychannnnnn commented 4 months ago

概述

操作顺序&现象

  1. 迁移用户在目的服务器创建新角色;
  2. 执行脚本进行迁移,执行成功;
  3. 登陆该角色,发现仍然要重新新建角色;
  4. 重新新建角色;
  5. 将步骤2中产生的 <PLAYER_ID>.sav 再次覆盖回去;
  6. 此时登陆服务器,服务器报错并推出;

日志

palworld-server  | LowLevelFatalError [File:G:/works/repos/Pal_SVN/Pal-UE-App/Source/Pal/PalPlayerInventoryData.cpp] [Line: 1643] 
palworld-server  | Cannot Get Container. C, SetupInventoryMultiHelper_ServerInternal
palworld-server  | Signal 11 caught.
palworld-server  | Malloc Size=262146 LargeMemoryPoolOffset=262162 
palworld-server  | Malloc Size=131160 LargeMemoryPoolOffset=393352 
palworld-server  | Malloc Size=131160 LargeMemoryPoolOffset=524536 
palworld-server  | LogPakFile: Display: Found Pak file ../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak attempting to mount.
palworld-server  | LogPakFile: Display: Mounting pak file ../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak.
palworld-server  | LogPakFile: Display: Mounted Pak file '../../../Engine/Programs/CrashReportClient/Content/Paks/CrashReportClient.pak', mount point: '../../../Engine/'
palworld-server  | LogICUInternationalization: ICU TimeZone Detection - Raw Offset: +0:00, Platform Override: ''
palworld-server  | LogInit: Build: ++UE5+Release-5.1-CL-0
palworld-server  | LogInit: Engine Version: 5.1.1-0+++UE5+Release-5.1
palworld-server  | LogInit: Compatible Engine Version: 5.1.0-0+++UE5+Release-5.1
palworld-server  | LogInit: Net CL: 0
palworld-server  | LogInit: OS: Debian GNU/Linux 11 (bullseye) (6.2.0-37-generic), CPU: Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz, GPU: NVIDIA GeForce 940M (NVIDIA UNIX x86_64 Kernel Module  535.129.03  Thu Oct 19 18:56:32 UTC 2023)
palworld-server  | LogInit: Compiled (64-bit): Dec 31 2023 20:12:22
palworld-server  | LogInit: Compiled with Clang: 13.0.1 (https://github.com/llvm/llvm-project 75e33f71c2dae584b13a7d1186ae0a038ba98838)
palworld-server  | LogInit: Build Configuration: Shipping
palworld-server  | LogInit: Branch Name: ++UE5+Release-5.1
palworld-server  | LogInit: Command Line:  -Abslog="/palworld/Pal/Saved/Logs/Pal-CRC.log" -Unattended -ImplicitSend "/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-90-550258E1C8794CCDABF58591411DA872/" -unattended
palworld-server  | LogInit: Base Directory: /palworld/Engine/Binaries/Linux/
palworld-server  | LogInit: Allocator: Mimalloc
palworld-server  | LogInit: Installed Engine Build: 1
palworld-server  | LogInit: Presizing for max 100000 objects, including 0 objects not considered by GC, pre-allocating 0 bytes for permanent pool.
palworld-server  | LogInit: Object subsystem initialized
palworld-server  | [2024.02.08-18.13.51:995][  0]LogConfig: Applying CVar settings from Section [ConsoleVariables] File [Engine]
palworld-server  | [2024.02.08-18.13.51:995][  0]LogInit: Unix hardware info:
palworld-server  | [2024.02.08-18.13.51:995][  0]LogInit:  - we are the first instance of this executable
palworld-server  | [2024.02.08-18.13.51:995][  0]LogInit:  - this process' id (pid) is 172, parent process' id (ppid) is 90
palworld-server  | [2024.02.08-18.13.51:995][  0]LogInit:  - we are not running under debugger
palworld-server  | [2024.02.08-18.13.51:995][  0]LogInit:  - machine network name is 'd57451ecefe9'
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - user name is 'steam' (steam)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - we're logged in locally
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - we're running with rendering
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - CPU: GenuineIntel 'Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz' (signature: 0x406E3)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - Number of physical cores available for the process: 2
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - Number of logical cores available for the process: 4
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - Cache line size: 64
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - GPU Brand Info: NVIDIA GeForce 940M (NVIDIA UNIX x86_64 Kernel Module  535.129.03  Thu Oct 19 18:56:32 UTC 2023)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - Memory allocator used: Mimalloc
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - This binary is optimized with LTO: no, PGO: no, instrumented for PGO data collection: no
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - This is an internal build.
palworld-server  | [2024.02.08-18.13.51:996][  0]LogCore: Skipped benchmarking clocks because the engine is running in a standalone program mode - CLOCK_MONOTONIC will be used.
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit: Unix-specific commandline switches:
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -ansimalloc - use malloc()/free() from libc (useful for tools like valgrind and electric fence)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -jemalloc - use jemalloc for all memory allocation
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -binnedmalloc - use binned malloc  for all memory allocation
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -filemapcachesize=NUMBER - set the size for case-sensitive file mapping cache
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -useksm - uses kernel same-page mapping (KSM) for mapped memory (OFF)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -ksmmergeall - marks all mmap'd memory pages suitable for KSM (OFF)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -preloadmodulesymbols - Loads the main module symbols file into memory (OFF)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -sigdfl=SIGNAL - Allows a specific signal to be set to its default handler rather then ignoring the signal
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -crashhandlerstacksize - Allows setting crash handler stack sizes (204800)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -noexclusivelockonwrite - disables marking files created by the engine as exclusive locked while the engine has them opened
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -httpproxy=ADDRESS:PORT - redirects HTTP requests to a proxy (only supported if compiled with libcurl)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -reuseconn - allow libcurl to reuse HTTP connections (only matters if compiled with libcurl)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  -virtmemkb=NUMBER - sets process virtual memory (address space) limit (overrides VirtualMemoryLimitInKB value from .ini)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - Physical RAM available (not considering process quota): 16 GB (15851 MB, 16231612 KB, 16621170688 bytes)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - VirtualMemoryAllocator pools will grow at scale 1.4
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - MemoryRangeDecommit() will be a no-op (re-run with -vmapoolevict to change)
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - PageSize 4096
palworld-server  | [2024.02.08-18.13.51:996][  0]LogInit:  - BinnedPageSize 65536
palworld-server  | [2024.02.08-18.13.52:001][  0]LogUObjectArray: 419 objects as part of root set at end of initial load.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogUObjectAllocator: 89056 out of 0 bytes used by permanent object pool.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogUObjectArray: CloseDisregardForGC: 0/0 objects in disregard for GC pool
palworld-server  | [2024.02.08-18.13.52:001][  0]LogPaths: Warning: No paths for game localization data were specifed in the game configuration.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogInit: Using OS detected language (en-US-POSIX).
palworld-server  | [2024.02.08-18.13.52:001][  0]LogInit: Using OS detected locale (en-US-POSIX).
palworld-server  | [2024.02.08-18.13.52:001][  0]LogInit: Warning: No paths for engine localization data were specifed in the engine configuration.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the language.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the locale.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogInit: Using OS detected language (en-US-POSIX).
palworld-server  | [2024.02.08-18.13.52:001][  0]LogInit: Using OS detected locale (en-US-POSIX).
palworld-server  | [2024.02.08-18.13.52:001][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the language.
palworld-server  | [2024.02.08-18.13.52:001][  0]LogTextLocalizationManager: No localization for 'en-US-POSIX' exists, so 'en' will be used for the locale.
palworld-server  | [2024.02.08-18.13.52:002][  0]LogPackageLocalizationCache: Processed 2 localized package path(s) for 1 prioritized culture(s) in 0.000492 seconds
palworld-server  | [2024.02.08-18.13.52:002][  0]CrashReportCoreLog: CrashReportClientVersion=1.0
palworld-server  | [2024.02.08-18.13.52:002][  0]CrashReportCoreLog: CrashReportReceiver disabled
palworld-server  | [2024.02.08-18.13.52:002][  0]CrashReportCoreLog: DataRouterUrl: https://o1291919.ingest.sentry.io/api/6513339/unreal/4a1a3921f51f4975b4cf8dd19022cb20/
palworld-server  | [2024.02.08-18.13.52:003][  0]CrashReportCoreLog: Initial state = Unknown UploadState value
palworld-server  | [2024.02.08-18.13.52:003][  0]CrashReportCoreLog: Initial state = Unknown UploadState value
palworld-server  | [2024.02.08-18.13.52:004][  0]LogCrashDebugHelper: DepotName: //UE5/Release-5.1
palworld-server  | [2024.02.08-18.13.52:004][  0]LogCrashDebugHelper: BuiltFromCL: 0
palworld-server  | [2024.02.08-18.13.52:004][  0]LogCrashDebugHelper: EngineVersion: 5.1.1-0+++UE5+Release-5.1
palworld-server  | [2024.02.08-18.13.52:004][  0]LogCrashDebugHelper: BuildVersion: ++UE5+Release-5.1-CL-0
palworld-server  | [2024.02.08-18.13.52:980][  0]CrashReportCoreLog: Got 3 pending files to upload from 'crashinfo-Pal-pid-90-550258E1C8794CCDABF58591411DA872'
palworld-server  | [2024.02.08-18.13.52:980][  0]CrashReportCoreLog: State change from Ready to SendingFiles
palworld-server  | [2024.02.08-18.13.52:980][  0]CrashReportCoreLog: CompressAndSendData have 3 pending files
palworld-server  | [2024.02.08-18.13.52:980][  0]CrashReportCoreLog: CompressAndSendData compressing 152 bytes ('/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-90-550258E1C8794CCDABF58591411DA872/CrashReportClient.ini')
palworld-server  | [2024.02.08-18.13.52:980][  0]CrashReportCoreLog: CompressAndSendData compressing 5077 bytes ('/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-90-550258E1C8794CCDABF58591411DA872/Diagnostics.txt')
palworld-server  | [2024.02.08-18.13.52:980][  0]CrashReportCoreLog: CompressAndSendData compressing 15020 bytes ('/palworld/Pal/Saved/Crashes/crashinfo-Pal-pid-90-550258E1C8794CCDABF58591411DA872/CrashContext.runtime-xml')
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit: Using libcurl 7.83.1
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - built for Linux
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - supports SSL with OpenSSL/1.1.1n
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - supports HTTP deflate (compression) using libz 1.2.12
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - other features:
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:      CURL_VERSION_SSL
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:      CURL_VERSION_LIBZ
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:      CURL_VERSION_IPV6
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:      CURL_VERSION_ASYNCHDNS
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:      CURL_VERSION_LARGEFILE
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  CurlRequestOptions (configurable via config and command line):
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - bVerifyPeer = false  - Libcurl will NOT verify peer certificate
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - bUseHttpProxy = false  - Libcurl will NOT use HTTP proxy
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - bDontReuseConnections = false  - Libcurl will reuse connections
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - MaxHostConnections = 16  - Libcurl will limit the number of connections to a host
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - LocalHostAddr = Default
palworld-server  | [2024.02.08-18.13.52:995][  0]LogInit:  - BufferSize = 65536
palworld-server  | [2024.02.08-18.13.52:995][  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
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: invalid HTTP response code received. URL: 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, HTTP code: 0, content length: 0, actual payload size: 0
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: request failed, libcurl error: 35 (SSL connect error)
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: libcurl info message cache 0 (  Trying 34.120.195.249:443...)
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: libcurl info message cache 1 (Connected to o1291919.ingest.sentry.io (34.120.195.249) port 443 (#0))
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: libcurl info message cache 2 (ALPN: offers http/1.1)
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: libcurl info message cache 3 (TLSv1.3 (OUT), TLS handshake, Client hello (1):)
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: libcurl info message cache 4 (OpenSSL SSL_connect: Connection reset by peer in connection to o1291919.ingest.sentry.io:443 )
palworld-server  | [2024.02.08-18.13.58:049][  0]LogHttp: Warning: 0xb9613fd5a00: libcurl info message cache 5 (Closing connection 0)
palworld-server  | [2024.02.08-18.13.58:049][  0]CrashReportCoreLog: OnProcessRequestComplete(), State=SendingFiles bSucceeded=0
palworld-server  | [2024.02.08-18.13.58:049][  0]CrashReportCoreLog: Warning: File upload failed to data router
palworld-server  | [2024.02.08-18.13.58:049][  0]CrashReportCoreLog: State change from SendingFiles to Cancelled
palworld-server  | [2024.02.08-18.13.59:056][  0]CrashReportCoreLog: Final state (Receiver) = Cancelled
palworld-server  | [2024.02.08-18.13.59:056][  0]CrashReportCoreLog: Final state (Receiver) = Unknown UploadState value
palworld-server  | [2024.02.08-18.13.59:056][  0]LogCore: Engine exit requested (reason: CrashReportClientApp RequestExit)
palworld-server  | [2024.02.08-18.13.59:056][  0]LogExit: Preparing to exit.
palworld-server  | [2024.02.08-18.13.59:061][  0]LogExit: Object subsystem successfully closed.
palworld-server  | [2024.02.08-18.13.59:061][  0]LogModuleManager: Shutting down and abandoning module HTTP (12)
palworld-server  | [2024.02.08-18.13.59:090][  0]LogModuleManager: Shutting down and abandoning module SSL (11)
palworld-server  | [2024.02.08-18.13.59:093][  0]LogModuleManager: Shutting down and abandoning module CrashDebugHelper (8)
palworld-server  | [2024.02.08-18.13.59:093][  0]LogModuleManager: Shutting down and abandoning module CoreUObject (6)
palworld-server  | [2024.02.08-18.13.59:093][  0]LogModuleManager: Shutting down and abandoning module PakFile (4)
palworld-server  | [2024.02.08-18.13.59:093][  0]LogModuleManager: Shutting down and abandoning module RSA (3)
palworld-server  | [2024.02.08-18.13.59:095][  0]LogExit: Exiting.
palworld-server  | dlmopen steamservice.so failed: steamservice.so: cannot open shared object file: No such file or directory
palworld-server  | CommonUnixCrashHandler: Signal=11
palworld-server  | Engine crash handling finished; re-raising signal 11 for the default handler. Good bye.
palworld-server  | Segmentation fault (core dumped)
jmkl009 commented 4 months ago

目前脚本不支持linux,不好意思啊

billychannnnnn commented 4 months ago

好的哈,可以备注下可执行环境~

BTW,什么时候下一个release?我是用最新的release还是main下latest的代码?

jmkl009 commented 4 months ago

大概今天就会push一个性能优化release

billychannnnnn commented 4 months ago

大概今天就会push一个性能优化release

Get. Double confirm 一下:“脚本不支持 linux” 是指不支持在 linus 下执行该脚本,还是 linux 启动的游戏服务存档不支持呢(虽然我理解应该是前者)。

jmkl009 commented 4 months ago

其实是后者,linux启动的游戏存档不支持

jmkl009 commented 4 months ago

@billychannnnnn 你的问题是人物存档和世界存档不匹配,因为重新创建人物后人物文件里的索引都会变,再用之前的索引肯定会bug。我以前一直以为迁移后登陆不进是linux的存档格式不匹配导致的,然而我刚刚意识到windows和linux存档的结构没有区别,所以理论上脚本在linux上也能用只是我没试过。

现在有一个可能是你在转移文件的时候没关服务器。这样的话level.sav并没有真的被覆盖,而是一直被服务器覆盖。 另一个可能是你只转移了人物文件到服务器上而没转移Level.sav。

如果都不是我就要问你一个问题了。“登陆该角色,发现仍然要重新新建角色“,登陆其他角色呢有影响到其他角色吗?如果没有影响的话,你能把两边的Level.sav以及人物角色的存档,还有你第一次运行时产生的level.sav和人物角色都发给我研究一下吗?我这边研究一下确认发生了什么。

jmkl009 commented 4 months ago

@billychannnnnn 你的问题可以通过简单的删除players/下的人物然后就能创建新人物了