public static void HandleMessage(NetIncomingMessage im, bool hostMessage = false) { ServerAuthenticate packet = new ServerAuthenticate(im); if (KSPMPlayer.isHost && hostMessage == true) { if (!KSPClient.clientExist(im.SenderConnection)) { if (KSPClient.nameExist(packet.name)) { KSPMPlayer.HostSendMessage(im.SenderConnection, new ServerUsernameTaken()); im.SenderConnection.Disconnect("Change your username"); } else { new KSPClient(im.SenderConnection, packet.name); KSPMPlayer.HostSendMessage(im.SenderConnection, new ServerConnectionSuccessful()); } } } else { KSPMultiplayer.print("Client SHOULD NEVER GET THIS PACKET TYPE WTF IS WRONG WITH YOU RUINING THE GAME LIKE THAT"); } }
public static void ClientHandleMessages() { if (netClient != null) { NetIncomingMessage incomingMessage; while ((incomingMessage = netClient.ReadMessage()) != null) { switch (incomingMessage.MessageType) { case NetIncomingMessageType.VerboseDebugMessage: case NetIncomingMessageType.DebugMessage: case NetIncomingMessageType.WarningMessage: case NetIncomingMessageType.ErrorMessage: Console.WriteLine(incomingMessage.ReadString()); break; case NetIncomingMessageType.StatusChanged: switch ((NetConnectionStatus)incomingMessage.ReadByte()) { case NetConnectionStatus.Connected: ServerAuthenticate sm = new ServerAuthenticate(); KSPMultiplayer.print("CONNECTION CONNECTED!"); sm.name = ConnectionWindow.username; sm.version = "1"; ClientSendMessage(sm); // I DONT EVEN REMEMBER WRITING THIS break; } break; case NetIncomingMessageType.Data: var gameMessageType = (PacketTypes)incomingMessage.ReadByte(); switch (gameMessageType) { case PacketTypes.ServerUsernameTaken: ServerUsernameTaken.HandleMessage(incomingMessage); break; case PacketTypes.ServerConnectionSuccessful: ServerConnectionSuccessful.HandleMessage(incomingMessage); break; case PacketTypes.ClientVesselRegister: ClientVesselRegister.HandleMessage(incomingMessage); break; } break; } netClient.Recycle(incomingMessage); } } }