cheahjs / palworld-save-tools

Tools for converting Palworld .sav files to JSON and back
MIT License
790 stars 71 forks source link

Incompatibility with v0.2.0.6 #167

Open IdioticRemi opened 6 months ago

IdioticRemi commented 6 months ago

Have you modified the save files

No

Have you tried the latest release

Yes, I tried using version 0.21.0 and version 0.20.0

Describe the bug/reproduction steps

Exact command ran:

palworld-save-tools data/Pal/Saved/SaveGames/0/A48A41F040C0E4D0B80F16BA19CD40EB/Level.sav

Exception message:

Warning: EOF not reached for Crusher PalMapObjectConvertItemModel: ori: 6274c526fd807f4093e297da098130f6856c02899f78594baf7aa9a9635cb8b30e00000050616c5f6372797374616c5f53003d010000580200000000803f00000000 remaining: 4

Full logs:

Converting data/Pal/Saved/SaveGames/0/A48A41F040C0E4D0B80F16BA19CD40EB/Level.sav to JSON, saving to data/Pal/Saved/SaveGames/0/A48A41F040C0E4D0B80F16BA19CD40EB/Level.sav.json
Decompressing sav file
Loading GVAS file
Traceback (most recent call last):
  File "/home/ubuntu/.local/bin/palworld-save-tools", line 8, in <module>
    sys.exit(main())
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/commands/convert.py", line 71, in main
    convert_sav_to_json(
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/commands/convert.py", line 114, in convert_sav_to_json
    gvas_file = GvasFile.read(
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/gvas.py", line 131, in read
    gvas_file.properties = reader.properties_until_end()
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/archive.py", line 386, in properties_until_end
    properties[name] = self.property(type_name, size, f"{path}.{name}")
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/archive.py", line 399, in property
    value = self.struct(path)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/archive.py", line 510, in struct
    value = self.struct_value(struct_type, path)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/archive.py", line 537, in struct_value
    return self.properties_until_end(path)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/archive.py", line 386, in properties_until_end
    properties[name] = self.property(type_name, size, f"{path}.{name}")
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/archive.py", line 396, in property
    value = self.custom_properties[path][0](self, type_name, size, path)
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/rawdata/map_object.py", line 45, in decode
    map_concrete_model.decode_bytes(
  File "/home/ubuntu/.local/lib/python3.10/site-packages/palworld_save_tools/rawdata/map_concrete_model.py", line 441, in decode_bytes
    raise Exception(
Exception: Warning: EOF not reached for Crusher PalMapObjectConvertItemModel: ori: 6274c526fd807f4093e297da098130f6856c02899f78594baf7aa9a9635cb8b30e00000050616c5f6372797374616c5f53003d010000580200000000803f00000000 remaining: 4

Additional Info

This was all done on a Ubuntu 22.04 server Python version: v3.10.12

Copy of Level.sav file

Level.sav.zip

cheahjs commented 6 months ago

Which version of the game was this on?

IdioticRemi commented 6 months ago

I think it updated this morning, so it should be v0.2.0.6

IdioticRemi commented 6 months ago

I tried converting a backup I have from yesterday, and there is no issue in the convert process. They might have updated some structs i guess.

IdioticRemi commented 6 months ago

Note: I just realized the save file I attached to the issue is probably is the old one, my bad here's the "broken" one Level.zip

cheahjs commented 6 months ago

Yeah I suspect that they've added new bits of data, I'll need to handle this more gracefully.

ProjectEnzoGH commented 6 months ago
ZikryZAzhar commented 6 months ago
cheahjs commented 6 months ago

I've made a release that should cover the issues that have been reported so far: https://github.com/cheahjs/palworld-save-tools/releases/tag/v0.22.0

ProjectEnzoGH commented 6 months ago

I am getting this message still:

Warning: Unknown map object concrete model PalBuildObjectRaidBossSummon, skipping

Should we add PalBuildObjectRaidBossSummon to NO_OP_TYPES for now?

bodziarr commented 5 months ago

Owner

Can verify https://github.com/xNul/palworld-host-save-fix works when using the latest tag 0.22.0 of this repo. Thanks.