Talk:Crossplatform Integration

From PS4 Developer wiki
Jump to navigation Jump to search

Deletion of file links[edit source]

If links are deleted, we cannot restore proper mirroring... Creation of mirror failed. Page/section thus useless http://pastebin.com/eZVAfwpH
Lost files:

  • /RemotePlay/com.playstation.remoteplay-1.apk
  • /RemotePlay/data@[email protected]@classes.dex
  • /RemotePlay/com.playstation.playstationcertified.xml
  • /RemotePlay/com.playstation.remoteplayident.xml
  • /RemotePlay/com.playstation.playstationcertified.jar
  • /RemotePlay/com.playstation.remoteplayident.jar

Eussbot (talk) 13:18, 26 May 2015 (UTC)

PS4 PlayStation App[edit source]

source: http://pastebin.com/TXLeX0P7 (Hykem)

JSON files[edit source]

Links[edit source]

Vars[edit source]

:asm -> "v1"
:apiName -> "userProfile" "notificationList" "sessionInvitation" "gameCustomData" "groupMessaging" "activityFeed"  "trophy" "griefReport"
:npTitleToken -> "X-NP-TITLE-TOKEN"
:serverEnv -> "np" "e1-np"
:np-title-id -> e.g.: CUSA00001_00
:np-title-id-hmac -> e.g.: C32A667A087A40C2AD1889435907AA4B0D9DBA1F

Region Table[edit source]

nation:"AE",region:"SCEE",msg_id:"msg_country_ae_psn"
nation:"AR",region:"SCEA",msg_id:"msg_country_ar_psn"
nation:"AT",region:"SCEE",msg_id:"msg_country_at_psn"
nation:"AU",region:"SCEE",msg_id:"msg_country_au_psn"
nation:"BE",region:"SCEE",msg_id:"msg_country_be_psn"
nation:"BG",region:"SCEE",msg_id:"msg_country_bg_psn"
nation:"BH",region:"SCEE",msg_id:"msg_country_bh_psn"
nation:"BR",region:"SCEA",msg_id:"msg_country_br_psn"
nation:"CA",region:"SCEA",msg_id:"msg_country_ca_psn"
nation:"CH",region:"SCEE",msg_id:"msg_country_ch_psn"
nation:"CL",region:"SCEA",msg_id:"msg_country_cl_psn"
nation:"CO",region:"SCEA",msg_id:"msg_country_co_psn"
nation:"CY",region:"SCEE",msg_id:"msg_country_cy_psn"
nation:"CZ",region:"SCEE",msg_id:"msg_country_cz_psn"
nation:"DE",region:"SCEE",msg_id:"msg_country_de_psn"
nation:"DK",region:"SCEE",msg_id:"msg_country_dk_psn"
nation:"ES",region:"SCEE",msg_id:"msg_country_es_psn"
nation:"FI",region:"SCEE",msg_id:"msg_country_fi_psn"
nation:"FR",region:"SCEE",msg_id:"msg_country_fr_psn"
nation:"GB",region:"SCEE",msg_id:"msg_country_gb_psn"
nation:"GR",region:"SCEE",msg_id:"msg_country_gr_psn"
nation:"HK",region:"SCE Asia",msg_id:"msg_country_hk_psn"
nation:"HR",region:"SCEE",msg_id:"msg_country_hr_psn"
nation:"HU",region:"SCEE",msg_id:"msg_country_hu_psn"
nation:"ID",region:"SCE Asia",msg_id:"msg_country_id_psn"
nation:"IE",region:"SCEE",msg_id:"msg_country_ie_psn"
nation:"IL",region:"SCEE",msg_id:"msg_country_il_psn"
nation:"IN",region:"SCEE",msg_id:"msg_country_in_psn"
nation:"IS",region:"SCEE",msg_id:"msg_country_is_psn"
nation:"IT",region:"SCEE",msg_id:"msg_country_it_psn"
nation:"JP",region:"SCEJ",msg_id:"msg_country_jp_psn"
nation:"KR",region:"SCEK",msg_id:"msg_country_kr_psn"
nation:"KW",region:"SCEE",msg_id:"msg_country_kw_psn"
nation:"LB",region:"SCEE",msg_id:"msg_country_lb_psn"
nation:"LU",region:"SCEE",msg_id:"msg_country_lu_psn"
nation:"MT",region:"SCEE",msg_id:"msg_country_mt_psn"
nation:"MX",region:"SCEA",msg_id:"msg_country_mx_psn"
nation:"MY",region:"SCE Asia",msg_id:"msg_country_my_psn"
nation:"NL",region:"SCEE",msg_id:"msg_country_nl_psn"
nation:"NO",region:"SCEE",msg_id:"msg_country_no_psn"
nation:"NZ",region:"SCEE",msg_id:"msg_country_nz_psn"
nation:"OM",region:"SCEE",msg_id:"msg_country_om_psn"
nation:"PE",region:"SCEA",msg_id:"msg_country_pe_psn"
nation:"PL",region:"SCEE",msg_id:"msg_country_pl_psn"
nation:"PT",region:"SCEE",msg_id:"msg_country_pt_psn"
nation:"QA",region:"SCEE",msg_id:"msg_country_qa_psn"
nation:"RO",region:"SCEE",msg_id:"msg_country_ro_psn"
nation:"RU",region:"SCEE",msg_id:"msg_country_ru_psn"
nation:"SA",region:"SCEE",msg_id:"msg_country_sa_psn"
nation:"SE",region:"SCEE",msg_id:"msg_country_se_psn"
nation:"SG",region:"SCE Asia",msg_id:"msg_country_sg_psn"
nation:"SI",region:"SCEE",msg_id:"msg_country_si_psn"
nation:"SK",region:"SCEE",msg_id:"msg_country_sk_psn"
nation:"TH",region:"SCE Asia",msg_id:"msg_country_th_psn"
nation:"TR",region:"SCEE",msg_id:"msg_country_tr_psn"
nation:"TW",region:"SCE Asia",msg_id:"msg_country_tw_psn"
nation:"UA",region:"SCEE",msg_id:"msg_country_ua_psn"
nation:"US",region:"SCEA",msg_id:"msg_country_us_psn"
nation:"ZA",region:"SCEE",msg_id:"msg_country_za_psn"

Config JSON[edit source]

SCEJ:"http://www.jp.playstation.com/app/psapp/configuration.php"
SCEA:"http://m.uk.playstation.com/ws/psapp/scea/config.json"
SCEE:"http://m.uk.playstation.com/ws/psapp/scee/config.json"
SCE Asia:"http://asia.playstation.com/Minisite/asia.jsp"
SCEK:"http://www.playstation.co.kr/service/psapp/config.json"

Group Messaging[edit source]

GRM_BASE_URL:"http://43.2.173.151:4000/groupMessaging

Parameters[edit source]

Orbis sceCompCall [sceCompCall(param) -> ("scecompcall://" + param)]:

sceCompCall("cacheClear?reload=")
sceCompCall("cancelGetGroupMessageImage")
sceCompCall("finishInstall?isSuccess=&reason=")
sceCompCall("getAccessToken")
sceCompCall("getAccountInfo")
sceCompCall("getGroupMessageImage?maxWidth=&maxHeight=&url=")
sceCompCall("getHmacSha1?data=")
sceCompCall("getNativeVersion")
sceCompCall("getOnlineId")
sceCompCall("getOrbisInfo")
sceCompCall("getServerEnvironment")
sceCompCall("inhibitImageResultCallback?flag=")
sceCompCall("isInstalled?name=")
sceCompCall("isNetworkConnected")
sceCompCall("isSignin")
sceCompCall("launchBrowser?url=")
sceCompCall("launchMainView?hash=")
sceCompCall("launchSubView?id=&url=")
sceCompCall("putOpr?type=")
sceCompCall("removeFile")
sceCompCall("requestOperation?ReqOpType=&Host-id=")
sceCompCall("resizeImage?format=&data=&maxWidth=&maxHeight=")
sceCompCall("saveFile?data=")
sceCompCall("saveImage?format=&data=")
sceCompCall("selectPhoto")
sceCompCall("sendSaveFile")
sceCompCall("setIconBadgeNumber?number=")
sceCompCall("setLanguage?language=&country=")
sceCompCall("setMaxBrightness")
sceCompCall("setPlayVoice?data=")
sceCompCall("setSytemBrightness")
sceCompCall("showMainView")
sceCompCall("showSubView?id=")
sceCompCall("signin?noLaunchBrowser=")
sceCompCall("signout")
sceCompCall("start2ndScreen")
sceCompCall("startApplication")
sceCompCall("startGame?tid=")
sceCompCall("startInstall")
sceCompCall("startPlayVoice")
sceCompCall("startTakeVoice")
sceCompCall("stopPlayVoice")
sceCompCall("stopTakeVoice")
sceCompCall("takePicture")
sceCompCall("terminate")
sceCompCall("updateInstallProgress?percent=")

Orbis errors[edit source]

ALREADY_CONNECTED_GAMECOMP: "0x00000011"
ALREADY_CONNECTED_SYSCOMP: "0x00000008"
ALREADY_LOGGED_OUT: "0x0000001b"
ALREADY_RUNNING: "0x0000000a"
ANOTHER_USER_IS_ACTIVE: "0x00000012"
AUTH_FAILURE: "0x00000006"
BOOTING: "0x00000010"
BUSY: "0x00000001"
CLIENT_MUST_UPDATE: "0x00000002"
DENIED: "0x00000004"
DOWNLOADING: "0x0000000d"
ERROR_INITIAL_INFO_IS_NOT_SET: "0x00000902"
ERROR_INTERNAL_ERROR: "0x00000901"
ERROR_NETWORK_DISCONNECTED: "0x00000803"
ERROR_NO_NETWORK: "0x00000801"
ERROR_NO_RESPONSE: "0x00000802"
INVALID_PARAMETER: "0x0000000e"
LOGIN_MGR_BUSY: "0x0000001e"
LOGOUT_FAILED: "0x0000001c"
MAX_USER: "0x00000007"
NOT_AUTHENTICATED: "0x0000000b"
NO_CLIENT: "0x0000000f"
NO_LOCAL_ACCOUNT: "0x00000015"
NO_MEMORY: "0x00000005"
NO_SUCH_GAME: "0x0000000c"
OCCP_OK: "0x00000000"
OSK_USED_BY_ANOTHER_USER: "0x00000013"
PASSCODE_IS_NEEDED: "0x00000016"
PASSCODE_IS_UNMATCHED: "0x00000018"
PIN_IS_NEEDED: "0x00000014"
PIN_IS_UNMATCHED: "0x00000017"
PROHIBITED: "0x00000009"
SERVER_OBSOLETE: "0x00000003"
STANDBY_IS_DISABLED: "0x00000019"
TOO_MANY_REGISTERED_DEVICES: "0x0000001a"
C-00000011 -> normal
C-80F80011 -> android
C-80AE0011 -> iphone/ipad

kir to psn [saleh]

What is second screen[edit source]

The PSN second screen is another screen that games can choose to add interactivity. You install the Playstation app on your IOS or android device and then tell it to connect to your PS4. ToyBox is the sample one that comes with Playroom game and it allows you to draw images and then push them to the screen.

Under The Hood[edit source]

  1. Numbered list item
  2. When you click connect to PS4 the PS4 allows connections on port 13000. (TODO work out how this happens)
  3. The app on your device then connects to the webserver to get a web page. With ToyBox, this is not on https.
  4. The app does posts to the PS4 web server to communicate with the running application on the PS4


What We Know About The PlayStation App[edit source]

We now know how this process works, the PlayStation app first finds all Network Interface it is connected to then it discovers a subnet-directed broadcast address then a broadcast packet(SRCH Packet) is sent, PS4 listening to this broadcast packet responds with its details and to wake up a certain PS4 you need to send a WAKEUP packet. By Starting a Listener on UDP port 987 you can view packets sent by PlayStation App.