-
Notifications
You must be signed in to change notification settings - Fork 61
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
RFC: Take matchmaking requests from RabbitMQ #675
Comments
Some thoughts:
|
|
The main reason we have the game to queue association right now is so that we can look up a player's last few matches in that queue and make sure they don't get the same map twice in a row. But I imagine there are lots of useful statistics you can extract about the matchmaker if you know how many games are being generated by the queues. For GW this same thing could probably be achieved just by looking at the featured mod, but maybe it would be nicer to just have everything use the same system instead of writing special cases for GW. The lobby server is able to prevent people from joining games while they're in queue and vice versa. However, that's because it knows when you join a queue and keeps track of that state internally. If the GW matchmaking is happening outside of the lobby server, then we might need to add some communication for when a player starts/stops searching. I'm not sure how that would even look. Like do you go to the GW tab and click "Join" somewhere? |
This is an open question for now. From a client perspective that makes most sense to avoid unintentional/forbidden user actions. I'll add the field. |
Your issue in the gw-backend repo mentions some more parameters:
I think the additional mods should be OK since I would want the |
Fine for me. Shared stuff goes into the lobby protocol, gw-specific stuff needs to be handled elsewhere. |
I read through some of the rabbitmq tutorials in the docs and it looks like AMQP already has support for a |
I think I'd prefer snake case keys for consistency. So far our other rabbitmq messages as well as other server messages all use snake case keys. The only weird thing is that our routing keys use camel case. |
And the API is all camel case. We won't reach consistency across FAF. :( But I'll never understand the desire to add additional useless characters anyway. |
I think we also want a |
This should be the missing piece in my envisioned galactic war architecture.
Similar to ladder or tmm I need a way to force players into an automatch (no lobby).
As this is not always successfull, I also need a feedback loop.
So we should implement a rabbitmq protocol such as:
routing key request.match.create:
routing key success.match.create:
routing key error.match.create:
The error codes need to be defined precisely as it might cause punishments if it fails because a player was already in a game or similar.
The text was updated successfully, but these errors were encountered: