EOSCore 1.8.4.5

OSS

  • Fixed an issue when running a server on a custom port

EOS SDK 1.10.2

Release Notes

Authentication

  • Bug Fix: Fixed EOS_Auth_CopyUserAuthToken so it does not return the previous expired auth token if auth refresh fails during a loss of connection, it will now return EOS_EResult::EOS_NotFound (as the user has been previously logged out).
  • Bug Fix: Fixed missing scopes permissions after auth token is refreshed. This fixes calls to EOS_Presence_SetPresence that were failing with EOS_NoPermission after the refresh.

C# SDK

  • Bug Fix: Fixed an issue with Auth.AuthInterface.LinkAccount where it would unexpectedly fail due to an invalid parameter.
  • Moved Connect.ExternalCredentialType enum to be under Auth.ExternalCredentialType.

Core

  • Debug info now stripped from Mac dynamic library (libEOSSDK-Mac-Shipping.dylib).

HTTP

  • Bug Fix: Fixed a bug where being offline for over an hour, and still calling EOS_Platform_Tick, can lead to SDK Configuration causing an infinite value exception which would crash the SDK.

Leaderboards

  • Bug Fix: Added LocalUserId parameter for querying Leaderboard definitions, ranks and user scores to adhere to a client policy which requires a valid logged in user.

Lobbies

  • Increased the max lobby count per user from 4 to 16

Samples

  • Bug Fix: Added EOS_Auth_AddNotifyLoginStatusChanged to register for login status changes and ensure a user is logged out in sample when SDK has logged a user out (e.g. due to failed auth).
  • Bug Fix: Fixed memory leak in Leaderboards sample when querying user scores.
  • Achievements definitions list is now shown when the user logs in and hidden after the user logs out.
  • Stats ingest button is disabled when there are no users logged in.

Configuring Steam

Open your Projects DefaultEngine.ini located in \ProjectDir\Config\DefaultEngine.ini, paste the code (or parts of it) shown below and customize to your needs.

MAKE SURE you don’t already have these settings in your Config file before copy-pasting.

[URL]
GameName=GameName
Port=7777

[OnlineSubsystemSteam]
bEnabled=True
SteamAppId=480
SteamDevAppId=480

[OnlineSubsystem]
DefaultPlatformService=Steam

SteamCore 1.4.3

SteamCoreWeb

  • Refactored and cleaned up unused code
  • Removed OnFailure callback from all Async functions
  • All async functions now only have 1 return callback instead of 2 (OnSuccess/OnFailure)
  • You will need to update all your Async functions to the new Callback execution pin
  • Updated the Example Project to match the new update

SteamCore

General

  • Updated the Example Project with an included Steam Parties Example

SteamParties

This API can be used to selectively advertise your multiplayer game session in a Steam chat room group. Tell Steam the number of player spots that are available for your party, and a join-game string, and it will show a beacon in the selected group and allow that many users to “follow” the beacon to your party. Adjust the number of open slots if other players join through alternate matchmaking methods.

For example, you can use ISteamParties in conjunction with a private lobby. Create a private lobby, and then use ISteamParties::CreateBeacon to create a party “beacon” for the number of players desired. The game connect string should indicate the ID of the private lobby.

The beacon will appear in Steam in the specified location (e.g. a Chat Room Group), and also via the in-game ISteamParties API as described below. Steam creates “reservation” slots for the number of desired players. Whenever a user follows the beacon, Steam will hold a reservation slot for them and launch the game using the given connect string.

The game session that created the beacon will be notified of this reservation, so the game can display the appropriate “User <username> is joining your party” or some other indicator. Once the user joins successfully, the game session should call ISteamParties::OnReservationCompleted to tell Steam that the user successfully joined (otherwise, Steam will eventually timeout their reservation and re-open the slot).

When all of the beacon slots are occupied – either by reservations for users still launching the game, or completed slots for users in the party – Steam will hide and disable the beacon.

To cancel the beacon – for instance when the party is full and the game begins – call ISteamParties::DestroyBeacon.

The client side of this operation – seeing and following beacons – can also be managed by your game. Using ISteamParties::GetNumActiveBeacons and ISteamParties::GetBeaconDetails, your game can get a list of beacons from other users that are currently active in locations relevant to the current user. If the user desires, call ISteamParties::JoinParty to “follow” one of those beacons.