Forum Multiplayer CreateJoinRoom calling neither callback

Discussion and help relating to the PlayerIO Multiplayer API.

CreateJoinRoom calling neither callback

Postby kChamp » March 14th, 2015, 3:33 am

A couple of my players are having a problem where CreateJoinRoom calls neither the success or error callback. Here's the Unity C# code:

Code: Select all
Debug.Log("pre-call");//successfully logged
try{
   client.Multiplayer.CreateJoinRoom(<room name>,<room type>,false,null,null,delegate(Connection connection) {
      Debug.Log("success");//never logged
      initConn = connection;
      initConn.OnMessage += InitHandler.handleMessage;
      initConn.OnDisconnect += InitHandler.Disconnect;
   },
   delegate(PlayerIOError error) {
      Debug.Log("error");//never logged
   });
}catch(Exception e){
   Debug.Log("exception");//never logged
}


Where do I go from here?
kChamp
Paid Member
 
Posts: 9
Joined: July 5th, 2010, 7:44 pm

Re: CreateJoinRoom calling neither callback

Postby lutc » March 24th, 2015, 5:02 am

I am getting the same issue with Flash as well.

We've just released our game and it is going pretty well, however it seems that 5-10% of players are having issues joining multiplayer rooms.

We are using the latest Flash SDK v3.2.0 and call createJoinRoom for $service-room$. For these players, they just get stuck there and the error callback does not trigger. I'm also not getting any error messages from the multiplayer room itself.

Verification methods:
1) I put an errorlog in the error callback function to verify that it is not being triggered. Errorlog does not happen.
2) I have a timer that times-out with an errorlog when the success callback function is not being triggered after 30 sec. Time-out errorlog occurs.

These players are able to register and access bigDB so their network connection is OK, it is just that they are not able to join multiplayer rooms.

Has anyone else experienced this issue or know how to work around it? Thanks.

Extra information:
- This issue will happen consistently for the same user.
- This doesn't seem to be geographically related. I have users encountering this issue from different countries like Australia and Ireland.

Edit: Not sure if it helps but when the error callback does trigger, it shows 1 of these 2 errors:
1) Unable to connect to player.io multiplayer server due to Security Error [Error #2048]
2) Error: The method requested is not supported [PlayerIOError] Error #2032
lutc
 
Posts: 64
Joined: February 13th, 2013, 3:05 pm

Re: CreateJoinRoom calling neither callback

Postby lutc » March 25th, 2015, 7:10 am

According to errorlogs, we are losing a number of new players every hour due to this issue so any help is appreciated. Thanks!
lutc
 
Posts: 64
Joined: February 13th, 2013, 3:05 pm

Re: CreateJoinRoom calling neither callback

Postby gfoot » March 25th, 2015, 4:43 pm

I brought up something similar in August: viewtopic.php?f=4&t=35694&p=48490&sid=c9021db8d05b80da0a605616cfacbb2f#p48490

What I found was that from my work office I couldn't join rooms - neither callback gets called. The same code works fine on other networks.

We don't have a particularly strict firewall policy, but do have multiple layers of routers and NAT. Recently I tried this again with the same results. The guy in charge of the routers told me a way to reconfigure my PC to skip through one of the routing layers, and it made connecting to rooms work fine again.

However I don't view that as a solution. A big part of the point of using a client-server architecture is to avoid problems caused by NATs, so that players can play even when they're stuck behind awkward firewalls. As you guys have also noted, most of the Yahoo services work fine even in this situation, it is just the multiplayer service that fails. So there ought to be something that can be done to fix the problem.
gfoot
 
Posts: 21
Joined: July 31st, 2014, 11:44 pm

Re: CreateJoinRoom calling neither callback

Postby lutc » April 6th, 2015, 3:48 am

More information on the issue:

1) Issue also when the player has the latest version of Flash Player (not Flash Player related)
2) Issue happens for all browsers (not browser related)
3) Issue happens even with basic setup (windows firewall, AVG antivirus, home computer directly connected to modem)

More importantly, this issue is affecting ALL PlayerIO games. I asked a user encountering this issue to try other PlayerIO games like Everyone Edits and Helmet Heroes. He gets stuck on those games too:
Everyone Edits - stuck at beginning image
Helmet Heroes - stuck at "connecting to room"
-> Around 2% of all players are unable to play games made using PlayerIO.
lutc
 
Posts: 64
Joined: February 13th, 2013, 3:05 pm

Re: CreateJoinRoom calling neither callback

Postby Henrik » April 7th, 2015, 10:50 pm

The Multiplayer servers are on public IP addresses with a bunch of ports open, which is the most basic way the internet works, and if a client can't connect to it, then something on that client's network is messing with the traffic, and his internet is technically broken. We know that a lot of users are unfortunately behind such setups through no fault of their own, and we have a bunch of workarounds in place, but that's all they are, workarounds. If a determined ISP or network admin doesn't allow clients to open persistent TCP connections to a server and transmitting non-HTTP traffic, there isn't much we can do.

That the client library doesn't call the error callback though is a problem, and we'll try to look at that a bit more, but the hardest part is replicating it since you would essentially need to be on the user's network to figure out what's going wrong.
Henrik
.IO
 
Posts: 1880
Joined: January 4th, 2010, 1:53 pm

Re: CreateJoinRoom calling neither callback

Postby robertflesch » April 8th, 2015, 3:22 am

Henrik you can simulate this by having a server that accepts the packet, but not respond to the request.
But my question is why does the login work, but the CreateJoinRoom not? what is different? Since I would expect the login to use a similar TCP path.
Last edited by robertflesch on April 8th, 2015, 3:29 pm, edited 1 time in total.
robertflesch
Paid Member
 
Posts: 136
Joined: April 22nd, 2013, 9:18 pm

Re: CreateJoinRoom calling neither callback

Postby lutc » April 8th, 2015, 3:27 am

More info: Affected users say that they did not experience any issues connecting to other multiplayer games. They only have the issue with the PlayerIO games that I got them to test.

Henrik, I empathize completely how difficult is it to fix a bug that you can't reproduce on your system. Sometimes I wish I could just fly over to a players' house just to use their system to figure out what bug they are experiencing.
lutc
 
Posts: 64
Joined: February 13th, 2013, 3:05 pm

Re: CreateJoinRoom calling neither callback

Postby gfoot » April 8th, 2015, 10:20 am

I can run any tests you require on my work network.

As far as I know, we don't have any deliberate restrictions on connecting sockets to any target addresses or ports. People here play multiplayer games at lunch time without problems, as far as I'm aware.

My only suspicion is that port 80 traffic is routed through a transparent proxy and may exit onto the Internet from a different address to other traffic. If your servers are sensitive to that, and expecting "game" connections to originate from the same address that authentication connections originated from, then I guess this would cause them to fail. But your servers shouldn't really care about that, I would imagine you use auth tokens in the data itself to identify who is connecting.
gfoot
 
Posts: 21
Joined: July 31st, 2014, 11:44 pm

Re: CreateJoinRoom calling neither callback

Postby Henrik » April 12th, 2015, 3:08 am

Authenticate, and the first part of CreateJoinRoom, makes regular HTTP calls to our webservice. This works for pretty much everyone. The second part of CreateJoin Room opens a persistent TCP connection to a multiplayer server, transmitting data using our custom protocol, and this part fails for some people because their network restricts them from doing this.
Henrik
.IO
 
Posts: 1880
Joined: January 4th, 2010, 1:53 pm

Re: CreateJoinRoom calling neither callback

Postby kChamp » April 12th, 2015, 5:05 pm

For me, the affected users are able to play the Flash version successfully (http://www.shellshocklive2.com), but not the Unity desktop version (through Steam.)

Could it be some sort of Firewall issue restricting certain programs?
kChamp
Paid Member
 
Posts: 9
Joined: July 5th, 2010, 7:44 pm

Re: CreateJoinRoom calling neither callback

Postby Henrik » April 13th, 2015, 4:50 pm

It's more likely an issue with Unity. We found one bug where TCP Sockets just doesn't work if you compile your program for Unity5 using IL2CPP, they fixed it in Unity 4, but we've yet to see a fix for Unity 5.
Henrik
.IO
 
Posts: 1880
Joined: January 4th, 2010, 1:53 pm

Re: CreateJoinRoom calling neither callback

Postby kChamp » May 25th, 2015, 10:54 pm

Is there any update on this? I have several paid players who aren't able to connect.
kChamp
Paid Member
 
Posts: 9
Joined: July 5th, 2010, 7:44 pm

Re: CreateJoinRoom calling neither callback

Postby mouldi » July 19th, 2015, 10:18 am

Guys forget about this, i've been crying about it since 2013 and player.io will never fix it (and they never did bythe way it's due to certain ISP that uses some wierd proxies (i know that allmost all other backends works fine with all ISP) but not player io
mouldi
 
Posts: 23
Joined: December 28th, 2012, 2:02 am

Same issue here with unity client

Postby wbsaputra » August 31st, 2021, 3:46 pm

ailed to join group room NetworkIssue NetworkIssue; EndRead failed. IOException Unable to read data from the transport connection: Connection reset by peer.
UnityEngine.Debug:LogError(Object)
wbsaputra
Paid Member
 
Posts: 150
Joined: June 29th, 2010, 4:38 pm

Re: CreateJoinRoom calling neither callback

Postby chaksur » December 29th, 2021, 11:07 am

we are losing a number of new players every hour due to this issue so any help is appreciated.
chaksur
 
Posts: 1
Joined: December 29th, 2021, 11:05 am

Re: CreateJoinRoom calling neither callback

Postby salo » April 18th, 2022, 8:48 am

rudrisazz wrote:I empathize completely how difficult is it to fix a bug that you can't reproduce on your system. Sometimes I wish I could just fly over to a players' house just to use their system to figure out what bug they are experiencing.
mobdro
Smartcric APK is an outstanding and flexible live cricket application that lets users stream live cricket matches. You can hear live cricket commentary and get the ball-by-ball runs update and the match score. Now anyone can watch cricket matches lives from all over the world.
smartcric-apk
salo
 
Posts: 7
Joined: April 18th, 2022, 8:46 am


Return to Multiplayer