Stormancer.Server.Plugins.PartyMerging 0.1.2.77-pre

This is a prerelease version of Stormancer.Server.Plugins.PartyMerging.
dotnet add package Stormancer.Server.Plugins.PartyMerging --version 0.1.2.77-pre                
NuGet\Install-Package Stormancer.Server.Plugins.PartyMerging -Version 0.1.2.77-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.77-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.77-pre                
#r "nuget: Stormancer.Server.Plugins.PartyMerging, 0.1.2.77-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.77-pre&prerelease

// Install Stormancer.Server.Plugins.PartyMerging as a Cake Tool
#tool nuget:?package=Stormancer.Server.Plugins.PartyMerging&version=0.1.2.77-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.77-pre 61 9/26/2024
0.1.2.76-pre 45 9/26/2024
0.1.2.75-pre 52 9/26/2024
0.1.2.74-pre 46 9/26/2024
0.1.2.73-pre 71 8/9/2024
0.1.2.72-pre 49 7/29/2024
0.1.2.27-pre 62 7/9/2024
0.1.2.26-pre 57 5/28/2024
0.1.2.25-pre 70 4/22/2024
0.1.2.24-pre 63 4/22/2024
0.1.2.22-pre 91 4/2/2024
0.1.2.20-pre 51 3/11/2024
0.1.2.18-pre 123 12/11/2023
0.1.2.17-pre 86 12/8/2023
0.1.2.16-pre 71 12/7/2023
0.1.2.15-pre 94 12/1/2023
0.1.2.13-pre 72 11/30/2023
0.1.2.12-pre 85 11/24/2023
0.1.2.4-pre 81 11/24/2023
0.1.2.3-pre 80 11/24/2023
0.1.2.2-pre 71 11/20/2023
0.1.2-pre 80 11/14/2023
0.1.1.3-pre 88 10/27/2023
0.1.1.2-pre 83 10/26/2023
0.1.1.1-pre 80 10/26/2023
0.1.1-pre 84 10/25/2023
0.1.0.15-pre 74 10/19/2023
0.1.0.14-pre 83 10/18/2023
0.1.0.13-pre 77 10/13/2023
0.1.0.12-pre 68 10/11/2023
0.1.0.11-pre 75 10/5/2023
0.1.0.3-pre 71 10/5/2023
0.1.0-pre 67 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.
- Analytics for merging operations