internal static void InstallEvents()
        {
            SteamInventory.InstallEvents();

            ValidateAuthTicketResponse_t.Install(x => OnValidateAuthTicketResponse?.Invoke(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse), true);
            SteamServersConnected_t.Install(x => OnSteamServersConnected?.Invoke(), true);
            SteamServerConnectFailure_t.Install(x => OnSteamServerConnectFailure?.Invoke(x.Result, x.StillRetrying), true);
            SteamServersDisconnected_t.Install(x => OnSteamServersDisconnected?.Invoke(x.Result), true);
        }
Example #2
0
 internal static void InstallEvents()
 {
     SteamServersConnected_t.Install(x => OnSteamServersConnected?.Invoke());
     SteamServerConnectFailure_t.Install(x => OnSteamServerConnectFailure?.Invoke());
     SteamServersDisconnected_t.Install(x => OnSteamServersDisconnected?.Invoke());
     ClientGameServerDeny_t.Install(x => OnClientGameServerDeny?.Invoke());
     LicensesUpdated_t.Install(x => OnLicensesUpdated?.Invoke());
     ValidateAuthTicketResponse_t.Install(x => OnValidateAuthTicketResponse?.Invoke(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse));
     MicroTxnAuthorizationResponse_t.Install(x => OnMicroTxnAuthorizationResponse?.Invoke(x.AppID, x.OrderID, x.Authorized != 0));
     GameWebCallback_t.Install(x => OnGameWebCallback?.Invoke(x.URL));
 }
        internal static bool CheckValid(ValidateAuthTicketResponse_t r)
        {
            ESteamRejection? reason = null;

            try
            {
                RocketPermissionsGroup g = R.Permissions.GetGroups(new Rocket.API.RocketPlayer(r.m_SteamID.ToString()),true).FirstOrDefault();
                if (g != null)
                {
                    SteamPending steamPending = Provider.pending.FirstOrDefault(x => x.playerID.steamID == r.m_SteamID);
                    if (steamPending != null)
                    {
                        string prefix = g.Prefix == null ? "" : g.Prefix;
                        string suffix = g.Suffix == null ? "" : g.Suffix;
                        if (prefix != "" && !steamPending.playerID.characterName.StartsWith(g.Prefix))
                        {
                            steamPending.playerID.characterName = prefix + steamPending.playerID.characterName;
                        }
                        if (suffix != "" && !steamPending.playerID.characterName.EndsWith(g.Suffix))
                        {
                            steamPending.playerID.characterName = steamPending.playerID.characterName + suffix;
                        }
                    }
                }

            }
            catch (Exception ex)
            {
                Core.Logging.Logger.Log("Failed adding prefix/suffix to player "+r.m_SteamID+": "+ex.ToString());
            }

            if (OnJoinRequested != null)
            {
                foreach (var handler in OnJoinRequested.GetInvocationList().Cast<JoinRequested>())
                {
                    try
                    {
                        handler(r.m_SteamID, ref reason);
                        if (reason != null)
                        {
                            Provider.reject(r.m_SteamID, reason.Value);
                            return false;
                        }
                    }
                    catch (Exception ex)
                    {
                        Core.Logging.Logger.LogException(ex);
                    }
                }
            }
            return true;
        }
 internal static void InstallEvents()
 {
     SteamInventory.InstallEvents();
     ValidateAuthTicketResponse_t.Install((ValidateAuthTicketResponse_t x) => {
         Action <SteamId, SteamId, AuthResponse> onValidateAuthTicketResponse = SteamServer.OnValidateAuthTicketResponse;
         if (onValidateAuthTicketResponse != null)
         {
             onValidateAuthTicketResponse(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse);
         }
         else
         {
         }
     }, true);
     SteamServersConnected_t.Install((SteamServersConnected_t x) => {
         Action onSteamServersConnected = SteamServer.OnSteamServersConnected;
         if (onSteamServersConnected != null)
         {
             onSteamServersConnected();
         }
         else
         {
         }
     }, true);
     SteamServerConnectFailure_t.Install((SteamServerConnectFailure_t x) => {
         Action <Result, bool> onSteamServerConnectFailure = SteamServer.OnSteamServerConnectFailure;
         if (onSteamServerConnectFailure != null)
         {
             onSteamServerConnectFailure(x.Result, x.StillRetrying);
         }
         else
         {
         }
     }, true);
     SteamServersDisconnected_t.Install((SteamServersDisconnected_t x) => {
         Action <Result> onSteamServersDisconnected = SteamServer.OnSteamServersDisconnected;
         if (onSteamServersDisconnected != null)
         {
             onSteamServersDisconnected(x.Result);
         }
         else
         {
         }
     }, true);
 }
 internal static bool CheckValid(ValidateAuthTicketResponse_t r)
 {
     ESteamRejection? reason = null;
     if (OnJoinRequested != null)
     {
         foreach (var handler in OnJoinRequested.GetInvocationList().Cast<JoinRequested>())
         {
             try
             {
                 handler(r.m_SteamID, ref reason);
                 if (reason != null)
                 {
                     Provider.Reject(r.m_SteamID, reason.Value);
                     return false;
                 }
             }
             catch (Exception ex)
             {
                 Logger.LogException(ex);
             }
         }
     }
     return true;
 }
	void OnValidateAuthTicketResponse(ValidateAuthTicketResponse_t pCallback) {
		Debug.Log("[" + ValidateAuthTicketResponse_t.k_iCallback + " - ValidateAuthTicketResponse] - " + pCallback.m_SteamID + " -- " + pCallback.m_eAuthSessionResponse + " -- " + pCallback.m_OwnerSteamID);
	}
Example #7
0
 internal static void InstallEvents()
 {
     ValidateAuthTicketResponse_t.Install(x => OnValidateAuthTicketResponse?.Invoke(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse), true);
     SteamServersConnected_t.Install(x => OnSteamServersConnected?.Invoke(), true);
     SteamServerConnectFailure_t.Install(x => OnSteamServerConnectFailure?.Invoke(), true);
 }
	//-----------------------------------------------------------------------------
	// Purpose: Tells us Steam3 (VAC and newer license checking) has accepted the user connection
	//-----------------------------------------------------------------------------
	void OnValidateAuthTicketResponse(ValidateAuthTicketResponse_t pResponse) {
		Debug.Log("OnValidateAuthTicketResponse Called steamID: " + pResponse.m_SteamID); // Riley

		if (pResponse.m_eAuthSessionResponse == EAuthSessionResponse.k_EAuthSessionResponseOK) {
			// This is the final approval, and means we should let the client play (find the pending auth by steamid)
			/* TODO Riley: 
			for (uint i = 0; i < MAX_PLAYERS_PER_SERVER; ++i) {
				if (!m_rgPendingClientData[i].m_bActive)
					continue;
				else if (m_rgPendingClientData[i].m_SteamIDUser == pResponse.m_SteamID) {
					Debug.Log("Auth completed for a client");
					OnAuthCompleted(true, i);
					return;
				}
			}
			*/
		}
		else {
			// Looks like we shouldn't let this user play, kick them
			/* TODO Riley: 
			for (uint i = 0; i < MAX_PLAYERS_PER_SERVER; ++i) {
				if (!m_rgPendingClientData[i].m_bActive)
					continue;
				else if (m_rgPendingClientData[i].m_SteamIDUser == pResponse.m_SteamID) {
					Debug.Log("Auth failed for a client");
					OnAuthCompleted(false, i);
					return;
				}
			}
			*/
		}
	}
Example #9
0
        /// <summary>
        /// From Spacewar:
        /// Tells us Steam3 (VAC and newer license checking) has accepted the user connection
        /// </summary>
        /// <param name="callback"></param>
        void OnValidateAuthTicketResponse(ValidateAuthTicketResponse_t callback)
        {
            EAuthSessionResponse response = callback.m_eAuthSessionResponse;
            if (response == EAuthSessionResponse.k_EAuthSessionResponseOK){
                _Players[callback.m_SteamID] = EPlayerStatus.InServer;
                if (PlayerAuthenticated != null)
                    PlayerAuthenticated(callback.m_SteamID);
            }else{
                // Auth ticket failed to validate, kick the player.
                SteamGameServer.EndAuthSession(callback.m_SteamID);

                SendFailedConnection(callback.m_SteamID, EGSConnectionError.AuthenticationError);
                _Players.Remove(callback.m_SteamID);
            }
        }
Example #10
0
        internal static void InstallEvents()
        {
            ValidateAuthTicketResponse_t.Install(x => OnValidateAuthTicketResponse?.Invoke(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse), true);

            SteamServerInventory.InstallEvents();
        }
 public static bool CheckValid(ValidateAuthTicketResponse_t r)
 {
     return UnturnedPermissions.CheckValid(r);
 }
 internal static void InstallEvents()
 {
     SteamServersConnected_t.Install((SteamServersConnected_t x) => {
         Action onSteamServersConnected = SteamUser.OnSteamServersConnected;
         if (onSteamServersConnected != null)
         {
             onSteamServersConnected();
         }
         else
         {
         }
     }, false);
     SteamServerConnectFailure_t.Install((SteamServerConnectFailure_t x) => {
         Action onSteamServerConnectFailure = SteamUser.OnSteamServerConnectFailure;
         if (onSteamServerConnectFailure != null)
         {
             onSteamServerConnectFailure();
         }
         else
         {
         }
     }, false);
     SteamServersDisconnected_t.Install((SteamServersDisconnected_t x) => {
         Action onSteamServersDisconnected = SteamUser.OnSteamServersDisconnected;
         if (onSteamServersDisconnected != null)
         {
             onSteamServersDisconnected();
         }
         else
         {
         }
     }, false);
     ClientGameServerDeny_t.Install((ClientGameServerDeny_t x) => {
         Action onClientGameServerDeny = SteamUser.OnClientGameServerDeny;
         if (onClientGameServerDeny != null)
         {
             onClientGameServerDeny();
         }
         else
         {
         }
     }, false);
     LicensesUpdated_t.Install((LicensesUpdated_t x) => {
         Action onLicensesUpdated = SteamUser.OnLicensesUpdated;
         if (onLicensesUpdated != null)
         {
             onLicensesUpdated();
         }
         else
         {
         }
     }, false);
     ValidateAuthTicketResponse_t.Install((ValidateAuthTicketResponse_t x) => {
         Action <SteamId, SteamId, AuthResponse> onValidateAuthTicketResponse = SteamUser.OnValidateAuthTicketResponse;
         if (onValidateAuthTicketResponse != null)
         {
             onValidateAuthTicketResponse(x.SteamID, x.OwnerSteamID, x.AuthSessionResponse);
         }
         else
         {
         }
     }, false);
     MicroTxnAuthorizationResponse_t.Install((MicroTxnAuthorizationResponse_t x) => {
         Action <AppId, ulong, bool> onMicroTxnAuthorizationResponse = SteamUser.OnMicroTxnAuthorizationResponse;
         if (onMicroTxnAuthorizationResponse != null)
         {
             onMicroTxnAuthorizationResponse(x.AppID, x.OrderID, x.Authorized != 0);
         }
         else
         {
         }
     }, false);
     GameWebCallback_t.Install((GameWebCallback_t x) => {
         Action <string> onGameWebCallback = SteamUser.OnGameWebCallback;
         if (onGameWebCallback != null)
         {
             onGameWebCallback(x.URL);
         }
         else
         {
         }
     }, false);
     GetAuthSessionTicketResponse_t.Install((GetAuthSessionTicketResponse_t x) => {
         Action <GetAuthSessionTicketResponse_t> onGetAuthSessionTicketResponse = SteamUser.OnGetAuthSessionTicketResponse;
         if (onGetAuthSessionTicketResponse != null)
         {
             onGetAuthSessionTicketResponse(x);
         }
         else
         {
         }
     }, false);
 }