GitHub Documentation Patreon donate button

Match maker doesn't work across multiple servers



  • Hi guys,
    I'm using colyseus for my online games and want to scale up multiple servers. I have 2 instances running with redis presence. My client C1 joined room R1 on the first instance, then I want client C2 (connected to second instance) to join room R1 but it not worked. Any solution for this ? Is there anyway to make the match maker work across servers ?


  • administrator

    Hi @namnhq, have you had a look at the scalability + proxy docs? https://docs.colyseus.io/scalability/

    Basically you need to have the proxy as public endpoint, and the proxy will manage to forward the connection to the right process.

    Cheers!



  • Hi @endel , thanks for quick response.
    If I understand correctly, dynamic proxy is a load balancer for colyseus instances. I organize my servers like below:
    alt text

    Client 1 (C1) has joined room L1
    Client 2 (C2) has joined room L2

    I want the two clients to join the same Game Room, for example G1. So I wonder if redis presence can solve this problem ?
    Many thanks


  • administrator

    Hi @namnhq, absolutely, when using @colyseus/proxy you'll need to use both RedisPresence and MongooseDriver to allow the nodes to communicate with each other, and the proxy to forward the connection to the right process.



  • It works, many thanks @endel


 

GitHub Documentation Patreon donate button

© 2020 Endel Dreyer