private void Connect(string playerName, NetIncomingMessage incmsg) { World w = serverCore.GetWorld(); DataBase db = serverCore.GetDataBase(); if (!serverCore.isDedicated()) { db.Login(playerName, "test", false); } bool playerRefhresh = true; for (int i = 0; i < w.ships.Count; i++) { if (w.ships[i].shipName.Equals(playerName)) { NetOutgoingMessage outmsg = serverCore.CreateMessage(); outmsg.Write((byte)PacketType.Deny); ServerPacketSender.SendMessageTo(outmsg, incmsg.SenderConnection); System.Threading.Thread.Sleep(100); incmsg.SenderConnection.Disconnect("bye"); playerRefhresh = false; break; } } if (playerRefhresh == true) { //System.Threading.Thread.Sleep(100); int[] components = db.GetUserComponents(playerName);//{ 1, 1, 1, 1, 1, 1, 1 }; if (components != null && components[0] != 0 && components[1] != 0) { byte[] b = db.GetUserHangar(playerName); ShipType st = (ShipType)b[0]; Faction f = (Faction)b[1]; Vector2 pos = f == Faction.Human ? new Vector2(0, 1500) : f == Faction.Enemy ? new Vector2(-1500, -500) : new Vector2(1500, -500); ShipPlayer s = new ShipPlayer(pos, pos, f, st, components, w, 0, 0); s.shipName = playerName; GunSlot[] gs = db.GetUserGuns(playerName, s); s.AddGuns(gs); ServerPacketSender.SendAllShips(w, incmsg.SenderConnection); //timersToSendNpcs.Add(0); //netConnections.Add(incmsg.SenderConnection); ServerPacketSender.SendAllNpcs(w, incmsg.SenderConnection); w.ships.Add(s); ServerPacketSender.SendNewPlayer(s, false); ServerCore.LogAdd(playerName + " connected."); } else { ServerPacketSender.SendOpenGui(GuiType.SelectFaction, incmsg.SenderConnection); } } }