RetroDECK
RetroDECK copied to clipboard
Netplay
Add the Netplay function system wide.
The netplay function should allow the user to:
- [ ] set an username
- [ ] list the public rooms
- [ ] join a public room
- [ ] join a private room by requesting the password
- [ ] host a public room
- [ ] stop a room sharing
Emulators that support this function:
- RetroArch
- CITRA
- DOLPHIN
- PPSSPP
- RPCS3 (RPCN)
- RYUJINX (requires LDN)
- WIIU (via Pretendo)
- 3DS (via Pretendo)
- CEMU (via Pretendo)
- Xbox (via Insigna)
How this can possibly work?
We could add a new "fake" system named like Netplay on ES-DE that will have only three entries:
- Join room
- Create room
- Settings
The theme of this system can follow this rough idea:
Join room
This will popup a tool that will list all the rooms opened with the Create room tool, each entry will show:
- Room name
- Username
- Game name
- A lock icon if it's private
- Running RetroDECK version (if it doesn't match with yours the text might be red indicating that it might lead to incompatibilities and a warning will pop up once joining)
Once the room is selected the users should manually open the desired game (afaik there is no way to tell ES-DE to open it directly).
Create room
This will popup a tool that allow the user to:
- Set a room name
- Set the game name (this can be tricky, how can we list them? maybe this can be grabbed automatically like Discord does?)
- Add a password (if set the room will be private) a default password can be specified in the option but if it's not marked as private it will be ignored.
Settings
This will call the Configurator with an argument that will show the Netplay options such as:
- Username
- Default password
- Warn for version mismatch (toggle)
Once a room is joined or created, the tool is injecting the needed data inside the emulators configs such as:
- room IP address
- netplay toggle on
- username
- password
We should try to set the Default port for all emulators to 55435 if possible. It was what RetroArch uses and then the users only needs to portforward one or as little ports as possible.
UPDATE Looks like you can't from the interface at least for some emulators.
Default port list:
RPCS3
3658
Don't looks like you can change the port and don't offer a selfhosted solution.
You need to create an account in a fake PSN network.
RetroArch
55435
Can change port and have public lobbies.
Citra and Yuzu
24872
Can change port on lobby creation and have public lobbies.
5000 - Selfhosted lobby server
Also have the option of selfhosting a lobby server, default port can be changed.
Dolphin
2626
Can set the port, have public lobby servers and you can also selfhost.
PPSSPP
27312
Default ADHoc server port.
Main problem is that EACH GAME could use a different port, so you will need to look into what ports the games are using and open for them as well.
So here we need to provide some defaults and not change the port offset. Then we could in theory have a tiny wiki article or a database of all portforwards for PPSSPP for RetroDECK.