Closed getteq closed 5 months ago
I downloaded your game archive file and ran it in my own docker container without any problems, here is the picture after running...
Combined with your log, the conversion always ends in a very short time with no error message, and I have not encountered this situation.
To further understand the problem, please tell me the server hardware configuration you use, the system architecture, and the environment variables you specify when docker run
It's far different that what I expected! My server ran on my nas server which consited by i5 10400f h410m ddr4 64gb OS:OMV6(NAS OS) ssd samsung evo 250gb
I'll check file permissin right now....
If you have access to the container's shell, try running the archive parser directly to see its output. After entering the interactive terminal of the container, you can run the following command:
# docker exec -it ......
./sav_cli -f /game/SavedGames/0/......./Level.sav -o structure.json
[SAV-CLI] 2024/03/17 - 10:12:00 | INFO | Converting...
Traceback (most recent call last):
File "sav_cli.py", line 31, in
......maybe I made very simple mistake when i purge docker before and make again. I'll check what file location actually made it is....
wait a minute is your directory ./sav_cli -f /game/SavedGames/0/......./Level.sav -o structure.json is correct? not ./sav_cli -f /game/SaveGames/0/......./Level.sav -o structure.json? I changed it to ./sav_cli -f /game/SaveGames/0/......./Level.sav -o structure.json and succesfully working now
I don't know what the hell is going on now but yeah it's converting correctly
It was weird, it seemed like it ended without warning or error
It was weird, it seemed like it ended without warning or error
https://palworld.chanhome.xyz And you know, actually my server is still online, I just double checked file permission and file location now and still can not read sav file.And basically my sav file is able to work on your system right?
Just I wonder, 2024/03/17 - 05:59:20 | ERROR | task/task.go:71 | error waiting for command: signal: killed What does it means? I think it is the main cause of this problem, I already purged currupted save file because I've already see this (https://github.com/zaigie/palworld-server-tool/issues/181) And maybe sav file is clean i think....
Your problem is different from #181, it will show a more obvious error, but yours does not have any error, error waiting for command: signal: killed
actually means "ended unexpectedly without warning/error".
So I think the root cause of the problem may be a system difference, and further, it may be a third-party library that I use to parse the archive, palworld-save-tools.
Of course, the easiest way is to put pst on any other machine, and deploy PST-Agent to the machine with palserver.
https://github.com/zaigie/palworld-server-tool/blob/main/README.en.md#agent-deployment
Yeah... basically my server's os is Open media vault6, so it is not desirable os to run server actually.... I think my case is very very rare case to find out maybe.
If things not working really well, you know, oracle free tier may help me. I'll try later.
Of course, the easiest way is to put pst on any other machine, and deploy PST-Agent to the machine with palserver.
https://github.com/zaigie/palworld-server-tool/blob/main/README.en.md#agent-deployment
Ok, so basically it's my machine's problem. IDK what actually cause such problem, May be I just need to reboot my server now since i run this server without reboot for 5month actually. But in VM on my free google cloud account it's successfully convert it locally. I'll just consider this issue as natural disaster. I'll try PST agent method and leave result later
Your problem is different from #181, it will show a more obvious error, but yours does not have any error,
error waiting for command: signal: killed
actually means "ended unexpectedly without warning/error".So I think the root cause of the problem may be a system difference, and further, it may be a third-party library that I use to parse the archive, palworld-save-tools.
Of course, the easiest way is to put pst on any other machine, and deploy PST-Agent to the machine with palserver.
https://github.com/zaigie/palworld-server-tool/blob/main/README.en.md#agent-deployment
http://20.249.172.245:8080/ Not Perfect solution, but at least working thx
Can't reproduce on other machine but can bypass the bug. Maybe not a big deal actually. For me, I solved it at least.
@getteq, @zaigie
The reason is that cmd.Wait() in 'Decode' at line 75 of /internal/tool/save.go generates an error due to out of memory.
If you have set memory options in Docker execution options, you must delete those settings or let loose a bit.
The current deployment guide to "-m 256M --memory-swap=4G" as optional, and if you set that option, you must delete it and run the Docker container again.
@getteq, @zaigie
The reason is that cmd.Wait() in 'Decode' at line 75 of /internal/tool/save.go generates an error due to out of memory.
If you have set memory options in Docker execution options, you must delete those settings or let loose a bit.
The current deployment guide to "-m 256M --memory-swap=4G" as optional, and if you set that option, you must delete it and run the Docker container again.
I'll check it in my old system.
@getteq, @zaigie
The reason is that cmd.Wait() in 'Decode' at line 75 of /internal/tool/save.go generates an error due to out of memory.
If you have set memory options in Docker execution options, you must delete those settings or let loose a bit.
The current deployment guide to "-m 256M --memory-swap=4G" as optional, and if you set that option, you must delete it and run the Docker container again.
You were right, and I can reproduce error when I added "-m 256M --memory-swap=4G" make such error again.
This parameter that restricts memory operation was originally a solution submitted by a contributor to prevent excessive memory consumption in a version below v0.5.2.
It seems that it is no longer needed today when the archive parsing tool is optimized.
I will modify README.md to remind everyone to use this optional parameter carefully or not.
Thanks for your attempt and solution.
Well I think I find out what actually heppend in my system when converting, ram usage rise up to 500-600mb and it cause OOM.
Actually, I tried to reproduce this error in many other case and in AWS lightsail instance, I can make very simmillar error Instance: 1GBRAM, 2 vCPU, 40GB SSD
Amazon Linux 2
서울, 영역 A (ap-northeast-2a)
2024/03/19 - 02:02:08 | INFO | source/http.go:15 | downloading sav.zip from http://chanhome.xyz:5975/sync
2024/03/19 - 02:02:08 | INFO | source/http.go:52 | sav.zip downloaded and extracted
[SAV-CLI] 2024/03/19 - 02:02:09 | INFO | Converting...
Traceback (most recent call last):
File "sav_cli.py", line 31, in
Since this instance only has 1gb ram and share ram with other thing like nginx and etc, I think this is just caused by out of memory
Although the parsing library for this reference has been optimized for reading and writing as much as possible, the system will still use as much memory and virtual memory as possible when parsing archives larger than 20MB. The current conservative approach is to allocate 2GB of backup memory (including virtual memory).
I don't know what the hell is going on, but suddenly it failed to convert it
I use docker image and this is what my server's staus is https://palworld.chanhome.xyz As you see this, container failed to convert save file. I've purged and re installed this container several times so my monitoring services lost its backup data..... but before 2weeks ago, this palworld-server-tool just working great.
Now I can monitor information like steamid guid, player name, but i can't monitor their inventory and other things. I really whish to use this again, so please give me some hint for me.
*Note, I use auto save repair tool (https://github.com/YDKK/palworld-save-repair) which made by ydkk and actually several bugged sav file already purged Maybe i missed something, but i already tried something about broken player's sav file. IDK which file actually make PST tool bugged
docker log
[SAV-CLI] 2024/03/17 - 05:55:18 | INFO | Converting... 2024/03/17 - 05:55:19 | ERROR | task/task.go:71 | error waiting for command: signal: killed 2024/03/17 - 05:55:19 | INFO | task/task.go:73 | Sav sync done 2024/03/17 - 05:55:23 | WARN | tool/rcon.go:120 | dream steam_id contains no-ascii case error, set to empty 2024/03/17 - 05:55:23 | INFO | task/task.go:51 | Rcon sync done 2024/03/17 - 05:56:18 | INFO | task/task.go:42 | Scheduling Rcon sync... 2024/03/17 - 05:56:23 | WARN | tool/rcon.go:120 | dream steam_id contains no-ascii case error, set to empty 2024/03/17 - 05:56:23 | INFO | task/task.go:51 | Rcon sync done 2024/03/17 - 05:57:18 | INFO | task/task.go:42 | Scheduling Rcon sync... 2024/03/17 - 05:57:18 | INFO | task/task.go:68 | Scheduling Sav sync... [SAV-CLI] 2024/03/17 - 05:57:18 | INFO | Converting... 2024/03/17 - 05:57:19 | ERROR | task/task.go:71 | error waiting for command: signal: killed 2024/03/17 - 05:57:19 | INFO | task/task.go:73 | Sav sync done 2024/03/17 - 05:57:23 | WARN | tool/rcon.go:120 | dream steam_id contains no-ascii case error, set to empty 2024/03/17 - 05:57:23 | INFO | task/task.go:51 | Rcon sync done 2024/03/17 - 05:58:18 | INFO | task/task.go:42 | Scheduling Rcon sync... 2024/03/17 - 05:58:23 | WARN | tool/rcon.go:120 | dream steam_id contains no-ascii case error, set to empty 2024/03/17 - 05:58:23 | INFO | task/task.go:51 | Rcon sync done 2024/03/17 - 05:59:18 | INFO | task/task.go:68 | Scheduling Sav sync... 2024/03/17 - 05:59:18 | INFO | task/task.go:42 | Scheduling Rcon sync... [SAV-CLI] 2024/03/17 - 05:59:18 | INFO | Converting... 2024/03/17 - 05:59:20 | ERROR | task/task.go:71 | error waiting for command: signal: killed 2024/03/17 - 05:59:20 | INFO | task/task.go:73 | Sav sync done 2024/03/17 - 05:59:23 | WARN | tool/rcon.go:120 | dream steam_id contains no-ascii case error, set to empty 2024/03/17 - 05:59:23 | INFO | task/task.go:51 | Rcon sync don
This my server's save file and IDK why it's not able to convert it. [[file deleted]]