Stormancer.Server.Plugins.PartyMerging 0.1.2.25-pre

This is a prerelease version of Stormancer.Server.Plugins.PartyMerging.
dotnet add package Stormancer.Server.Plugins.PartyMerging --version 0.1.2.25-pre
NuGet\Install-Package Stormancer.Server.Plugins.PartyMerging -Version 0.1.2.25-pre
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Stormancer.Server.Plugins.PartyMerging" Version="0.1.2.25-pre" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Stormancer.Server.Plugins.PartyMerging --version 0.1.2.25-pre
#r "nuget: Stormancer.Server.Plugins.PartyMerging, 0.1.2.25-pre"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Stormancer.Server.Plugins.PartyMerging as a Cake Addin
#addin nuget:?package=Stormancer.Server.Plugins.PartyMerging&version=0.1.2.25-pre&prerelease

// Install Stormancer.Server.Plugins.PartyMerging as a Cake Tool
#tool nuget:?package=Stormancer.Server.Plugins.PartyMerging&version=0.1.2.25-pre&prerelease

Sometimes, players want to find other players to fill up their parties. To this effect they can use party invitations and codes, or make their party searchable through the party search API.

This plugin offers another option. Using it, parties can declare themselves as searching for other members. When doing that, the party joins a matchmaking system which will try to match the party with other parties once every second until the party leaves matchmaking or it is filled.

The matchmaking system works by offering members of one or several of the parties currently in matchmaking to leave their party and join another one, therefore merging the player parties. It can also query for searchable parties and offer players to join these if they match, on any kind of similar logic.

Server

Creating a custom merging algorithm

Admin APIs

Get status

GET: /_app/{accountId}/{app}/_admin/_partyMerger/{partyMergerId}/status

This api provides real time information about the merging process, including customizable data generated by the Algorithm by implementing IPartyMergingAlgorithm.GetStatusAsync.

Client

Getting the current party merging status.

The current status of the party merging system is available in the public server data of the party.

auto party = tryGetParty();
if (party != nullptr)
{
    const auto& serverData = party->settings().publicServerData;
    auto it = serverData.find("stormancer.partyMerging.status");
    
    if(it != serverData.end())
    {
        std::string status = it->second; //InProgress, Completed, Cancelled or Error.
    }
}
else
{
   //Not in a party
}

Fields related to the party merging plugin in public server data are:

stormancer.partyMerging.status contains the status of the current or last merging operation. Possible values are:

  • InProgress
  • Completed
  • Error
  • Cancelled

stormancer.partyMerging.merger contains the id of the last merger used.

stormancer.partyMerging.lastError contains the message associated with the last error encountered while running a merger.

stormancer.partyMerging.merged exists if the merger has been successfully run on this party once.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on Stormancer.Server.Plugins.PartyMerging:

Package Downloads
Stormancer.Server.Plugins.SampleApp

The core features of the Stormancer sample application in a nuget package.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
0.1.2.25-pre 53 4/22/2024
0.1.2.24-pre 47 4/22/2024
0.1.2.22-pre 67 4/2/2024
0.1.2.20-pre 41 3/11/2024
0.1.2.18-pre 105 12/11/2023
0.1.2.17-pre 68 12/8/2023
0.1.2.16-pre 61 12/7/2023
0.1.2.15-pre 78 12/1/2023
0.1.2.13-pre 60 11/30/2023
0.1.2.12-pre 73 11/24/2023
0.1.2.4-pre 63 11/24/2023
0.1.2.3-pre 63 11/24/2023
0.1.2.2-pre 60 11/20/2023
0.1.2-pre 60 11/14/2023
0.1.1.3-pre 75 10/27/2023
0.1.1.2-pre 63 10/26/2023
0.1.1.1-pre 61 10/26/2023
0.1.1-pre 66 10/25/2023
0.1.0.15-pre 55 10/19/2023
0.1.0.14-pre 64 10/18/2023
0.1.0.13-pre 63 10/13/2023
0.1.0.12-pre 54 10/11/2023
0.1.0.11-pre 61 10/5/2023
0.1.0.3-pre 57 10/5/2023
0.1.0-pre 55 10/4/2023

Added
*****
- Created the plugin party merging, which enables to create server side logic to merge parties on request by party leaders.
- Added progressive party merging.
- The party data stormancer.partyMerging.merged is  set to true as soon as an user joins the party through the merging process.