Param.json: Difference between revisions

From PS5 Developer wiki
Jump to navigation Jump to search
Line 213: Line 213:


== disc ==
== 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: ''' <code>IV9999-CUSA99999_00-XXXXXXXXXXXXXXXX</code>
==== contentType ====
'''Format:''' String
'''Required:''' On a disc: yes.
'''Example: ''' <code>PS5GD</code>
=== 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: ''' <code>icon0.png</code>
=== 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: ''' <code>en-US</code>
==== en-US ====
'''Format:''' Object
'''Required:''' On a disc: yes. This object contains '''titleName''' as String.
'''Example: ''' <code>en-US</code>
===== titleName =====
'''Format:''' String
'''Required:''' On a disc: yes.
'''Required:''' On a disc: yes.


Line 218: Line 282:
'''Format:''' String
'''Format:''' String


'''Required:''' ?
'''Required:''' On a disc: yes.


'''Example: ''' <code>PPSA01234</code>
'''Example: ''' <code>PPSA01234</code>
Line 225: Line 289:
'''Format:''' String
'''Format:''' String


'''Required:''' ?
'''Required:''' On a disc: yes.


'''Possible values for role: ''' <code>Play Disc</code>
'''Possible values for role: ''' <code>Play Disc</code>

Revision as of 10:50, 2 November 2023

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