libretro / libretro/RetroArch

Netplay issue. Player 2 has no inputs when connecting via Direct Connect but has inputs when using Relay Server.

Open
#13,012 16 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug: networking networking
Dominant language
C
Stars
14.1k
Forks
2.2k
Avg merge
7h 35m
Merged PRs (30d)
51

Description

Description

When myself and a friend try to play games online via Netplay, when using the relay server, the Player 1 and Player 2 controller inputs work as expected. When using direct connect, the host connects as Player 1 and his inputs are fine. When Player 2 tries to join, it says he joined as Player 2 but none of his inputs work. However, if Player 2 plugs in a second controller so that it shows the second controller connected as Port 2, he can play just fine using that second controller.

Expected behavior

I expect for the Host and for the person joining to both be able to use their controllers without any additional setup or workarounds while using Direct Connection Netplay

Actual behavior

When using Direct Connection NetPlay, when Player 2 connects they don't have any input controls. Input controls work correctly when using Relay Server though.

Steps to reproduce the bug
  1. Start up RetroArch and load up the Final Burn Neo Core (that's the one we were using but I would assume the same thing happens on other cores. Sorry I didn't think about testing other cores at the time).
  2. Load up any multiplayer Final Burn Neo game (we were using TMNT and The Simpsons).
  3. Connect to each other via Direct Connect Netplay (Player 2 will not be able to control anything).
    3a. (Optional) Have Player 2 plug in a second controller and see that this second controller can now control Player 2's in game controls.
  4. Exit Netplay
  5. Restart Netplay using the Relay Server (you will see that Player 2 can now control in game without needing a second controller plugged in)
Bisect Results

I do not know when this started happening. I always use Relay Server because I cannot forward ports. But my friend was noticing too much stutter through the relay server which is why he wanted to try Direct Connect and this is when we discovered these issues.

Version/Commit

You can find this information under Information/System Information

  • RetroArch: 1.9.9/3688861. Build Date Sep 5, 2021
Environment information
  • OS: I am on Windows 10 64 bit. But under the System Information, it says "Frontend OS: Windows 8 x64 Build 9200 (v6.2)" Not sure if that matters.
  • Compiler: I do not believe this applies to be. I downloaded this from the retroarch.com page.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Reproduce the issue in RetroArch 1.9.9/3688861 using a Final Burn Neo multiplayer game, comparing Direct Connect with the Relay Server. Trace the netplay input behavior for Player 2 and verify the fix by confirming that the joining player's controller works through Direct Connect without a second controller.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
networking
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.