Param.json
PSP/PS3/PS4/Vita used a param.sfo file for metadata. PS5 games have a similar file, but instead of .sfo it is now .json.
There are three types of param.json: param.json, origin-param.json and target-param.json. What the differences are and what they are for is currently unknown.
addcont
serviceIdForSharing
Format: List <String>
Required: Yes?
ageLevel
Format: Dictionary <string, int>
Required: Yes?
Agelevel contains a dict of age levels for different regions. Aside from the default
age level, the following regions are available:
- AE
- AR
- AT
- AU
- BE
- BG
- BH
- BO
- BR
- CA
- CH
- CL
- CN
- CO
- CR
- CY
- CZ
- DE
- DK
- EC
- ES
- FI
- FR
- GB
- GR
- GT
- HK
- HN
- HR
- HU
- ID
- IE
- IL
- IN
- IS
- IT
- JP
- KR
- KW
- LB
- LU
- MT
- MX
- MY
- NI
- NL
- NO
- NZ
- OM
- PA
- PE
- PL
- PT
- PY
- QA
- RO
- RU
- SA
- SE
- SG
- SI
- SK
- SV
- TH
- TR
- TW
- UA
- US
- UY
- ZA
applicationCategoryType
Format: Int
Required: Yes
Possible values:
Int | Category |
---|---|
0 | Native Game |
65792 | RNPS Media App |
131328 | System Built-in App |
131584 | Big Daemon |
16777216 | ShellUI |
33554432 | Daemon |
67108864 | ShellApp |
applicationDrmType
Format: String
Required: ?
Possible values: upgradable
standard
demo
free
asa
Required: No
code
sign
Format: List <String>
Required: ?
attribute
Format: Int
Required: Yes
Int | Description |
---|---|
0 | The application does not support the initial user's logout.
The application does not support HDR. |
1 | The application supports the initial user's logout.
The application does not support HDR. |
536870912 | The application does not support the initial user's logout.
The application supports HDR. |
attribute2
Format: Int
Required: Yes
Int | Description |
---|---|
0 | The application does not support Content Search feature. |
4 | The application supports Content Search feature. |
attribute3
Format: Int
Required: Yes
Int | Description |
---|---|
0 | The application does not receive video-out info. |
4 | The application receives video-out info. |
4160 | The application supports High Framerate Mode. |
conceptId
Format: String
Required: ?
A concept id is an over-arching id for a game or entity. A game can have multiple different content-ids for different regions, but they will all have the same concept id.
contentBadgeType
Format: Int
Required: ?
Possible values:
Int | Badge Type |
---|---|
0 | N/A |
1 | Game |
2 | Other |
contentId
Format: String
Required: Yes
contentVersion
Format: String
Required: ?
Example: 01.000.000
disc
Format: Array
Required: On a disc: yes.
contents
Format: Array
Required: On a disc: yes. Sub Array of 'disc'.
Info: This array contains for each available PKG an object with the Strings contentId & contentType.
contentId
Format: String
Required: On a disc: yes.
Example: IV9999-CUSA99999_00-XXXXXXXXXXXXXXXX
contentType
Format: String
Required: On a disc: yes.
Example: PS5GD
files
Format: Array
Required: On a disc: yes. Sub Array of 'disc'. This array contains both Strings digests & fileName in an object.
digests
Format: String
Required: On a disc: yes.
fileName
Format: String
Required: On a disc: yes.
Example: icon0.png
localizedParameters
Format: Object
Required: On a disc: yes. This object contains both the String defaultLanguage & the object en-US (for ex.) in an object.
defaultLanguage
Format: String
Required: On a disc: yes.
Example: en-US
en-US
Format: Object
Required: On a disc: yes. This object contains titleName as String.
Example: en-US
titleName
Format: String
Required: On a disc: yes.
masterDataId
Format: String
Required: On a disc: yes.
Example: PPSA01234
role
Format: String
Required: On a disc: yes.
Possible values for role: Play Disc
discNumber
Format: Int
Required: ?
discTotal
Format: Int
Required: ?
downloadDataSize
Format: Int
Required: ?
gameIntent
permittedIntents
Format: List <Dict <"intentType", String>>
Required: ?
Possible values for intentType: launchActivity
launchMultiplayerActivity
launchByCustomParameters
joinSession
kernel
Required: No
cpuPageTableSize
Format: Int
Required: No
flexibleMemorySize
Format: Int
Required: No
gpuPageTableSize
Format: Int
Required: No
localizedParameters
Contains a dictionary of localized titles. As with ageLevel
there is a default entry called defaultLanguage
. The defaultLanguage
entry does not have the same contents as the example entry below, but contains a simple string with the language code of the default language (e.g. en-US
).
Example of localized entry:
"<language-identifer>": { "titleName": "Title of your game" }
Where <language-identifer>
is one of the following:
- ar-AE
- cs-CZ
- da-DK
- de-DE
- el-GR
- en-GB
- en-US
- es-419
- es-ES
- fi-FI
- fr-CA
- fr-FR
- hu-HU
- id-ID
- it-IT
- ja-JP
- ko-KR
- nl-NL
- no-NO
- pl-PL
- pt-BR
- pt-PT
- ro-RO
- ru-RU
- sv-SE
- th-TH
- tr-TR
- vi-VN
- zh-Hans
- zh-Hant
masterVersion
Format: String
Required: ?
Example: 01.00
pubtools
Required: ?
Example: 01.00
creationDate
Format: String/Date (yyyy-mm-dd hh:mm:ss)
Required: ?
loudnessSnd0
Format: Float as String
Required: No
submission
Format: Bool
Required: ?
toolVersion
Format: String
Required: ?
Example: 1.00
pubtoolsVersion
Required: ?
requiredSystemSoftwareVersion
Format: String/Hex
Required: ?
Example: 0x0114000000000000
sdkVersion
Format: String/Hex
Required: ?
Example: 0x0100000000000000
targetContentVersion
Format: String
Required: No
Example: 01.000.001
Used only in delta-patches/updates?
titleId
Format: String
Required: ?
Example: ABCD12345
userDefinedParam1
Format: Int
Required: ?
userDefinedParam2
Format: Int
Required: ?
userDefinedParam3
Format: Int
Required: ?
userDefinedParam4
Format: Int
Required: ?
versionFileUri
Format: String
Required: Yes