Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

RPCN (Demon's Souls): Issues when using two PCs on the same network. #8952

Closed
MauroMain opened this issue Sep 22, 2020 · 14 comments · Fixed by #12073
Closed

RPCN (Demon's Souls): Issues when using two PCs on the same network. #8952

MauroMain opened this issue Sep 22, 2020 · 14 comments · Fixed by #12073
Labels

Comments

@MauroMain
Copy link

MauroMain commented Sep 22, 2020

Quick summary

Unable to connect two PCs that are on the same network together through games that use RPCN (Demon's Souls).

Details

Trying to play Demon's Souls with my roommate

We can connect to other people without any errors but if we try to connect to each other it will always fail but only through RPCS3/RPCN. Fog wall will go up as will the Summoning Phantom / Being Summoned message

If we use two PS3s and connect to Yuvi's server, it works just fine.

Log files

My Log.zip

Roommate Log.zip

4. Please provide comparison with real PS3.

When using two real PS3s (on the same network) connected to Yuvi's server. We can play together perfectly fine.
20200926_015115
20200926_015032

5. Please provide your system configuration:

  • RPCS3 v0.0.12-10910-34eff440 Alpha
  • OS: Windows 10
  • CPU: Intel Core i9-9900K
  • GPU: GeForce RTX 2080 Ti
  • Driver version: 456.38
  • 63.93 GiB RAM
@MauroMain MauroMain changed the title RPCN: Issues when using two PCs on the same network. RPCN (Demon's Souls): Issues when using two PCs on the same network. Sep 22, 2020
@bevanweiss
Copy link
Contributor

Are you both on the same shared internet connection? (I assume so, but want to confirm).
I'm not familiar with rpcs3 / rpcn networking, but it sounds like it might be using a fixed public facing port, and given you're sharing a single internet connection, only one of you gets to have that port.

@bevanweiss
Copy link
Contributor

Looking at the rpcs3 side of the commits for rpcn, it does appear that UDP port 3658 is being used for the connection.
I suspect that a regular PS3 possibly does some UPnP 'magic' to negotiate a unique UDP port for the situation where there is more than one PS3 behind a NAT gateway.
Ideal situation would be if you could use wireshark or something similar (maybe even just checking UPnP status of your router) to see what UDP ports the PS3s are using when you have more than one on the same network.

@MauroMain
Copy link
Author

MauroMain commented Sep 25, 2020

Looking at the rpcs3 side of the commits for rpcn, it does appear that UDP port 3658 is being used for the connection.
I suspect that a regular PS3 possibly does some UPnP 'magic' to negotiate a unique UDP port for the situation where there is more than one PS3 behind a NAT gateway.
Ideal situation would be if you could use wireshark or something similar (maybe even just checking UPnP status of your router) to see what UDP ports the PS3s are using when you have more than one on the same network.

I've never used Wireshark before but assuming I can find a good tutorial I'll give it a shot and see what the PS3s are doing. Thank you for the response.

@bevanweiss
Copy link
Contributor

Wireshark might be 'tricky'. You'd essentially need an old-fashioned ethernet 'hub' to connect the 2x PS3s to your internet and to connect a PC into that hub also. Or a switch with port mirroring (which is how I'd do it).
If you can get information from your internet router on the ports exposed from your PS3s it would be easier.

@MauroMain
Copy link
Author

MauroMain commented Sep 26, 2020

Wireshark might be 'tricky'. You'd essentially need an old-fashioned ethernet 'hub' to connect the 2x PS3s to your internet and to connect a PC into that hub also. Or a switch with port mirroring (which is how I'd do it).
If you can get information from your internet router on the ports exposed from your PS3s it would be easier.

I wasn't able to get any information from the PS3s via Wireshark nor could my router show me what they were doing. However I ran Wireshark while attempting to connect to my roommate and the error shows up perfectly fine in it.

It basically shows
Source: My external IP Destination: My Internal IP Protocol: ICMP and then Destination Unreachable (Port unreachable).

Source Port and Destination port are 3658 just as you said.

@bevanweiss
Copy link
Contributor

We'd really need to see a full 'conversation' at startup of the two PS3s to identify who negotiates the alternate ports.
I suspect that it might be in the STUN protocol (if it's used here) and a server hint provided back to the second client based upon it already having a a registered entry for the first client on that particular port.

I'm sure it's something that @RipleyTom likely has in a 'todo' list somewhere.

@n33k33
Copy link

n33k33 commented Oct 23, 2021

Having the same problem here. Same house. 2 PCs. Both on different RPCN accounts. Connect and see messages on both PCs. See each other's summon signs. But summoning fails everytime. I also succesfully got summoned but other people.

@Mimickal
Copy link

A temporary workaround is to forward port 3658 to one of the PCs behind the router, then have the other PC connect to a VPN where port 3658 is forwarded on the VPN. I successfully played through the game in co-op with another PC behind the same router with that setup.

@n33k33
Copy link

n33k33 commented Oct 24, 2021

A temporary workaround is to forward port 3658 to one of the PCs behind the router, then have the other PC connect to a VPN where port 3658 is forwarded on the VPN. I successfully played through the game in co-op with another PC behind the same router with that setup.

Yeah, forwarded 3658 externally on both PCs to different ports in the router but still no go. It's strange. :/

@MauroMain
Copy link
Author

A temporary workaround is to forward port 3658 to one of the PCs behind the router, then have the other PC connect to a VPN where port 3658 is forwarded on the VPN. I successfully played through the game in co-op with another PC behind the same router with that setup.

Yeah, forwarded 3658 externally on both PCs to different ports in the router but still no go. It's strange. :/

This method does work but requires a VPN.

@n33k33
Copy link

n33k33 commented Oct 24, 2021

Which VPN did you guys use ? Would you mind describing the process roughly ? @Lil-Sassy @Mimickal

@tofdz
Copy link

tofdz commented Nov 23, 2021

Same problem for me. 2 on the same network and impossible to join.
Got a vpn (vpntunnel) but it doesn't work.

@aggregate1166877
Copy link

aggregate1166877 commented Mar 5, 2022

Which VPN did you guys use ? Would you mind describing the process roughly ? @Lil-Sassy @Mimickal

NordVPN for me. Works well, no latency that I could see. You open it click, click a dot somewhere in your country, and you're done. Used for a whole month without issues, just make sure you log into the VPN before you open RPCS3 or the servers will get confused and think you're already logged in.

You can try the trial if you don't want to commit, just remove your c.card afterwards so you don't get charged for not using it.

@Mimickal
Copy link

Mimickal commented Mar 5, 2022

I realize I was asked this several months ago at this point, but I set my own basic VPN up on a remote server I own. I set up an iptables rule on the remote server to forward port 3658 to port 13658 on my local router, which then redirected to my machine on port 3658. This freed up external port 3658 on the local router to forward to my friend's PC.

Kind of elaborate, but it does work.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants