AdrianCassar / Xenia-WebServices

Xenia Web Services is a REST API designed to support the Xenia Xbox 360 emulator in providing online and multiplayer functionality.
MIT License
32 stars 15 forks source link

Encountering problems when playing online #37

Open silvncr opened 2 months ago

silvncr commented 2 months ago

I don't know where to ask for help with this because all the other Xenia Canary Netplay repositories have Issues disabled. If you're going to close this, please provide me with a method of contact.

I'm trying to play Quarrel (584111EA) online with a friend. I've followed the setup guide(s) in the relevant wikis, and we're using the public server (the one hosted on Heroku). Both of us are using builds from AdrianCassar/xenia-canary/actions that were built within the past week.

We can create a room, and the other person can see it in-game, but it errors when they try to join it.


Player 1 creates a lobby:

image

Lobby is visible on server list thing:

image

Player 2 can see the lobby:

image

Error when trying to join lobby:

image


Notes:

I've also noticed that Quarrel isn't mentioned on the Netplay compatibility list; not even that it's not working, it's just not there. Is that because it's a small game you haven't tested?

AdrianCassar commented 2 months ago

Hi sorry didn't see this issue until now.

It's common for games to not display the gamertag, it's an unsolved issue.

When searching for sessions games will periodically refresh checking for new available sessions.

I have checked why this game is failing. During connection the log spams NetDll_WSASendTo: overlapped!. This is a known issue with may games and is yet to be implemented.

The netplay compatibility list generally only lists games that are known to be working in some capacity.

silvncr commented 1 month ago

This is a known issue with [many] games and is yet to be implemented.

Thank you for clarifying this and the other points.

I'll leave this issue open, I suppose.

AdrianCassar commented 1 week ago

This game works with a proof of concept implementation of WSASendTo.

Github actions build here.

image

image

silvncr commented 1 week ago

Thanks for the update, I'll test it later.

silvncr commented 1 week ago

My friend got an error when trying to search/join:

Related log excerpt:

i> 01000020 XSessionCreate
i> 01000020 Session Description: Presence, Stats, Matchmaking, Peer Network, In-Progress Join Disabled, 
i> 01000020 Session Extended Description: Group Lobby, Group Game, LIVE: Multiplayer, 
i> 01000020 Joining session AE00ED8D825126FC
i> 01000020 Joining xbox live session
i> F8000008 XGISessionJoinLocal(300A7018, 1, 00000000, 7018F910, 7018F8F0)
i> F8000008 XUID: B13EBABEBABEBABE - Occupying public slot
i> F8000008 Added handle:00000128 for class xe::kernel::XObject
i> F8000008 Successfully updated 192.168.20.14:1000(UDP) to IGD:1000
i> F8000008 Requesting B13EBABEBABEBABE player details.
i> F8000008 XNetConnect(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 Removed handle:00000128 for class xe::kernel::XSocket
w> F8000008 ERROR: fn export referenced GetProcAddressByOrdinal(048C(XamVoiceSetMicArrayIdleUsers)) is not implemented
w> F8000008 ERROR: XexGetProcedureAddress ordinal 1164 (0x48C) in 'xam' not found!
i> F8000008 XGISessionLeaveLocal(300A7018, 1, 00000000, 7018F8A0)
i> F8000008 XUID: B13EBABEBABEBABE - Leaving public slot
i> 01000020 XGISessionDelete
i> 01000020 XSessionSearchEx
i> 01000020 SessionSearch found 1 sessions.
F> F8000008 StfsContainerDevice::ResolvePath()
i> F8000008 Added handle:F8000128 for class xe::kernel::XObject
i> F8000008 Removed handle:F8000128 for class xe::kernel::XFile

This is my GUID:

i> F8000008 Requesting B13EBABEBABEBABE player details.

I think this part means the connection is successful, like HTTP response 0:

i> F8000008 XNetGetConnectStatus(00000000)

This part is the problem:

w> F8000008 ERROR: fn export referenced GetProcAddressByOrdinal(048C(XamVoiceSetMicArrayIdleUsers)) is not implemented
w> F8000008 ERROR: XexGetProcedureAddress ordinal 1164 (0x48C) in 'xam' not found!

Edit

I got this error, too:

Related log excerpt:

i> 01000020 XSessionSearchEx
i> 01000020 SessionSearch found 1 sessions.
i> F8000008 Requesting QoS data.
w> F8000008 ERROR: fn export referenced GetProcAddressByOrdinal(048C(XamVoiceSetMicArrayIdleUsers)) is not implemented
w> F8000008 ERROR: XexGetProcedureAddress ordinal 1164 (0x48C) in 'xam' not found!
w> F8000008 ERROR: fn export referenced GetProcAddressByOrdinal(048C(XamVoiceSetMicArrayIdleUsers)) is not implemented
w> F8000008 ERROR: XexGetProcedureAddress ordinal 1164 (0x48C) in 'xam' not found!
i> F8000008 Added handle:F800011C for class xe::kernel::XObject
F> F8000008 StfsContainerDevice::ResolvePath()
i> F8000008 Added handle:F8000120 for class xe::kernel::XObject
i> F8000008 Removed handle:F8000120 for class xe::kernel::XFile
i> F8000008 Added handle:F8000120 for class xe::kernel::XObject
i> 01000020 XSessionCreate
i> 01000020 Session Description: Presence, Stats, Matchmaking, Peer Network, 
i> 01000020 Session Extended Description: Group Lobby, Group Game, LIVE: Multiplayer, 
i> 01000020 Joining session AE007D3EF55C7748
i> 01000020 Joining xbox live session
i> F8000008 Added handle:F8000124 for class xe::kernel::XObject
i> F8000008 XGISessionJoinLocal(30091018, 1, 00000000, 7018F910, 7018F8F0)
i> F8000008 XUID: B13EBABEBABEBABE - Occupying public slot
i> F8000008 Added handle:00000128 for class xe::kernel::XObject
i> F8000008 Successfully bound 192.168.0.2:1000(UDP) to IGD:1000
!> F8000008 XLiveAPI::Post: Failed! HTTP Error Code: 404
!> F8000008 FindPlayers error message: Player not found.
i> F8000008 XNetConnect(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 XNetGetConnectStatus(00000000)
i> F8000008 Removed handle:00000128 for class xe::kernel::XSocket
w> F8000008 ERROR: fn export referenced GetProcAddressByOrdinal(048C(XamVoiceSetMicArrayIdleUsers)) is not implemented
w> F8000008 ERROR: XexGetProcedureAddress ordinal 1164 (0x48C) in 'xam' not found!
i> F8000008 XGISessionLeaveLocal(30091018, 1, 00000000, 7018F8A0)
i> F8000008 XUID: B13EBABEBABEBABE - Leaving public slot
i> 01000020 XGISessionDelete