libretro / libretro/RetroArch

SNES multitap doesn't work with netplay

Open
#10,424 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Description

When doing SNES netplay with 3 players (bsnes or snes9x core) the third player can't enter any inputs. Tested several games locally and there was no issue controlling 3 player inputs at once. This behaviour is core agnostic, only difference is that with bsnes core port 3 is labeled RetroPad instead of SNES pad. I could still control port 3 locally.

Expected behavior

Player 3 should be able to connect and use their controller the same as player 1 and 2 when doing SNES netplay.

Actual behavior

Player 3 can connect to host and everyone (host and clients) have player 2 set to multitap in their local configuration but no inputs are being registered.

Steps to reproduce the bug
  1. Host starts netplay session and first client connects, requesting player 2 slot. Second client connects, requesting player 3 slot.
  2. Player 1 sets port 2 controller to multitap.
  3. Player 2 goes to menu, binds their controls for port 2. Sets port 2 to multitap, netplay session still registers inputs from port 2.
  4. Player 3 goes to menu, binds their controls for port 3. Sets port 2 to multitap.
  5. Player 3 tries to enter inputs. None registered by netplay session.
Bisect Results

No errors and we've never been able to get this working successfully. Started happening a few hours ago when our group was trying to play Trials of Mana with the 3 player hack. I've tested this locally and I've confirmed that the patch itself is working. We also tried binding everyone's controls to port 1 but RetroArch doesn't seem to handle switching port inputs on the fly for netplay. Player 2 was only able to get input when they bound their controls to port 2. Changing the controller type from SNES pad to multitap (everyone did this to eliminate variables) didn't seem to have any effect.

Version/Commit
  • RetroArch: 1.8.5 stable
Environment information
  • OS: Windows 10 Home 64-bit

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

No source files, tests, or entry points are named. Start by reproducing a three-player SNES netplay session on RetroArch 1.8.5 with the specified multitap settings, then trace player 3 input registration; done means player 3 can connect and submit inputs reliably while players 1 and 2 continue working.

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
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.