RetroArch

RetroArch

TCperry1 2022 年 7 月 18 日 上午 6:07
[Help] Relay Server Netplay Not Working
My friend and I were trying to play a genesis game with Genesis Plus GX over server relay netplay. He is using Windows 10 and I am using Linux Mint. We both tried hosting and joining and we both got content found and shortly got kicked off after the message appeared. We tried the steam version as well as the version you download from the site. Does anyone know how or why this is happening and how to fix it? Thanks.
< >
目前顯示第 1-7 則留言,共 7
Fili 2022 年 7 月 18 日 上午 6:18 
Game file needs to be EXACTLY the same aswell or it won't work. If it still doesn't work, may I suggest some alternatives? Fightcade, Steam remote play and Parsec.

Fightcade is basically a hub where you can play retro games online. It focuses mainly on fighting games but it also has almost every other games in other genres. That also include Sega genesis games.

Steam remote play is much easier to simply start playing and only one of you needs the game. However, decent speed internet is needed to keep a stable connection.

Parsec is the same as remote play, but more stable and goes easier on slower connections.
最後修改者:Fili; 2022 年 7 月 18 日 上午 6:20
TCperry1 2022 年 7 月 18 日 上午 6:24 
Thanks. I am aware of the need for same rom. We downloaded the exact same romhack from the SAGE site. I know using parsec or steam remote play would work as well. I just felt remote play would have been a nice way to keep the speed requirement down. Thanks for the response, I suppose I'll just use remote play or parsec if I can't get it working.
Cthulhu 2022 年 8 月 8 日 上午 1:47 
Netplay developer here. Since no one answered you properly, here is the proper response to your problem.

Genesis Plus GX's serialization is platform-dependent as can be seem here: https://github.com/ekeeke/Genesis-Plus-GX/blob/master/libretro/libretro.c#L3379

That means we cannot safely load a savestate from a Windows x64 machine, which has sizeof(long) == 4, on a Linux x64 machine, which generally has sizeof(long) == 8.
The person connecting will get the following notication before disconnection: https://github.com/libretro/RetroArch/blob/5ffe62a52b341d1a474194a86dd88fbe727d42ac/intl/msg_hash_us.h#L11650-L11653
So this is not even silent.

If cross-platform netplay is required, use a platform agnostic core (PicoDrive, FBNeo, etc).

The second's post suggestion to use Fightcade is mostly moot here, because:

1) They do not support Genesis Plus GX.
2) They also use a rollback system, so non-platform agnostic emulators would run into the same problems.
3) Fightcade only supports 2 players, RetroArch's netplay supports up to 32 clients (between spectators and players).
4) Fightcade's netcode is closed source and they hide certain features under Patreon's paywalls. RetroArch is fully open source and we provide any and all services (including our official relay servers) free of charge.

Steam Remote Play Together and Parsec are streaming services.

1) No custom settings (shaders, filters, etc) on the client's end.
2) Significant input delay.
3) Much higher upload requirements on the host (you are sending frames and audio samples, rather than having clients run the game by themselves).

If you are netplaying on platforms which do support RetroArch's rollback system, there is absolutely no reason for you to use a worse system.
We are also pushing networking/netplay improvements and fixes at a very often basis (see: https://github.com/libretro/RetroArch/commits?author=Cthulhu-throwaway).
I'd recommend opening issues there; I haven't used Steam for 3 years now myself.

I've been trying to support as many platforms as possible and we currently support netplaying through platforms which Parsec, Steam Remote Play Together and Fightcade do not support.
TCperry1 2022 年 8 月 8 日 上午 7:43 
Thanks for the help. I'll definitely give picodrive a try once I get my friend on board with the idea.
TCperry1 2022 年 8 月 10 日 下午 7:59 
I just tried it out with my friend and it worked with out issue. Is there a list of cross platform compatible cores by chance?
Cthulhu 2022 年 8 月 11 日 上午 5:24 
引用自 TCperry1
I just tried it out with my friend and it worked with out issue. Is there a list of cross platform compatible cores by chance?

No, and not every core report that their serialization is quirk either.

Rule of thumb is: If the core's serialization is quirk and a connection is attempted from an incompatible platform, both the host and the client will log that out, with the client displaying a notification aswell.
If the core's serialization is quirk but it doesn't tell RetroArch that, the client is likely to error out (and disconnect) when loading the savestate from the host or when receiving input data from the host; both of these will be logged.

So, If you're having netplay issues, have both host and client logging enabled to a level of WARN (or below), and check the log for "[ERROR] Netplay" or "[WARN] Netplay".
TCperry1 2022 年 8 月 12 日 上午 8:34 
Thanks for all the help. I guess I'll make a list from trial and error and post for others to see.
< >
目前顯示第 1-7 則留言,共 7
每頁顯示: 1530 50

張貼日期: 2022 年 7 月 18 日 上午 6:07
回覆: 7