Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Where can I find / place matchmaker plugin? #275

Closed
duong2179 opened this issue Sep 7, 2020 · 4 comments
Closed

Where can I find / place matchmaker plugin? #275

duong2179 opened this issue Sep 7, 2020 · 4 comments

Comments

@duong2179
Copy link

Hi, in the architecture shown here https://github.com/ketoo/NoahGameFrame/wiki/Chapter-1:-Evolution-of-NF, which component is in charge of match-making? Where should I implement & place the matchmaker?

@ketoo
Copy link
Owner

ketoo commented Sep 7, 2020

I have a plugin named NFMatchPlugin in my own game project and it will be loaded by WorldServer.

Workflow:

  1. The player(client-side) who wants to start a match will send a network message to find a match and the game server will route this message to the world server.

  2. The match module(or the match plugin in the world server) will process the "start a match" requirement and put it into the matching pool.

  3. The match module(or the match plugin in the world server) will make a team for players with the close battle points by time.

  4. The match module(or the match plugin in the world server) will find an opponent for teams by time.

  5. The match module(or the match plugin in the world server) will starts the match if we found an opponent for teams and picks one game server as the battle game server (if you have multiple game server). After that, the world server will send a net message to all game servers to notice players who involved this match to switch to the battle game server(if you have multiple game servers).

  6. The battle game server creates a group for this match and swaps all players into the group that you created before.

@duong2179
Copy link
Author

Thank you for your quick response!
Is there a way to integrate some open-sourced matchmakers like open-match into it?

@ketoo
Copy link
Owner

ketoo commented Sep 9, 2020

Sure thing, the only thing you need to do is to write a wrapper for the library which you want to integrate.

In terms of open-match, the duty of your wrapper is to "interpret" your match requirements between open-match and your game project.

@duong2179
Copy link
Author

Thank you very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants