Talk:Crossplatform Integration

From PS4 Developer wiki
Jump to navigation Jump to search

Deletion of file links

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

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

JSON files

Links

Vars

: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

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

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

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

Parameters

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

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


What is second screen

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

  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

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.