[PUN2] Best Region: investigation and improvements

Options
2»

Comments

  • Tobias
    Options

    If you set the PunLogging to "Informational", you get a summary of the logs to the console.

    I can't reproduce a high ping to EU. Got 16ms (from a regular landline with powerline adapter).

  • TeohTC
    Options

    Hi, just curious is this thing still under investigation and development? Recently I've been experiencing some issue and received some bug report from players where they automatically connected to east Russian server while the closest region is Asia

  • Tobias
    Options

    It's not always geographically the closest. VPNs may skew the results. In WebGL, pings have a high fluctuation in either case and results may vary.

    We can still have a look into this. To do anything but repeat myself, I would require some info-level logs with the ping results and the location of the player.

  • TeohTC
    TeohTC
    edited January 2022
    Options

    Hi, I run the test twice and got some info-levels logs for you. I'm living in Malaysia which geographically closer to the Asia server that hosted in Singapore, but it seem like the RUE server always return with the lowest ping

    Run 1:

    2022/01/25 16:17:42.038 9455 9602 Info Unity Region Pinging Result: rue[172.65.199.201:5055]: 13ms

    2022/01/25 16:17:42.038 9455 9602 Info Unity eu: 183 (190, 183, 184, 183, 184)

    2022/01/25 16:17:42.038 9455 9602 Info Unity us: 241 (261, 242, 243, 241, 241)

    2022/01/25 16:17:42.038 9455 9602 Info Unity usw: 186 (199, 186, 186, 186, 189)

    2022/01/25 16:17:42.038 9455 9602 Info Unity cae: 239 (255, 239, 240, 239, 239)

    2022/01/25 16:17:42.038 9455 9602 Info Unity asia: 14 (30, 13, 14, 13, 16)

    2022/01/25 16:17:42.038 9455 9602 Info Unity jp: 93 (101, 90, 93, 91, 99)

    2022/01/25 16:17:42.038 9455 9602 Info Unity au: 99 (104, 98, 97, 104, 97)

    2022/01/25 16:17:42.038 9455 9602 Info Unity sa: 358 (346, 342, 358, 342, 393)

    2022/01/25 16:17:42.038 9455 9602 Info Unity in: 45 (48, 45, 44, 47, 46)

    2022/01/25 16:17:42.038 9455 9602 Info Unity ru: 352 (346, 357, 368, 339, 344)

    2022/01/25 16:17:42.038 9455 9602 Info Unity rue: 13 (18, 14, 13, 13, 13)

    2022/01/25 16:17:42.038 9455 9602 Info Unity kr: 79 (84, 79, 79, 79, 79)

    2022/01/25 16:17:42.038 9455 9602 Info Unity za: 307 (309, 307, 307, 308, 307)

    2022/01/25 16:17:42.038 9455 9602 Info Unity tr: 282 (276, 289, 289, 275, 278)


    Run 2:

    2022/01/25 16:21:26.831 10985 11138 Info Unity Region Pinging Result: rue[172.65.199.201:5055]: 14ms

    2022/01/25 16:21:26.831 10985 11138 Info Unity eu: 186 (191, 186, 185, 187, 187)

    2022/01/25 16:21:26.831 10985 11138 Info Unity us: 238 (244, 237, 242, 237, 239)

    2022/01/25 16:21:26.831 10985 11138 Info Unity usw: 187 (195, 188, 187, 187, 188)

    2022/01/25 16:21:26.831 10985 11138 Info Unity cae: 239 (245, 240, 240, 239, 239)

    2022/01/25 16:21:26.831 10985 11138 Info Unity asia: 16 (18, 18, 14, 15, 17)

    2022/01/25 16:21:26.831 10985 11138 Info Unity jp: 124 (98, 97, 207, 99, 95)

    2022/01/25 16:21:26.831 10985 11138 Info Unity au: 97 (103, 97, 97, 95, 99)

    2022/01/25 16:21:26.831 10985 11138 Info Unity sa: 344 (351, 344, 345, 346, 343)

    2022/01/25 16:21:26.831 10985 11138 Info Unity in: 79 (79, 79, 77, 79, 84)

    2022/01/25 16:21:26.831 10985 11138 Info Unity ru: 333 (337, 340, 329, 336, 329)

    2022/01/25 16:21:26.831 10985 11138 Info Unity rue: 14 (15, 13, 19, 13, 13)

    2022/01/25 16:21:26.831 10985 11138 Info Unity kr: 80 (79, 79, 76, 79, 86)

    2022/01/25 16:21:26.831 10985 11138 Info Unity za: 309 (311, 310, 307, 314, 307)

    2022/01/25 16:21:26.831 10985 11138 Info Unity tr: 312 (301, 317, 297, 318, 316)

  • Tobias
    Options

    Those lists are very clear, even if the result is surprising: Your ping to RUE is awesome and hard to beat.

    What happens when you check the ping in-game using GetPing()?

  • TeohTC
    TeohTC
    edited January 2022
    Options

    quite bad actually, around 300+- ping, but the ping is fine when I still in master server and then it go to 300+- when in the game server

  • Tobias
    Options

    Please mail us. Include the post (copy paste please) and add your appid.

    Will discuss with my colleagues if anyone has an idea how this could happen.

  • Tobias
    Options

    It turns out we recently had to use a Master Server from Singapore for the RUE region. Meaning: Your ping for the Master Server was to a Singapore server but this was handling servers in Russia (which gave you the bad ping in the end).

    This is resolved from our end and you don't have to update anything.

    Clients will detect that their ping to RUE is no much worse than earlier and should re-ping all regions, this time ending up in Asia (with overwhelming accuracy).

  • FFL_AWITTE
    Options

    Is there even a way to have PUN get what it thinks is best region without having to connect to the master server? This seems like a missing feature.

  • ihor
    Options

    ----------------------------------------------------------------MacOS------------------------------------------------------------

    PUN got region list: rue;110;asia,au,cae,eu,in,jp,kr,ru,rue,sa,us,usw,za

    Region Ping : rue[92.38.191.5:5055]: 103ms

    Previous summary: rue;110;asia,au,cae,eu,in,jp,kr,ru,rue,sa,us,usw,za


    Unity Editor:

    PUN got region list. Going to ping minimum regions, based on this previous result summary: asia;128;asia,au,cae,eu,in,jp,kr,ru,rue,sa,us,usw,za

    Region Pinging Result: asia[92.38.183.13:5055]: 105ms

    Previous summary: asia;128;asia,au,cae,eu,in,jp,kr,ru,rue,sa,us,usw,za


    My IP: 125.73.202.255

    My Location: Guangxi, China

  • Tobias
    Options

    Thanks for the logs. In both cases, the clients already knew a best region and only pinged that one. It wasn't (much) worse than earlier, so the clients kept using these regions.

    You can set a Development Region to avoid most region issues during development time or you could set a fixed region.

    To get more info about what results each region gets you, it makes sense to delete the current "best region", which is stored in the player preferences (PhotonNetwork.BestRegionSummaryInPreferences = null). Then, we get ping results for all regions.

    Setting a Region Whitelist will also make clients re-ping all (then) available regions (it invalidates existing stored results)...