NOTA: ESTA GUÍA NO ES PARA COOP PARA SERVIDOR DEDICADO!
Al transferir datos guardados desde el servidor dedicado de Steam a Linux SteamCMD, un problema común es que los jugadores’ los datos se perderán, En esta guía proporcionaré una posible razón de este fenómeno y los pasos para transferir correctamente los datos guardados..
requisitos previos
Servidor Linux con SteamCMD y servidor dedicado Palworld instalado, deberías poder iniciar el servidor y unirte a él.
TL;DR
- Copie su carpeta de guardado de …\SteamLibrarysteamappscommonPalServerPalSavedSaveGames{TU_GUARDADO_ID} en Windows.
- Pega tu carpeta de guardado en .vapor/SteamApps/common/PalServer/Pal/Saved/SaveGames/0/{TU_GUARDADO_ID}.
- Modificar Nombre del servidor dedicado en .vapor/SteamApps/common/PalServer/Pal/Saved/Config/LinuxServer/GameUserSettings.ini a YOUR_SAVE_ID.
- Crear carpeta .vapor/sdk64 (mkdir -p ~/.steam/sdk64).
- Copiar .vapor/steamcmd/linux64/steamclient.so a .vapor/sdk64/steamclient.so.
- Modificar (o crear si no existe) el contenido de .vapor/SteamApps/common/PalServer/Binaries/LinuxServer/steam_appid.txt a 1623730.
- Inicie el servidor, si ves que hay algo como «Configuración del minivolcado de breakpad AppID = xxxxxxx» en la salida de su servidor, todo debería estar bien.
Causa del problema
El problema clave es que el GUID del reproductor es diferente entre Linux y Windows.. Cuando te unes a un servidor Linux, no puede obtener el mismo GUID que utilizó anteriormente en Windows, por lo tanto, El servidor te tratará como a un nuevo jugador.. Pero ¿por qué los GUID son diferentes?? Creo que puede estar relacionado con la API de Steam y la forma en que Palword genera GUID., Lo siguiente es sólo mi suposición.
Cuando un jugador se une a un servidor palworld, el servidor primero intentará usar la API de Steam para obtener la identificación del jugador, y luego, según este ID, genere un GUID para el reproductor. Sin embargo, si la API de Steam no está disponible, el servidor generará un GUID basado en otras reglas/valores desconocidos. En plataforma Windows, inicias un servidor dedicado desde Steam, asi que, generalmente, La API de Steam siempre está disponible y bien configurada, luego el GUID se genera en función de su ID de Steam. Pero en la plataforma Linux, necesitas proporcionar steamclient.so y steam_appid.txt para que la API de Steam esté disponible. Si no configuraste estos, el servidor generará un GUID basado en algunas reglas/valores desconocidos del jugador, que es totalmente diferente del GUID generado en Windows.
Para comprobar esto, puede configurar AdminPassword en PalWorldSettings.ini, unirse a un servidor, escriba /Contraseña de administrador {TU_ADMIN_PWD} en el cuadro de chat para convertirse en administrador, luego presione ESC y su ID de usuario se mostrará en la pantalla. Deberías descubrir que el valor es diferente entre Linux y Windows para el mismo reproductor..