hrydgard / ppsspp

A PSP emulator for Android, Windows, Mac and Linux, written in C++. Want to contribute? Join us on Discord at https://discord.gg/5NJB6dD or just send pull requests / issues. For discussion use the forums at forums.ppsspp.org.
https://www.ppsspp.org
Other
11.04k stars 2.15k forks source link

Misc Ad-hoc issues #14641

Open ghost opened 3 years ago

ghost commented 3 years ago

What happens?

Didn't wanna group them as one but also didn't want to have seperate issues. This is probably the last time I gonna report any issues for awhile though. Super Pocket Tennis - After the 2nd player joins the game disconnects. Rush- Game freezes after a 2nd player joins the game. WHO WANTS TO BE A MILLIONAIRE - PARTY EDITION - similar to Rush, freeze on both instances. Vulcanus: Seek & Destroy - Similar to Rush , but the game freezes when someone just hosts a game instead. Gensan - Similar to Rush , the game will freeze on both instances. Bomberman Panic Bomber - After the 2nd player joins the game disconnects. Shinseiki GPX Cyber Formula VS - disconnects after starting game. All tried locally by using "localhost" as IP. I remember trying with a higher timeout for some of the games but I don't remember if i did for all of them. The result was still the same though.

What are you using? What hardware / device and operating system? OS: Windows 10 CPU:Intel 8550U

What graphics card (GPU) or mobile phone model? GPU:Radeon 530

What PPSSPP version (standalone/official), and did it work before? Didn't notice but I dont think they worked on the latest stable release.

Which game or games?

anr2me commented 2 years ago

Okay, i found a clue, seems to be timing issue, the game might have an internal timeout while waiting for the event to arrived on the callback handler, and it seems to be a pretty short timeout. image

But i won't be fixing these timing issue until after i moved AdhocMatching threads to PSPThreads, i'll probably put it as testbuild for people to test it and find out whether it will cause regression on other games or not.

Edit: ~Def Jam seems to be working too~ Def Jam still have a random success

ghost commented 2 years ago

Whenever i had issue playing Android vs PC, usually having the slower one (in this case my Android is having slower performance than PC) as the Host/room creator, it will have higher chance to succeed, may be AdhocMatching syscalls really need to block the current thread so that it can at least waited for the packet & event before progressing too far, but there will be another issue, since AdhocMatching is using PDP/UDP in the case the packet got lost the one waiting may need to wait longer before it realized the packet was lost.

PS: since sceNetAdhocMatchingSelectTarget is being called from user_main which is usually the main thread which is used for rendering too, that thread is probably not being blocked to avoid the screen to look frozen, but it depend how the game developer design the netcode, as some games seems to prefer to froze the screen while waiting for packets.

What I mean could aalso be related to this? https://github.com/hrydgard/ppsspp/issues/13533#issuecomment-774629881 Someone on the Discord is still getting a black screen here and there on the game dont know if its still related to incorrect/unknown port as well lol.

Actually there might be a similar issue on Xlink Kai because the game ssid switches when going into coop. If it switches too slow the game disconnects and crashes.

anr2me commented 2 years ago

I've updated my test builds with the changes i did to fix Super Pocket Tennis, it may not be perfect but should worked most of the time Win32&64: https://www.dropbox.com/s/2t3mtdhb0f045cn/PPSSPP_1.11-testbuild_Win32x64.zip?dl=0 Android(ARMv7): https://www.dropbox.com/s/b41bm43mtn1gpnn/PPSSPP_1.11-testbuild_ARMv7.apk?dl=0

Let me know if you found any regression on other AdhocMatching games, like performance issue in lobby or difficulty to join a room or start the mission.

ghost commented 2 years ago

I think I will wait for the move to PSP thread , I rather prefer using either orphis or stable builds. No rush.

ghost commented 2 years ago

Adding Shinseiki GPX Cyber Formula VS as non-working. I am trying games on Xlink to see if they work or not so I also try them on PPSSPP as well. My focus now is japanese only games.

anr2me commented 2 years ago

The problem with japanese games are... i can't even tell which menu are the multiplayer menu LOL, it would be nice if you can pointed out how to setup multiplayer on games that need to go deep into the inner menu.

ghost commented 2 years ago

The menus are in english this time.

Notice that this was tried only with the orphis/stable build and not the test one you made. So no clue if it works there until you try.

anr2me commented 2 years ago

Adding Shinseiki GPX Cyber Formula VS as non-working. I am trying games on Xlink to see if they work or not so I also try them on PPSSPP as well. My focus now is japanese only games.

This game seems to have timeout issue, probably related to the fake timestamp on peer info, may be the game comparing the subtracted value as unsigned number and ended seeing negative number as a very high number, i'll need to check the mips code to confirm this tho. image

Update1: The main reason seems to be because it haven't received any data since AdhocMatching started (all of the PdpRecv returning "would block" which mean there is no data to be received), thus the last_recv timestamp never get updated. This game seems to have a short timeout (175ms)... probably won't work over the internet if on LAN can hit the timeout this fast

Update2: The Versus mode didn't use AdhocMatching and having similar issue (didn't received any data), so this is probably timing issue, because the game only send once after the PDP socket created and then repeatedly trying to Recv without any attempt to Send again, this will cause issue if the packet got lost or when the other side is not ready to receive any data yet (ie. the socket is not created/binded yet). By not trying to re-send like this is a pretty bad netcode that only suitable for LAN environment, even on LAN there is still a possibility for packet to be lost.

PS: The Host is creating the socket 1sec 717ms later after the Client created their socket and sent the data, thus the host never receive this data or even know that someone was sending a data, thus unable to reply, ended with the Client hitting the timeout, this is an issue that could happen if the Host is slower than the Client.

This is going to be difficult to fix, even if we managed to increase the success rate... somehow, it won't be 100%, as it's depends on how fast each player's device are, and also how high is the chance for the packet to be lost, it's also depends on how high is the latency of each player's internet connection to the AdhocServer, since whoever managed to joined the group first will be progressing faster than the other (ie. creating the socket first)

Unlike GameMode, where it's blocking the thread to make sure everyone have rejoined the group (when moving from common group to private group when the mission started) before progressing further.

ghost commented 2 years ago

Hmm I wonder if its like that Samurai japanese game I tried that even had issues connecting locally between 2 PSPs lol. That game still only works on localhost and even then it got issues. Japanese games and their weird netcode (Except a few games).

ghost commented 2 years ago

Whenever i had issue playing Android vs PC, usually having the slower one (in this case my Android is having slower performance than PC) as the Host/room creator, it will have higher chance to succeed.

This also how it works for MelonDS right now (local wireless not online) interesting The slower the device the more chance it will work on LAN and even on multiple instances. Both of the emulators also got the multiple instances as multiple processes and not a single process like I see some other emulators do it like mGBA etc.

But I guess GameMode is something seperate that acts differently.

anr2me commented 2 years ago

Whenever i had issue playing Android vs PC, usually having the slower one (in this case my Android is having slower performance than PC) as the Host/room creator, it will have higher chance to succeed.

This also how it works for MelonDS right now (local wireless not online) interesting The slower the device the more chance it will work on LAN and even on multiple instances. Both of the emulators also got the multiple instances as multiple processes and not a single process like I see some other emulators do it like mGBA etc.

But I guess GameMode is something seperate that acts differently.

It usually only works when the Host is in control of the syncing process. For example, if data supposed to be synced every frame (ie. 16ms) but the host have a slower FPS than the other and can only send data every 20ms, the others will be receiving data every 20ms thus processing the new state and rendering it at the same pace as the host (slower than normal)

Now, if the Host is the faster one, it will be sending data at normal rate (every 16ms) and the slower Client will never be able to fasten them self to keep up the pace, since the slower one can't process the packet fast enough the socket's buffer will eventually full and packets will started to be dropped, and the game will eventually no longer in sync.

Then again, it's depends on how the netcode was designed.

ghost commented 2 years ago

Do you still need the "force first connect" option? I was able to play multiple gundam games and other games without it. Or maybe its useful for internet play still.

BTW reading about netcodes here : https://meseta.medium.com/netcode-concepts-part-3-lockstep-and-rollback-f70e9297271 Seems like Dissidia and Gundam next plus fit the "determinstic lockstep" part here. They will disconnect because the gun shooting is different between platforms I guess. That means PPSSPP Is not deterministic (?).

ghost commented 2 years ago

Looks like Vulcanus got some sort of host/creator migration , if the game creator leaves the game while ingame it wont disconnect everyone (and if others disconnect it doesnt disconnect everyone too). Maybe thats why it does all the weird stuff. Not sure if that behavior works on PPSSPP and I didnt see it occur in other games yet but its nice to have.

ghost commented 2 years ago

@ANR2ME Got a new game that doesn't work properly: Simple 2500 Series Portable!! Vol.13: The Akuma Hunters - Exorsister Dunno if its like that racing game that got bad netcode but reporting about it anyway. It didnt work with multiple instances on either linux or windows. To host a game you need to enable Network and go to a level/mission. The joining player needs to enable Network and go to "Mission Room" which is pressing left once after selecting "Mission".

There is also Hokuto no Ken: Raoh Gaiden - Ten no Haou which I don't know whats going on with it lol.

anr2me commented 2 years ago

Simple 2500 Series seems to have AdhocMatching issue on the Host side.

Regarding Hokuto no Ken, How did you get into multiplayer? I can't even get to the main menu... it only shows black screen after Atrac3 syscalls not long after booting the game image If it's not network-related i think you should open a new issue Edit: nevermind, i was using 1.11.3 but when i tried 1.12.2 i can get into the menu, or may be one of the settings i had causing the blackscreen.. Edit2: Replacing the 1.12.2 exe with 1.11.3 exe on a new folder seems to works too, i guess it was the setting i had causing it Edit3: It was because i use D3D9... thus ended with black screen

anr2me commented 2 years ago

"Hokuto no Ken: Raoh Gaiden - Ten no Haou" doesn't have any issue on localhost image PS: ignore the Mbx error, it was something the game dev ignored anyway (usually only used during lobby)

anr2me commented 2 years ago

"Simple 2500 Series Portable!! Vol.13: The Akuma Hunters - Exorsister" seems to work using my test build with the fix for Super Pocket Tennis, although there was slow down at the time the 2nd player joined (might be due to loading the character's 3D model?) image So, that makes 3 games known to be fixed with it, hopefully the changes that fixed Super Pocket Tennis won't cause regression on other games tho.

ghost commented 2 years ago

"Hokuto no Ken: Raoh Gaiden - Ten no Haou" doesn't have any issue on localhost image PS: ignore the Mbx error, it was something the game dev ignored anyway (usually only used during lobby)

The issue seems to be Linux and (And mostl likely Android) only in the end. on localhost the other instance is connecting faster which I guess causes delayed inputs (?) and disconnection. I mainly use LInux now and less of WIndows because I am liking it better recently lol. I guess you will see this if you played it on LAN Android versus Windows as well.

Also there is no way for me to run the test build on Linux without the source to it...

ghost commented 2 years ago

Adding Fate/tiger colosseum which seems like the same issue as Pocket Tennis and games with a similar issue to it etc I think that the test build will make it work as well.

anr2me commented 2 years ago

You can use Wine or Proton to run windows executable on Linux, there shouldn't be much difference in performance.

For input delays issue, you can try changing the "Buffer graphics commands" on Graphics settings (only available on OpenGL/Vulkan)

ghost commented 2 years ago

You can use Wine or Proton to run windows executable on Linux, there shouldn't be much difference in performance.

For input delays issue, you can try changing the "Buffer graphics commands" on Graphics settings (only available on OpenGL/Vulkan)

It's only delayed on the 2nd instance. It's weird its like inputs go normal on the host instance and like 4-5 seconds they go on the other instance... from the other player perspective. Seems like a networking issue. I think you can only see it normally when doing Android/LInux play like that other fighting game that got fixed.

anr2me commented 2 years ago

So it only happened on localhost on linux, but normal when using Linux vs Android?

ghost commented 2 years ago

It happens on Android versus Windows and localhost on Linux so far. Not sure about Android VS Linux but might be too The origin of this is from them.

anr2me commented 2 years ago

Hmm.. if it's only happened when playing with Linux/Android but not on Windows-only something might be different between linux/android and windows, similar to the issue on Kenshin 2, but on a different function may be...

ghost commented 2 years ago

I tried also local lan multiplayer but also failed :( Screenshot_2021-08-10-22-38-38-599_org ppsspp ppsspp

Nevermind this local lan multiplayer is working but super lag on both phones rofl unlike before when we play local lan multiplayer is smooth.

I actually noticed there are a lot of people reporting that there are performance issues on Android when playing on Ad-hoc recently. Don't know the cause but at least on Linux and even Windows things are fine. Later someone told me that getting rid of background apps etc helps with that.

anr2me commented 2 years ago

They need to provide information like what was the last version that worked fine? there aren't that many PR related to networking, so this should be easy to be tracked, unless it was non-network commits that causing it, but somehow triggered when multiplayer module was loaded.

PS: After upgrading my phone to Android 11 i also feels it became heavier overtime than Android 10, this performance issue is affecting many apps on my phone, not only PPSSPP.

ghost commented 2 years ago

It's also playing against real consoles like PSP or Vita that is a bit messed up. Sometimes its even messed up only 1 way like i am seeing the PSP fine but he sees me choppy and teleporting lol. Not sure if this is a networking issue or its related to JIT like gundam etc. Totally not gonna see from there that started though lol it could have been from 1.11 too or maybe it was always like that.

Otherwise the state of Ad-Hoc is pretty good I would say.

ghost commented 2 years ago

there are some minor bugs with how GameMode games are handled , for example Star Wars The Force Unleashed doesn't track the score properly ingame for the current player but otherwise they are playable rather well I would say. There is someone reverse engineering how gamemode works so might be hopeful to understand how it works: https://github.com/codedwrench/uofw/tree/adhocctl Possibly this is related to the player data part in the code there.

anr2me commented 2 years ago

Yeah, i've tried to investigate Star Wars The Force Unleashed for months, but haven't figured out what's happening with it, the game probably thinks that all joined players got disconnected or something, which is why some players only see the host in the list, not sure when did it lost the player list.

High possibility that the issue might not even be related to GameMode, could be occurred when switching from AdhocMatching to GameMode (ie. AdhocMatching issue)

And, no, we can't simulate it the same way with firmware, because we don't have access to wlan driver like beacons, etc. Our network implementation are currently restricted to pro-online/AdhocServer, thus anything that doesn't exist on the legacy AdhocServer can only be faked or simulated with another way available on AdhocServer, which might not be accurate.

PS: I also have a dilemma while working on AdhocDiscover, because it suppose to get state callbacks from internal library (which is not implemented too, as it's close to wlan driver), thus i'll need to find an alternative way to simulate the callback.

ghost commented 2 years ago

It's weird because it does track the scores properly for Bomberman at least. BTW didnt you decompiled a prx file for adhocdiscover? so you do need to use stuff that originate from firmware in order to figure things out.

anr2me commented 2 years ago

Yes i'm using a decompiled prx as reference if there are some missing information on open source projects i found on the internet, but the decompiled prx is using some internal library related to driver library that are not documented, so i can only guessed what they're (roughly), and we can't use them on HLE either due to unimplemented internal/driver libraries on HLE, thus will need an alternate way to simulate them (might not be accurate, as long they worked on games)

ghost commented 2 years ago

Tekken 5 regressed even on localhost on both WIndows and Linux and even crossplatform. You will get different socket errors depending on where you are , either error 10051 on windows or error 32 on linux/android.

anr2me commented 2 years ago

Tekken 5 regressed even on localhost on both WIndows and Linux and even crossplatform. You will get different socket errors depending on where you are , either error 10051 on windows or error 32 on linux/android.

Socket error 10051 is human error

Network is unreachable.
A socket operation was attempted to an unreachable network. This usually means the local software knows no route to reach the remote host.

Which mean you're not on the same network, for example one player is using IP 192.168.x.x while the other is using 172.16.x.x, and PPSSPP will try to detects which network you're using based on the proAdhocServer IP address you choose, so make sure you're choosing the correct IP on proAdhocServer IP address.

In this case, if you tried to ping the other player's IP it will shows "unreachable" or "timeout"

ghost commented 2 years ago

How the IP is different when I use "localhost" on both sides? lol. And when you try on linux/android you get a different socket error anyway.

anr2me commented 2 years ago

If there is an issue with it, it should affects all games and not only Tekken 5, because the network detection is being used the same way on all games, they're being detected as soon as a game is trying to connect to AdhocServer.

I'll check on it later anyway, may be it have a different kind of issue.

ghost commented 2 years ago

I did see random socket errors (red errors) when playing etc but they didnt bother me much tbh because you can just reconnet. You might see it in other games if you play them long enough though.

anr2me commented 2 years ago

Not all socket error is an actual error, for example error code EINPROGRESS which tells you that a connection is already inprogress thus no longer need to connect again. But as i remembered i already hides these error codes from printed as red error message... may be i missed some error code.

What i often see is ETIMEOUT error on games that use a very short timeout (ie. Power Stone Collection), the game will try again but the logs will shows a lot of this "timeout" error, i leave it as red error message because timeout is... bad.

ghost commented 2 years ago

Local lan is super lag and sometimes hang while playing metal slug anthology 😔 can anyone give a solution or tips?

Platform: Android/11 Both game is in the internal storage. ppsspp v1.12.3-290-gdaae09b4a

anr2me commented 2 years ago

Local lan is super lag and sometimes hang while playing metal slug anthology 😔 can anyone give a solution or tips?

Platform: Android/11 Both game is in the internal storage. ppsspp v1.12.3-290-gdaae09b4a

Does an older version worked faster? If it's, could you find out which version was the last working one?

ghost commented 2 years ago

Local lan is super lag and sometimes hang while playing metal slug anthology 😔 can anyone give a solution or tips? Platform: Android/11 Both game is in the internal storage. ppsspp v1.12.3-290-gdaae09b4a

Does an older version worked faster? If it's, could you find out which version was the last working one?

Not tested older version below v1.10.3 🤔 But playing local lan in GEB is very smooth weird metal slug anthology is only 2d graphics but it's very lag on multiplayer local lan.

anr2me commented 2 years ago

Local lan is super lag and sometimes hang while playing metal slug anthology 😔 can anyone give a solution or tips? Platform: Android/11 Both game is in the internal storage. ppsspp v1.12.3-290-gdaae09b4a

Does an older version worked faster? If it's, could you find out which version was the last working one?

Not tested older version below v1.10.3 🤔 But playing local lan in GEB is very smooth weird metal slug anthology is only 2d graphics but it's very lag on multiplayer local lan.

Because different games have different net code, some games worked well even on a high latency, while some have a very short time out, there are even a game that can't work with 5ms latency (i suspects that the game is measuring the timeout in an uncommon way, but haven't figured out how they calculate the timeout yet), and when a game hit a timeout, there are 3 possibilities depends on how the game handle it: 1). The game gives up and show a connection error on screen (exiting multiplayer game) 2). The game will try to re-establish the connection (will cause extra overhead thus slower performance) 3). The game try to send/recv again (minor extra overhead, but on most OS it's not recommended to reuse a TCP socket that already hit a timeout, thus the behavior may not be consistent across platforms)

So, just because one game worked smoothly, that doesn't mean other games will be smooth either. However, since most adhoc games designed to work on LAN, they should at least be playable on LAN, so there might be an issue on Metal slug anthology, i'll check on it later when i had the time.

As a side note, some 2D games are heavier on the CPU compared to 3D games, and may affects the performance on mobile CPU. Btw, i noticed that my phone got slower performance after upgrading from Android 10 to Android 11, but i don't have any other phone to compare with, to find out whether it's Android 11 that causes performance regression on some games.

ghost commented 2 years ago

Local lan is super lag and sometimes hang while playing metal slug anthology 😔 can anyone give a solution or tips? Platform: Android/11 Both game is in the internal storage. ppsspp v1.12.3-290-gdaae09b4a

Does an older version worked faster? If it's, could you find out which version was the last working one?

Not tested older version below v1.10.3 🤔 But playing local lan in GEB is very smooth weird metal slug anthology is only 2d graphics but it's very lag on multiplayer local lan.

Metal slug anthology uses gamemode but when I played it was kinda playable laggy a bit but fine (on PC) last time I tried. I think that Metal Slug XX is way more laggier over high ping. Also I see there is a seperate issue for what I mentioned with Tekken 5 : https://github.com/hrydgard/ppsspp/issues/15196 Which is good I guess didnt wanna open too many issues but I guess its fine.

Well I tried Metal Slug Anthology and its full speed on localhost at least. I wonder if the Android 11+ issues with performance gotta do with the scoped stroage feature that got added there recently.

ghost commented 2 years ago

Local lan is super lag and sometimes hang while playing metal slug anthology pensive can anyone give a solution or tips?

Platform: Android/11 Both game is in the internal storage. ppsspp v1.12.3-290-gdaae09b4a

@Gamemulatorer Played this over the internet (Europe to Asia) on socom.cc PC to Android with an Android 11 phone player and it worked circa 27/28 fps which is fine and without stutters (only at the beginning and end of missions a bit which is fine). @ANR2ME Did a really good job with the gamemode games IMO most of them work very well locally and online no complaints there and PPSSPP is the only way to play these online so far.

There is also a video of someone that played it last year here (also shows settings that may help): https://www.youtube.com/watch?v=ajFzfnWUVzk

In comparsion Metal Slug XX which is way worse here (on amultios but on PPSSPP and PSP hardware its almost the same): https://youtu.be/ATXwoi6VH0g?t=68

anr2me commented 2 years ago

Metal Slug XX doesn't use GameMode as i remembered, so it may perform different if Anthology uses GameMode.

I feels like GameMode's performance can be improved further, currently we use an interval based with 10ms (or was it 5ms i forgot) interval to check whether there are data that need to be sent to other players and whether there are data incoming from other players, this interval may introduce extra latency/delay as much as the interval, and with more players playing together this extra delay/latency might became larger (i forgot whether each check will only check 1 packet or can check multiple packets at once per interval).

Basically, using shorter interval may improves response time, since we can detects new packets faster, thus processing it faster, but may cause extra overhead on low-end device's CPU since we need to check it more often, but with nowadays CPU it shouldn't consumes too much processing power i guess.

PS: AdhocMatching also have 10 ~ 30ms interval for checking new events, and i'm planning to reduce this extra delay when possible (which should fix some games like Super Pocket Tennis, and some other games), but i remembered there are games that doesn't work well if the AdhocMatching's events being processed too soon, might be a different issue tho.

ghost commented 2 years ago

Yeah noticed multiple people can cause more lag in GameMode games. And maybe input lag becomes higher as the result. Otherwise its good for what it is.

anr2me commented 2 years ago

Hmm.. looking at the decompiled GameMode at https://github.com/codedwrench/uofw/blob/adhocctl/src/adhoc/pspnet_adhocctl.c Especially on the GameModeWaitForPlayersReJoin internal function, it seems GameMode is using PTP connection to sync the data for the first time (i wondered why JPCSP didn't have this), that function seems to be used to wait for all players to join the group, while on our implementation we only predicts that all players have joined by using the notification from AdhocServer without actually trying to communicate with joined players.

I think the flow is like this: 1). Host/Master create the group, and Listened on PTP Port 32769 while waiting for all Replicas (other players) to join 2). Each Replica (other player) will Connect to PTP Port 32769 using a PTP socket bound to port 32767 after joining the group 3). Host send a data (not sure what this data is, but seems to be started with a number of 0x01) to the Accepted connection, and then close the connection.

PS: I can't find the part of the code on the Replica side that supposed to use PtpConnect in that pspnet_adhocctl.c source code, so i guess they haven't fully implementing GameMode yet.

ghost commented 2 years ago

Hmm.. looking at the decompiled GameMode at https://github.com/codedwrench/uofw/blob/adhocctl/src/adhoc/pspnet_adhocctl.c Especially on the GameModeWaitForPlayersReJoin internal function, it seems GameMode is using PTP connection to sync the data for the first time (i wondered why JPCSP didn't have this),

JPCSP got unfinished support for GameMode according to this page: https://github.com/jpcsp/jpcsp/wiki/XLink-Kai Though I have seen some work being done with it this/last year. Also if you wanna contact the guy behind that RE project his tag on Discord is codedwrench#9628.

ghost commented 2 years ago

Yeah, i've tried to investigate Star Wars The Force Unleashed for months, but haven't figured out what's happening with it, the game probably thinks that all joined players got disconnected or something, which is why some players only see the host in the list, not sure when did it lost the player list.

High possibility that the issue might not even be related to GameMode, could be occurred when switching from AdhocMatching to GameMode (ie. AdhocMatching issue)

And, no, we can't simulate it the same way with firmware, because we don't have access to wlan driver like beacons, etc. Our network implementation are currently restricted to pro-online/AdhocServer, thus anything that doesn't exist on the legacy AdhocServer can only be faked or simulated with another way available on AdhocServer, which might not be accurate.

PS: I also have a dilemma while working on AdhocDiscover, because it suppose to get state callbacks from internal library (which is not implemented too, as it's close to wlan driver), thus i'll need to find an alternative way to simulate the callback.

Thanks to your efforts fixing the GameMode games a developer commented on someone playing the game's multiplayer and provided insight on developing process of a map: https://www.youtube.com/watch?v=sdiu4U4QI04&lc=UgyJlGaPSDDPEIIDji94AaABAg

ghost commented 2 years ago

Added Bomberman Panic Bomber (simliar issue to super pocket tennis etc).

anr2me commented 2 years ago

Added Bomberman Panic Bomber (simliar issue to super pocket tennis etc).

Seems to be a different issue image It failed to PtpAccept incoming PtpConnection with an error of ERROR_NET_ADHOC_INVALID_ARG, it even tried to delete GameMode that hasn't been created yet...