[v2.1.0] MatchmakingService - ON HOLD

So I tested 2.0 with 10 people, it works.

3 Likes

Yeah thatā€™s what I meant, I want to be able to show the players how many ppl are in the queue you see.

I will consider using this. Is it easy for me to use TeleportData? My game relies on TeleportData to load maps.

Also, is it easy to get players? I would recommend making a website on GitHub for documentation since reading it on the DevForum is pretty hard to do.

1 Like

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

3 Likes

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.

3 Likes

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/

4 Likes

I pushed a patch to github with a fix.
Version 3.0.1-beta
Changes (breaking):

  • None

Changes (non-breaking):

  • None

Fixes:

I will update the roblox asset asap, but roblox studio is currently down, I will edit this message when the asset is updated.

I was finally able to update the roblox asset!

3 Likes

Some of you may be seeing something like this:
nz8ebg_106041

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.

4 Likes

Hey,

Iā€™m getting this error, any way to fix this? :smiley: :pray:

Screenshot_3

1 Like

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.

2 Likes

This looks very promising and am hoping to use this in the future. Thank you for this resource!

2 Likes

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.

3 Likes

Unfortunately, nothing happens when I or Wizzard join the game. Itā€™s just an empty baseplate and nobody gets teleported

2 Likes

Update: our scripter managed to fix it somehow. So thatā€™s good.

1 Like

Hey,

Yes we do. :slight_smile:

1 Like

It would be helpful if you showed me the errors your getting with their stack traces.

1 Like

New map system is in the works, along side rating type you will be able to supply map names:

MatchmakingService:SetMaps({
["MapName"]=placeId;
["MapName2"]=placeId;
})

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.

5 Likes

Hey thanks for responding

Iā€™m not getting any errors, it just not teleporting me

Did you set the correct player range? It waits for a certain amount of players to queue before teleporting.

1 Like

Hey,

yes, I set the player range to 1 - 6

Before the update, It workedā€¦ :slight_smile: