Yes I added those PlayerAddedToQueue and PlayerRemovedFromQueue events for that so you don’t need to call GetQueueCounts. The events currently only work in one server instance, but I will add cross server communication for those events soon. This means currently it will only fire for players added to queue in the one server instance, which isn’t ideal
This service handles the entirety of matchmaking including queue, parties, skill-based match making, rating levels, teleporting players to the game server, etc. Right now “maps” aren’t officially supported, but if you queue a player up for a specific rating type, that rating type is passed in the teleport data (which you can use as maps). I will add support for maps in the future. I will also make better documentation, but this is only a beta version.
I pushed a release that includes a few breaking changes:
Changes (breaking):
[Change] MatchmakingService.PlayerAddedToQueue will now fire with a user id instead of a player. This is to support cross-server signaling.
[Change] MatchmakingService.PlayerRemovedFromQueue will now fire with a user id instead of a player. This is to support cross-server signaling.
Changes (non-breaking):
[Change] MatchmakingService.PlayerAddedToQueue will now fire with players from other server instances. This will fire in waves every 5 seconds from every server. It will still fire instantly for users in the same server they queue from.
[Change] MatchmakingService.PlayerRemovedFromQueue will now fire with players from other server instances. This will fire in waves every 5 seconds from every server. It will still fire instantly for users in the same server they queue from.
Fixes:
None
It should be noted that if you want accurate queue counts, when the server starts, you should still call GetQueueCounts() to initialize the values otherwise it’ll only get new changes and not include ones that already exist.
Versioning will slow down once full releases are started, but this project does follow semver which is major.minor.patch where major versions involve breaking changes that are not backwards compatible, minor versions include non-breaking changes that are backwards compatible, and patches fix bugs and have backwards compatiblity. You can read up on semver here: https://semver.org/
I’m looking into it, but I haven’t changed anything about how players are queued, so this might be an issue with MemoryStore itself.
Edit: So I changed nothing and waited 30 minutes and it began working again for me. Hopefully that doesn’t happen again and if it does MemoryStore may need to be rethought before being released to the public if it’s not stable.
Read my above comment. It seems memorystores might still be a little unstable, but the error does not provide a lot to go off of on why the request failed.
A small fix has been released that should fix players not being teleported, it has been working for me. Let me know if you still encounter these issues.
This will also come with the addition of allowing multiple place ids. Though you can still keep all your games in one place and give them all the same place id because the map is passed along in the teleport data so you will still be able to choose the map and clone it into the workspace based on that if you want.
But if you have any suggestions for this let me know! Rating will work cross map so you can have say a ranked rating type and an unranked rating type and they can use the different maps to play and they all affect the rating they queued for. Think CS:GO or Valorant, when you queue for unrated or rated gameplay you can still play any map without resetting your mmr.
This is not released yet. This will be a breaking update and will drastically change how the queue works.
Good to hear. Just curious though were you able to find the issue or did it just start working? If you found the issue it would be helpful if you explained it if other people have the same problem.