Stormancer.Server.Plugins.Steam
4.2.0.3-pre
See the version list below for details.
dotnet add package Stormancer.Server.Plugins.Steam --version 4.2.0.3-pre
NuGet\Install-Package Stormancer.Server.Plugins.Steam -Version 4.2.0.3-pre
<PackageReference Include="Stormancer.Server.Plugins.Steam" Version="4.2.0.3-pre" />
paket add Stormancer.Server.Plugins.Steam --version 4.2.0.3-pre
#r "nuget: Stormancer.Server.Plugins.Steam, 4.2.0.3-pre"
// Install Stormancer.Server.Plugins.Steam as a Cake Addin #addin nuget:?package=Stormancer.Server.Plugins.Steam&version=4.2.0.3-pre&prerelease // Install Stormancer.Server.Plugins.Steam as a Cake Tool #tool nuget:?package=Stormancer.Server.Plugins.Steam&version=4.2.0.3-pre&prerelease
Steam
Server Application
Secrets
Get base URI from script arguments
# Get BaseUri
if ($args.count -lt 1)
{
echo "Missing Uri argument"
return 1
}
$baseUri = $args[0]
Steam Api Key
Format : 32 hexadecimal characters.
Invoke-RestMethod -Method Put -Uri "$baseUri/_secrets/[GameOrPublisherAccount]/secrets/steam_apiKey" -ContentType "text/plain" -InFile "$PSScriptRoot\Secrets\steam_apiKey.txt"
[GameOrPublisherAccount]
should be replaced by the Game or Publisher Stormancer account.
Steam Lobby metadata bearer token key
Use it when you want to enable joining Stormancer parties from Steam lobby invitations.
Format : 32 bytes (binary)
$steamBearerTokenPath = "$PSScriptRoot\Secrets\steam_lobbyMetadataBearerTokenKey"
if (-not(Test-path "$steamBearerTokenPath" -PathType leaf))
{
dotnet tool run stormancer manage secrets generate --output "$steamBearerTokenPath" --size 32
}
Invoke-RestMethod -Method Put -Uri "$baseUri/_secrets/[GameOrPublisherAccount]/secrets/steam_lobbyMetadataBearerTokenKey" -ContentType "application/octet-stream" -InFile "$steamBearerTokenPath"
[GameOrPublisherAccount]
should be replaced by the Game or Publisher Stormancer account.
<span style="color:red">BE CAREFUL, The key will be created randomly and overwritten by the script if it doesn't exist, so don't forget to backup it on first setup!</span>
Party configuration
Setup the party using a party creation event handler :
public class PartyEventHandler : IPartyEventHandler
{
public Task OnCreatingParty(PartyCreationContext ctx)
{
ctx.PartyRequest.ServerSettings
.ShouldCreatePlatformLobby(true)
.MaxMembers(2)
.SteamLobbyType(LobbyType.FriendsOnly);
return Task.CompletedTask;
}
}
C++ client
Plugin configuration
By default steam.hpp includes steam_api.h
. This behavior can be disabled by setting STORM_NOINCLUDE_STEAM
.
Configuration keys:
/// <summary>
/// Keys to use in Configuration::additionalParameters map to customize the Steam plugin behavior.
/// </summary>
namespace ConfigurationKeys
{
/// <summary>
/// Enable Steam authentication.
/// If disabled, the Steam plugin will not be considered for authentication.
/// Default is "true".
/// Use "false" to disable.
/// </summary>
constexpr const char* AuthenticationEnabled = "steam.authentication.enabled";
/// <summary>
/// The lobbyID the client should connect on authentication.
/// Automatic connection to a Steam lobby on successful authentication should occur when the game has been launched by a lobby invitation.
/// You can get the LobbyID by searching the "+connect_lobby" parameter in the command line arguments (argv).
/// </summary>
constexpr const char* ConnectLobby = "steam.connectLobby";
/// <summary>
/// Should Stormancer initialize the Steam API library.
/// Default is "true".
/// Use "false" to disable.
/// </summary>
constexpr const char* SteamApiInitialize = "steam.steamApi.initialize";
/// <summary>
/// Should Stormancer run Steam Api callbacks.
/// Default is "true".
/// Use "false" to disable.
/// </summary>
constexpr const char* SteamApiRunCallbacks = "steam.steamApi.runCallbacks";
}
Enable steam invitations on game launch
int main(int argc, char* argv[])
{
auto config = Stormancer::Configuration::create(STORM_ENDPOINT, STORM_ACCOUNT, STORM_APPLICATION);
for (int argi = 0; argi < argc; argi++)
{
config->processLaunchArguments.push_back(argv[argi]);
}
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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. |
-
net6.0
- MsgPack.Cli (>= 1.0.1)
- Stormancer.Server.Plugins.Api (>= 3.0.0.2-pre)
- Stormancer.Server.Plugins.Friends (>= 5.0.1.1-pre)
- Stormancer.Server.Plugins.Party (>= 5.1.0.25-pre)
- Stormancer.Server.Plugins.Profile (>= 4.1.0-pre)
- Stormancer.Server.Plugins.Users (>= 8.1.0-pre)
- Stormancer.Server.Plugins.Utilities (>= 3.2.0.1-pre)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
4.2.1.42-pre | 74 | 10/30/2024 |
4.2.1.41-pre | 97 | 10/20/2024 |
4.2.1.39-pre | 73 | 10/15/2024 |
4.2.1.38-pre | 77 | 10/3/2024 |
4.2.1.37-pre | 72 | 9/30/2024 |
4.2.1.36-pre | 79 | 9/30/2024 |
4.2.1.35-pre | 68 | 9/30/2024 |
4.2.1.34-pre | 74 | 9/26/2024 |
4.2.1.33-pre | 92 | 9/26/2024 |
4.2.1.32-pre | 75 | 9/26/2024 |
4.2.1.31-pre | 98 | 9/9/2024 |
4.2.1.30-pre | 90 | 8/29/2024 |
4.2.1.29-pre | 72 | 7/26/2024 |
4.2.1.28-pre | 82 | 7/24/2024 |
4.2.1.16-pre | 96 | 7/9/2024 |
4.2.1.15-pre | 66 | 7/3/2024 |
4.2.1.14-pre | 85 | 6/10/2024 |
4.2.1.7-pre | 77 | 5/30/2024 |
4.2.1.6-pre | 100 | 5/28/2024 |
4.2.1.5-pre | 109 | 5/6/2024 |
4.2.1.4-pre | 122 | 4/11/2024 |
4.2.1.3-pre | 109 | 4/9/2024 |
4.2.1.2-pre | 107 | 4/8/2024 |
4.2.1.1-pre | 105 | 4/8/2024 |
4.2.1-pre | 92 | 3/13/2024 |
4.2.0.17-pre | 89 | 3/11/2024 |
4.2.0.16-pre | 117 | 2/22/2024 |
4.2.0.15-pre | 193 | 11/15/2023 |
4.2.0.14-pre | 98 | 11/12/2023 |
4.2.0.13-pre | 141 | 10/24/2023 |
4.2.0.12-pre | 128 | 10/20/2023 |
4.2.0.11-pre | 128 | 9/29/2023 |
4.2.0.10-pre | 125 | 9/6/2023 |
4.2.0.9-pre | 116 | 8/30/2023 |
4.2.0.8-pre | 123 | 8/30/2023 |
4.2.0.7-pre | 118 | 8/21/2023 |
4.2.0.6-pre | 175 | 8/2/2023 |
4.2.0.5-pre | 145 | 7/31/2023 |
4.2.0.4-pre | 129 | 7/28/2023 |
4.2.0.3-pre | 151 | 6/27/2023 |
4.2.0.2-pre | 129 | 6/26/2023 |
4.2.0.1-pre | 134 | 6/26/2023 |
4.2.0-pre | 122 | 6/21/2023 |
4.1.5-pre | 147 | 6/15/2023 |
4.1.4.1-pre | 151 | 5/9/2023 |
4.1.4 | 254 | 5/9/2023 |
4.1.4-pre | 140 | 4/11/2023 |
4.1.3.2-pre | 155 | 4/5/2023 |
4.1.3.1-pre | 122 | 4/5/2023 |
4.1.3 | 215 | 4/4/2023 |
4.1.3-pre | 169 | 1/17/2023 |
4.1.2.11 | 161 | 7/31/2023 |
4.1.2.10 | 453 | 9/28/2022 |
4.1.2.10-pre | 155 | 9/12/2022 |
4.1.2.5-pre | 181 | 8/2/2022 |
4.1.2.4-pre | 205 | 7/1/2022 |
4.1.2.3-pre | 248 | 5/4/2022 |
4.1.2.2-pre | 168 | 5/4/2022 |
4.1.2.1-pre | 150 | 5/3/2022 |
4.1.2-pre | 196 | 4/14/2022 |
4.1.1.4-pre | 176 | 3/15/2022 |
4.1.1.3-pre | 168 | 2/28/2022 |
4.1.1.2 | 493 | 2/7/2022 |
4.1.1.1 | 474 | 2/1/2022 |
4.1.1.1-pre | 190 | 1/28/2022 |
4.1.1 | 525 | 1/21/2022 |
4.1.0.17 | 476 | 1/21/2022 |
4.1.0.16 | 466 | 1/19/2022 |
4.1.0.16-pre | 200 | 1/7/2022 |
4.1.0.15-pre | 189 | 1/7/2022 |
4.1.0.14-pre | 187 | 12/21/2021 |
4.1.0.13 | 312 | 12/15/2021 |
4.1.0.13-pre | 236 | 10/28/2021 |
4.1.0.12-pre | 257 | 10/21/2021 |
4.1.0.8-pre | 249 | 10/18/2021 |
4.1.0.7-pre | 253 | 10/18/2021 |
4.1.0.6 | 339 | 10/14/2021 |
4.1.0.6-pre | 283 | 10/8/2021 |
4.1.0.5-pre | 261 | 10/1/2021 |
4.1.0.4-pre | 238 | 9/17/2021 |
4.1.0.3-pre | 238 | 7/7/2021 |
4.1.0.2-pre | 247 | 7/6/2021 |
4.1.0.1-pre | 208 | 7/5/2021 |
4.0.5-pre | 290 | 6/30/2021 |
4.0.4.2-pre | 257 | 6/15/2021 |
4.0.4.1-pre | 286 | 6/11/2021 |
4.0.4 | 399 | 5/23/2021 |
4.0.4-pre | 240 | 5/3/2021 |
4.0.3 | 452 | 4/29/2021 |
4.0.2 | 387 | 3/1/2021 |
4.0.1.4-pre | 227 | 2/11/2021 |
4.0.1.3-pre | 198 | 2/11/2021 |
4.0.1.2-pre | 209 | 2/11/2021 |
4.0.1.1-pre | 278 | 2/10/2021 |
4.0.1-pre | 243 | 2/10/2021 |
4.0.0.1 | 495 | 12/4/2020 |
3.0.5.4 | 478 | 10/20/2020 |
3.0.5.4-pre | 397 | 9/8/2020 |
3.0.5.3-pre | 286 | 8/20/2020 |
3.0.5.2-pre | 302 | 8/20/2020 |
3.0.5.1-pre | 350 | 8/19/2020 |
3.0.5-pre | 367 | 8/13/2020 |
3.0.4-pre | 424 | 6/29/2020 |
3.0.3-pre | 329 | 6/5/2020 |
3.0.2.2 | 482 | 5/27/2020 |
3.0.2.2-pre | 350 | 5/11/2020 |
3.0.2.1-pre | 363 | 5/11/2020 |
3.0.2-pre | 321 | 4/22/2020 |
3.0.1-pre | 375 | 4/17/2020 |
3.0.0.2-pre | 371 | 4/7/2020 |
3.0.0.1-pre | 309 | 4/7/2020 |
3.0.0-pre | 353 | 4/2/2020 |
2.1.0.2-pre | 382 | 3/30/2020 |
2.1.0.1-pre | 363 | 3/29/2020 |
2.1.0-pre | 342 | 3/24/2020 |
2.0.0-pre | 351 | 3/12/2020 |
1.2.1-pre | 402 | 3/4/2020 |
1.2.0-pre | 430 | 3/4/2020 |
1.1.0 | 512 | 2/21/2020 |
1.1.0-pre | 361 | 2/22/2020 |
1.0.0 | 570 | 1/31/2020 |
Changed
*******
- Updated dependency to Users to support new abstraction lib.
Added
*****
- Added support for the new Steam Authentication tokens introduced with the Steamworks SDK 1.57