Incompatibility with v0.2.0.6
IdioticRemi opened this issue · 10 comments
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
Which version of the game was this on?
I think it updated this morning, so it should be v0.2.0.6
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.
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
Yeah I suspect that they've added new bits of data, I'll need to handle this more gracefully.
- ConcreteModel PalMapObjectConvertItemModel (4) and PalMapObjectDeathPenaltyStorageModel (8) both have new bytes
- .worldSaveData.ItemContainerSaveData.Value.RawData has 4 new bytes
- .worldSaveData.InvaderSaveData Key/Value struct unknown. (MapProperty<Struct(Guid),Struct(PalInvaderSaveData)>)
- Altar and PickupItem_CaveMushroom are two of the new items. (Haven't gotten more at this point)
- Map object 'CopperPit' not in database
- Map object 'CopperPit_2' not in database,
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
I am getting this message still:
Warning: Unknown map object concrete model PalBuildObjectRaidBossSummon, skipping
Should we add PalBuildObjectRaidBossSummon to NO_OP_TYPES for now?
Owner
Can verify https://github.com/xNul/palworld-host-save-fix works when using the latest tag 0.22.0 of this repo. Thanks.