示例#1
0
        public override bool HijackGetData(ref byte messageType, ref BinaryReader reader, int playerNumber)
        {
            if (Main.netMode == 2)
            {
                if (messageType == 1)
                {
                    if (Main.netMode != 2)
                    {
                        return(false);
                    }
                    if (Netplay.Clients[playerNumber].State != 0)
                    {
                        return(false);
                    }

                    RemoteAddress address = Netplay.Clients[playerNumber].Socket.GetRemoteAddress();


                    if (isLan && !address.IsLocalHost())
                    {
                        NetMessage.SendData(2, playerNumber, -1, NetworkText.FromLiteral("The server you are trying to join is a LAN world."));
                        return(true);
                    }
                }
            }
            return(base.HijackGetData(ref messageType, ref reader, playerNumber));
        }