Matchmaking not working in Dubai, working fine in Turkey!

car_game_dev
edited June 2017 in Native
Hi,

I've just started using Photon Engine for my cocos2d-x game using Photon Realtime C++ SDK. Things are working well locally here in Turkey, I'm able to matchmake games between players on devices located in Istanbul (Turkey) and play (with a lag). However, doing exactly the same testing for a bunch of devices over in Dubai, doesn't work, no match making is happening, and when they connect to players in Istanbul (Dubai - Istanbul) the game disconnects in like 15 seconds.

I'm using the free plan for now, will upgrade if that will solve the issue. But at the time being, I'm under the impression that only the CCU limit will be increased with the upgrade, and for me that's not the problem right now.

What could be the problem? And what can I do to fix it?

Comments

  • To which region(s) do you connect to?
    Please verify connection speed/quality with a traceroute from Dubai to those region(s).
  • There is no specific region that I want to connect to, I basically want users to have a good experience wherever their region is. I'm using ExitGames::LoadBalancing::RegionSelectionMode::BEST to ensure that the "best" region is selected.

    However, when I try to match two players located in the same building in Dubai, they are unable to find each other! And when I do get a match with a player located in Istanbul the game disconnects after like 15 seconds.

    For the traceroute, can you kindly tell me exactly the parameters that I need to run and from where do I get the IP address of the photon server? Networking newbie here :blush:
  • Hi @car_game_dev.

    Please note that Photon Cloud is region-locked.
    If two clients use RegionSelectionMode::BEST and end up with a different result for their best region, then they will connect to different regions and clients in different regions are NOT able to see each other or match with each other.

    Depending on the latency requirements of your game and then amount of players that you have around the world, it may be preferable to use RegionSelectionMode::SELECT and depending on the device location let all players connect to only a couple of regions.
    Using SELECT mode also makes sense if you need to guarantee that two clients from different parts of the world end up in the same region during development/testing.

    However this does not explain why two players in the same building can't see each other or have a terrible connection.
    It looks like the pings from your Dubai clients to two different Photon regions might be so similar that depending on timing, luck and the local connection (mobile vs. landline and which network provider) a different region might be the best one so that two clients from Dubai might end up in different regions.

    Also the consistent disconnects indicate a terrible connection quality to whatever region they end up with.
    This is not a Photon problem, but a problem with the local network of those devices.

    You could ping all available regions yourself and have a look at the results and then manually try out the most promising looking regions by specifying them with RegionSelectionMode::SELECT.
  • PS:
    One option for you to tackle this would be to self host you own Photon Servers in Dubai, Abu Dhabi or somewhere else in the Emirates or in general somewhere in the Middle East and let clients from there connect to those instead of connecting to Photon Cloud.