Editing PKG files
Jump to navigation
Jump to search
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 159: | Line 159: | ||
== Delivery == | == Delivery == | ||
=== Title | === Title XML === | ||
The PS4 fetches information about | The PS4 fetches information about package files (including where to download them) from an XML file. This XML file contains information such as if the latest patch is mandatory, the latest package version, the manifest, as well as information in a param.sfo file. Below is an example of a typical title XML file: | ||
<titlepatch titleid="CUSAXXXXX"> | <titlepatch titleid="CUSAXXXXX"> | ||
<tag name="37" mandatory="true"><br> | <tag name="37" mandatory="true"><br> | ||
Line 177: | Line 175: | ||
</tag> | </tag> | ||
</titlepatch> | </titlepatch> | ||
Notes: | Notes: | ||
* The 'size' attribute of the 'package' node is in bytes | * The 'size' attribute of the 'package' node is in bytes | ||
* The 'system_ver' attribute of the 'package' node | * The 'system_ver' attribute of the 'package' node should be converted to hexadecimal for system firmware version | ||
* The 'delta_info_set' node | * The 'delta_info_set' node may or may not be present depending on the package | ||
=== | === Manifest === | ||
It should be noted that PS4 package files have a maximum size of 4GB (or 4096MB), therefore large (most) games are split into chunks or pieces. This is kept track of in the manifest file, which contains JSON fields which document things such as the size of the final package after the chunks are spliced together, the digest of the final package, the number of chunks, as well as information for each chunk such as the package file URL, offset for splicing, size of the file, and the sha1 hash value of the individual chunk. | |||
originalFileSize: [size] | originalFileSize: [size] | ||
packageDigest: "[sha256 digest]" | packageDigest: "[sha256 digest]" | ||
Line 200: | Line 195: | ||
fileSize: [size, often 4294967296 until last chunk] | fileSize: [size, often 4294967296 until last chunk] | ||
hashValue: "[sha1 hash of chunk]" | hashValue: "[sha1 hash of chunk]" | ||
== Tools == | == Tools == |