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

[WIP] Native Netplay #157

Open
zach-morris opened this issue Apr 8, 2020 · 8 comments
Open

[WIP] Native Netplay #157

zach-morris opened this issue Apr 8, 2020 · 8 comments
Labels
enhancement New feature or request

Comments

@zach-morris
Copy link
Owner

I've started coding some new functionality in IAGL for native netplay. Netplay only currently works with external retroarch since that functionality is not baked into Retroplayer (yet).

Here's what it currently does:

  • Once a game is launched with netplay, it's listed both in the libretro netplay lobby and some game info is auto posted to a discord channel
  • Gets all the games currently being hosted in the libretro netplay lobby and cross compares the game with the discord channel
  • This allows the addon to know exactly which game to launch automagically

For games not launched from IAGL, you can still play the game via netplay but the game has to be launched with a context menu>Copy netplay info, go to game>Launch with copied netplay info. The trick with this is that the game has to be the exact same one otherwise it wont work.

Opening this issue to ask what other 'features' would be worthwhile for a netplay system (aside from Retroplayer directly supporting it)

@zach-morris
Copy link
Owner Author

zach-morris commented Feb 28, 2021

Going to start over with this, to get Netplay working in IAGL for v3.

Overall idea:

  • List item to browse netplay lobby
  • Have some metadata (shared via discord) to identify which IAGL players there are and what game they're playing (the biggest hurdle is that for netplay to work, both players have to be using the exact same files, so there needs to be a reliable method to verify that)
  • Have options in the skin to start a game via netplay
  • Have a separate tab in the addon settings for setting up netplay optinos (username, IPs, etc)

@zach-morris zach-morris added the enhancement New feature or request label Feb 28, 2021
@zach-morris
Copy link
Owner Author

Beta version supporting netplay available here.

@Clutz450
Copy link

I am definitely interested in helping you test this out. What can I do to help?

@zach-morris
Copy link
Owner Author

Netplay functionality is merged in the latest version of IAGL, so give it a try!

@Clutz450
Copy link

Finally got a chance to try this out. This is the error I am getting when I try to start a netplay session as host. https://ibb.co/W3Z5ftS
Any ideas? Also, do you have a Discord? Thanks.

-Clutz450

@8-erl
Copy link

8-erl commented Apr 4, 2022

Most peoples firewalls are setup in a way that everyone would have to open. RetroArch's official server relay works great.

--host --appendconfig=netplay_use_mitm_server = "true" --appendconfig= "nyc"

?????

@8-erl
Copy link

8-erl commented Apr 4, 2022

Also i think unless i am mistaken there may be a bug in the first netplay launch if i am not mistaken it is due to the game not being on the Retroarch content history playlist. (defaults to Retroarch install folder content_history.lpl but it is not a config it is in JSON format I doubt thjere is a fix for this unless it automatically formats the JSON. Shrugs

"items": [
{
"path": "\N64\WWF No Mercy (USA) (Rev A).n64",
"label": "",
"core_path": "Retroarch\cores\parallel_n64_libretro.dll",
"core_name": "Nintendo - Nintendo 64 (ParaLLEl N64)",
"crc32": "",
"db_name": ""
}
]
}

@zach-morris
Copy link
Owner Author

Also i think unless i am mistaken there may be a bug in the first netplay launch if i am not mistaken it is due to the game not being on the Retroarch content history playlist. (defaults to Retroarch install folder content_history.lpl but it is not a config it is in JSON format I doubt thjere is a fix for this unless it automatically formats the JSON. Shrugs

"items": [ { "path": "\N64\WWF No Mercy (USA) (Rev A).n64", "label": "", "core_path": "Retroarch\cores\parallel_n64_libretro.dll", "core_name": "Nintendo - Nintendo 64 (ParaLLEl N64)", "crc32": "", "db_name": "" } ] }

What kind of error are you getting if it's not in the content history?

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

No branches or pull requests

3 participants