Skip to main content

Make Session Joinable

Last updated on
  1. Using the session ID from Integrate a Managed Dedicated Server to the DSM section, you can use this function to retrieve a match’s session data.

    FString MatchId = FString("SomeMatchId");

    FRegistry::ServerMatchmaking.QuerySessionStatus(MatchId, THandler<FAccelByteModelsMatchmakingResult>::CreateLambda([](const FAccelByteModelsMatchmakingResult& Result)
    {
    // Do something if QuerySessionStatus has been successful
    }), FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
    {
    // Do something if QuerySessionStatus has an error
    UE_LOG(LogTemp, Log, TEXT("Error QuerySessionStatus, Error Code: %d Error Message: %s"), ErrorCode, *ErrorMessage);
    }));
  2. Then use the sessionStatus from the previous step in this function to make the session joinable.

    FRegistry::ServerMatchmaking.EnqueueJoinableSession(MatchmakingResult, FVoidHandler::CreateLambda([]()
    {
    // Do something if EnqueueJoinableSession has been successful
    }), FErrorHandler::CreateLambda([](int32 ErrorCode, const FString& ErrorMessage)
    {
    // Do something if EnqueueJoinableSession has an error
    UE_LOG(LogTemp, Log, TEXT("Error EnqueueJoinableSession, Error Code: %d Error Message: %s"), ErrorCode, *ErrorMessage);
    }));