コード例 #1
0
        public override void OnServerDisconnect(NetworkConnection conn)
        {
            try
            {
                if (ConfigFile.ServerConfig.GetBool("disconnect_drop", true))
                {
                    conn.identity.GetComponent <PlayerStats>().HurtPlayer(new PlayerStats.HitInfo(-1, "DISCONNECT", DamageTypes.Wall, 0), conn.identity.gameObject);
                }
                base.OnServerDisconnect(conn);
                MirrorIgnoranceServer.ForceDisconnectClient(conn);

                conn.Disconnect();
                conn.Dispose();
            }
            catch (Exception e)
            {
                Base.Info(e.ToString() + "\n" + e.InnerException.ToString());
            }
        }
コード例 #2
0
        public static bool Prefix(MirrorIgnoranceServer __instance, NetworkConnection source, DissonanceNetworkMessage msg)
        {
            PacketReader newreader = new PacketReader(msg.Data);

            if (newreader.ReadPacketHeader(out var messageTypes) && (messageTypes == MessageTypes.ServerRelayReliable || messageTypes == MessageTypes.ServerRelayUnreliable))
            {
                if (!EventHandlers.connIdToUserIds.TryGetValue(source.connectionId, out var userid))
                {
                    return(true);
                }
                if (SanyaPlugin.Instance.Config.DisableChatBypassWhitelist && WhiteList.Users != null && WhiteList.IsOnWhitelist(userid))
                {
                    return(true);
                }
                if (SanyaPlugin.Instance.Config.DisableAllChat)
                {
                    return(false);
                }
            }
            return(true);
        }
コード例 #3
0
 public override void OnServerDisconnect(NetworkConnection conn)
 {
     base.OnServerDisconnect(conn);
     MirrorIgnoranceServer.ForceDisconnectClient(conn);
 }