playactor
playactor copied to clipboard
'Other Error' during registration
When attempting to register with my PS5, I always receive the following error after entering the Remote Play code:
Error: Registration error: 403: Forbidden: Other Error
at Object.<anonymous> (/usr/lib/node_modules/playactor/dist/remoteplay/protocol.js:87:19)
at Generator.next (<anonymous>)
at fulfilled (/usr/lib/node_modules/playactor/dist/remoteplay/protocol.js:5:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
The registration does however seem to be (at least partially) successful, as playactor is able to create and use its credential file afterwards.
I'm running playactor 0.2.1 using node v14.16 on Debian.
Full debug of playactor login --debug
, used for registration, attached:
playactor login --debug
playactor:cli:options findDevice with: DeviceOptions {
enableDebug: true,
machineFriendly: false,
searchTimeout: 30000,
connectTimeout: 15000,
dontAuthenticate: false,
localBindAddress: undefined,
localBindPort: undefined,
credentialsPath: undefined,
passCode: undefined,
deviceIp: undefined,
deviceHostName: undefined,
deviceHostId: undefined
} +0ms
playactor:discovery discover( { pingIntervalMillis: 5000, timeoutMillis: 30000, uniqueDevices: true } ) +0ms
playactor:discovery:udp acquire @ 0 +0ms
playactor:discovery:udp created new socket for { localBindAddress: undefined, localBindPort: undefined } +1ms
playactor:discovery:udp acquire @ 0 +1ms
playactor:discovery:udp joining existing socket for { localBindAddress: undefined, localBindPort: undefined } +0ms
playactor:discovery:udp send: <Buffer REDACTED ... 9 more bytes> to 255.255.255.255 : 987 +1ms
playactor:discovery:udp send: <Buffer REDACTED ... 9 more bytes> to 255.255.255.255 : 9302 +1ms
playactor:discovery:udp listening on { address: '0.0.0.0', family: 'IPv4', port: 56116 } +3ms
playactor:discovery:messages parse: HTTP/1.1 200 Ok
host-id:[REDACTED]
host-type:PS5
host-name:PS5-719
host-request-port:997
device-discovery-protocol-version:00030010
system-version:08050001
+0ms
playactor:discovery:udp received device: {
type: 'DEVICE',
sender: { address: '192.168.1.202', family: 'IPv4', port: 13531, size: 158 },
version: '00020020',
data: {
type: 'DEVICE',
statusLine: '200 Ok',
statusCode: '200',
statusMessage: 'Ok',
status: 'AWAKE',
'host-id': '[REDACTED]',
'host-type': 'PS5',
'host-name': 'PS5-719',
'host-request-port': '997',
'device-discovery-protocol-version': '00030010',
'system-version': '08050001'
}
} +105ms
playactor:discovery:messages parse: HTTP/1.1 200 Ok
host-id:[REDACTED]
host-type:PS5
host-name:PS5-719
host-request-port:997
device-discovery-protocol-version:00030010
system-version:08050001
+2ms
playactor:discovery:udp received device: {
type: 'DEVICE',
sender: { address: '192.168.1.202', family: 'IPv4', port: 13531, size: 158 },
version: '00030010',
data: {
type: 'DEVICE',
statusLine: '200 Ok',
statusCode: '200',
statusMessage: 'Ok',
status: 'AWAKE',
'host-id': '[REDACTED]',
'host-type': 'PS5',
'host-name': 'PS5-719',
'host-request-port': '997',
'device-discovery-protocol-version': '00030010',
'system-version': '08050001'
}
} +2ms
playactor:discovery:udp closing udp network +2ms
playactor:discovery:udp release @ 0 +0ms
playactor:discovery:udp closing udp network +0ms
playactor:discovery:udp release @ 0 +0ms
playactor:waker device {
address: { address: '192.168.1.202', family: 'IPv4', port: 13531, size: 158 },
hostRequestPort: 997,
extras: {
statusLine: '200 Ok',
statusCode: '200',
statusMessage: 'Ok',
status: 'AWAKE'
},
discoveryVersion: '00030010',
systemVersion: '08050001',
id: '[REDACTED]',
name: 'PS5-719',
status: 'AWAKE',
type: 'PS5'
} is already awake +0ms
playactor:credentials:disk reading credentials at /home/peter/.config/playactor/credentials.json +0ms
In a moment, we will attempt to open a browser window with the following URL:
[REDACTED]
Perform login there, then, when the page shows "redirect", copy the URL from your browser's address bar and paste it here.
Hit ENTER to continue
URL> [REDACTED]
playactor:credentials:oauth Fetched access token ([REDACTED]); requesting account info +0ms
Registering via Remote Play. Go to Settings > System > Remote Play > Link Device
Enter PIN here> 57930949
playactor:remoteplay:registration Performing SEARCH with SRC3 +0ms
playactor:discovery:udp acquire @ 9295 +40s
playactor:discovery:udp created new socket for { localBindPort: 9295 } +0ms
playactor:discovery:udp send: <Buffer 53 52 43 33> to 192.168.1.202 : 9295 +1ms
playactor:discovery:udp listening on { address: '0.0.0.0', family: 'IPv4', port: 9295 } +1ms
playactor:remoteplay:registration RECEIVED <Buffer 52 45 53 33 01 01 00> RES3 +6ms
playactor:discovery:udp closing udp network +4ms
playactor:discovery:udp release @ 9295 +0ms
playactor:remoteplay:crypto selected ModernCryptoStrategy { version: 3, deviceType: 'PS5' } for remote play version PS5_1 +0ms
playactor:remoteplay:crypto formatted record:
playactor:remoteplay:crypto Client-Type: dabfa2ec873de5839bee8d3f4c0239c4282c07c25c6077a2931afcf0adc0d34f
Np-AccountId: [REDACTED]
+7ms
playactor:remoteplay:crypto encrypting record: [REDACTED] +0ms
playactor:remoteplay:crypto preface: <Buffer 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 ... 430 more bytes> +0ms
playactor:remoteplay:registration request body [REDACTED] +114ms
playactor:remoteplay:registration result length: 587 +1ms
playactor:remoteplay:protocol performing POST http://192.168.1.202:9295/sie/ps5/rp/sess/rgst +0ms
playactor:remoteplay:protocol {
playactor:remoteplay:protocol body: <Buffer 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 41 ... 537 more bytes>,
playactor:remoteplay:protocol headers: { 'RP-Version': '1.0' },
playactor:remoteplay:protocol method: 'POST'
playactor:remoteplay:protocol } +1ms
playactor:remoteplay:protocol combined request headers: { 'User-Agent': 'remoteplay Windows', 'RP-Version': '1.0' } +1ms
playactor:remoteplay:protocol result headers: { connection: 'close', 'content-length': '172' } +14ms
playactor:remoteplay:protocol result body: u70xaQQZ8dN3oIvaOWmnJ5VlkVN3pJ9sHQf2gVJu6PeiPt1zhHsRXKGNX+wqU+SrJ3732G6VtQG+3Dth+wHo0xfcKn5vId2tEf8448F16w8Uo8B74M1+nbo685LiZD2iJZFH98a6ysjkEYHW5WIDsRZdOLP58XDFFkAmSHerQRuB4hKdhBqad2SE+bVjUF7CDylUdOlnFoKrM9vwnbx3SZyWMkH3TUY6P5DZzw== +0ms
playactor:socket:crypto decoding 172 of 172 total buffered +0ms
playactor:remoteplay:registration result decrypted: [REDACTED] +18ms
playactor:remoteplay:registration registration map: {
'AP-Bssid': '3132333435',
'AP-Name': 'PS5',
'PS5-Mac': '[REDACTED]',
'PS5-RegistKey': '[REDACTED]',
'PS5-Nickname': 'PS5-719',
'RP-KeyType': '2',
'RP-Key': '[REDACTED]'
} +1ms
playactor:credentials:disk reading credentials at /home/peter/.config/playactor/credentials.json +40s
playactor:credentials:disk writing credentials to /home/peter/.config/playactor/credentials.json +2ms
playactor:waker device {
address: { address: '192.168.1.202', family: 'IPv4', port: 13531, size: 158 },
hostRequestPort: 997,
extras: {
statusLine: '200 Ok',
statusCode: '200',
statusMessage: 'Ok',
status: 'AWAKE'
},
discoveryVersion: '00030010',
systemVersion: '08050001',
id: '[REDACTED]',
name: 'PS5-719',
status: 'AWAKE',
type: 'PS5'
} is already awake +40s
playactor:remoteplay:protocol performing GET http://192.168.1.202:9295/sie/ps5/rp/sess/init +14ms
playactor:remoteplay:protocol {
playactor:remoteplay:protocol headers: { 'RP-RegistKey': '[REDACTED]', 'RP-Version': '1.0' }
playactor:remoteplay:protocol } +0ms
playactor:remoteplay:protocol combined request headers: {
'User-Agent': 'remoteplay Windows',
'RP-RegistKey': '[REDACTED]',
'RP-Version': '1.0',
'Content-Length': '0'
} +1ms
playactor:remoteplay:protocol result headers: {
connection: 'close',
pragma: 'no-cache',
'content-length': '0',
'rp-version': '1.0',
'rp-application-reason': '80108b13'
} +12ms
playactor:remoteplay:protocol result body: +1ms
playactor:cli:pin non-login error encountered: Error: Registration error: 403: Forbidden: Other Error
at Object.<anonymous> (/usr/lib/node_modules/playactor/dist/remoteplay/protocol.js:87:19)
at Generator.next (<anonymous>)
at fulfilled (/usr/lib/node_modules/playactor/dist/remoteplay/protocol.js:5:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5) +0ms
Error: Registration error: 403: Forbidden: Other Error
at Object.<anonymous> (/usr/lib/node_modules/playactor/dist/remoteplay/protocol.js:87:19)
at Generator.next (<anonymous>)
at fulfilled (/usr/lib/node_modules/playactor/dist/remoteplay/protocol.js:5:58)
at processTicksAndRejections (internal/process/task_queues.js:93:5)
Thanks for the report! This may be tricky to debug since I can't reproduce but I'll do my best. Out of curiosity, do you have a passcode set for logging into your account on the device?
By the way, I went through and redacted a few more things in you message and deleted the comment revision history for you. Anything that says "decrypted" should definitely be redacted. We're still sort of in "beta" right now so full debug logs are very noisy—please be careful when posting them!
I'll try to make sure those are automatically redacted moving forward, but it was helpful for local testing in development since there's some specific byte-level stuff going on under the hood.
Thanks for the cleanup. No passcode needed to login on my console.
I occasionally get the 403 error as well, but I haven't had time to look into it further to try to notice a pattern.
I decided to take another crack at this, since all I have been able to do with my broken credentials is wake.
I ran playactor login
a number of times, deleting the credential file afterwards each time. Most times, either the process simply hung after entering the remote play pin, or the "403 Other error" appeared.
Eventually, however, I was able to get a successful registration, which resulted in a working set of credentials.
I can't really explain why this particular attempt worked, as I don't believe I did anything different. However, if anyone else is also having this problem, persistence seems to be the key!
I have the same issue. I run: sudo playactor login --machine-friendly --no-open-urls --force auth --ps5 Open the link and log in to psn network Copy the URL and paste it. Go to join to get pincode and enters pin code. The error is seen (other error) However, I am able to do WAKE. But not STANDBY. When doing standby, the terminal just sits there waiting
I also get this error, but only intermittently. I have this sitting on a Raspberry Pi behind a Homebridge switch, and sometimes it will fail, and when I check the logs it's this "Registration error" (even though it's already registered?). But then strangely it will sort itself out as sure enough the next day it will start working for both waking and sleeping without me having to change anything.
I might put on debug mode sometime and see if I can get any more details.
I occasionally get the 403 error as well, but I haven't had time to look into it further to try to notice a pattern.
Hi, is there any progress from April? Its clear that more people have this kind of problem. Thx.
So actually a bug and it isn’t working ?
i got the same issue, but found a solution. The auth link to login ps5 must be the same account as your ps5 account. Mine was on my brothers account after startup the ps5, and got also the pin error. After sign in into my account on the ps5, the pin worked on the terminal.
This is not actually a bug. You have to open it first PS5 Remote Play
I also have this problem after entering the pin code:
Error: Registration error: 403: Forbidden: Other Error
at Object.
Leaving this here in case it helps anyone else.
I encountered this issue today. In the end I made it work by doing the following.
1: Delete the credentials.json file 2: run playactor login --ip xxx.xxx.xxx.xxx --no-open-urls 3: copy the URL, login, get the redirect url, paste it in 4: do the PIN number 5: At this point you'll get the 503 error 6: This time login again but with "run playactor login --ip xxx.xxx.xxx.xxx --no-open-urls --debug" 7: The login will run again, but this time you won't have to do the auth url, etc. You should see the debug ending with "RemotePlaySession ready!"
@dhleong not sure if it's possible (haven't looked through the source code) but is there possibly some sort of altered code-path when using the --debug flag?
not sure if it's possible (haven't looked through the source code) but is there possibly some sort of altered code-path when using the --debug flag?
No, that flag simply enables the debug output. If you do the same but omit --debug
at step 6 does it not work?