Example #1
0
        private void ZSteamSocket_Send(ZSteamSocket self, ZPackage pkg)
        {
            if (!(_isModEnabled.Value && _isOutputEnabled.Value))
            {
                return;
            }

            pkg.SetPos(0);
            int methodHash = pkg.ReadInt();

            if (methodHash == 0)
            {
                Logger.LogMessage($"Sending RPC Ping to {self.GetHostName()}");
            }
            else
            {
                try
                {
                    string method = pkg.ReadString();

                    if (method == "RoutedRPC")
                    {
                        ZPackage wrapped = pkg.ReadPackage();
                        _      = wrapped.ReadInt();
                        method = pkg.ReadString();
                    }

                    Logger.LogMessage($"Sending RPC {method} to {self.GetHostName()}");
                }
                catch (Exception) { }
            }
        }
Example #2
0
 // Token: 0x06000983 RID: 2435 RVA: 0x00045D30 File Offset: 0x00043F30
 private static void OnStatusChanged(SteamNetConnectionStatusChangedCallback_t data)
 {
     ZLog.Log("Got status changed msg " + data.m_info.m_eState);
     if (data.m_info.m_eState == ESteamNetworkingConnectionState.k_ESteamNetworkingConnectionState_Connected && data.m_eOldState == ESteamNetworkingConnectionState.k_ESteamNetworkingConnectionState_Connecting)
     {
         ZLog.Log("Connected");
         ZSteamSocket zsteamSocket = ZSteamSocket.FindSocket(data.m_hConn);
         if (zsteamSocket != null)
         {
             SteamNetConnectionInfo_t steamNetConnectionInfo_t;
             if (SteamNetworkingSockets.GetConnectionInfo(data.m_hConn, out steamNetConnectionInfo_t))
             {
                 zsteamSocket.m_peerID = steamNetConnectionInfo_t.m_identityRemote;
             }
             ZLog.Log("Got connection SteamID " + zsteamSocket.m_peerID.GetSteamID().ToString());
         }
     }
     if (data.m_info.m_eState == ESteamNetworkingConnectionState.k_ESteamNetworkingConnectionState_Connecting && data.m_eOldState == ESteamNetworkingConnectionState.k_ESteamNetworkingConnectionState_None)
     {
         ZLog.Log("New connection");
         ZSteamSocket listner = ZSteamSocket.GetListner();
         if (listner != null)
         {
             listner.OnNewConnection(data.m_hConn);
         }
     }
     if (data.m_info.m_eState == ESteamNetworkingConnectionState.k_ESteamNetworkingConnectionState_ProblemDetectedLocally)
     {
         ZLog.Log(string.Concat(new object[]
         {
             "Got problem ",
             data.m_info.m_eEndReason,
             ":",
             data.m_info.m_szEndDebug
         }));
         ZSteamSocket zsteamSocket2 = ZSteamSocket.FindSocket(data.m_hConn);
         if (zsteamSocket2 != null)
         {
             ZLog.Log("  Closing socket " + zsteamSocket2.GetHostName());
             zsteamSocket2.Close();
         }
     }
     if (data.m_info.m_eState == ESteamNetworkingConnectionState.k_ESteamNetworkingConnectionState_ClosedByPeer)
     {
         ZLog.Log("Socket closed by peer " + data);
         ZSteamSocket zsteamSocket3 = ZSteamSocket.FindSocket(data.m_hConn);
         if (zsteamSocket3 != null)
         {
             ZLog.Log("  Closing socket " + zsteamSocket3.GetHostName());
             zsteamSocket3.Close();
         }
     }
 }