public bool checkTrigger(int count, Client client) { if (count == countToTrigger) { PlayerData player = client.playerData; switch (actionName) { case "mute": player.isMuted = true; StarryboundServer.sendGlobalMessage("^#f75d5d;" + player.name + " has been muted automatically for spamming."); break; case "kick": client.kickClient(reason); break; case "ban": if (length != 0) { length = Utils.getTimestamp() + (length * 60); } Bans.addNewBan(player.name, player.uuid, player.ip, Utils.getTimestamp(), "[SYSTEM]", length, reason); client.banClient(reason); break; } return(true); } return(false); }
public void delayDisconnect(string reason, string message) { if (kickTargetTimestamp != 0) { return; } sendChatMessage("^#f75d5d;" + reason); flushChatQueue(); kickTargetTimestamp = Utils.getTimestamp() + 6; sendServerPacket(Packet.ClientDisconnect, new byte[1]); StarryboundServer.sendGlobalMessage("^#f75d5d;" + message); StarryboundServer.logInfo("[" + playerData.client + "] is being kicked for " + message); }
private void doDisconnect(string logMessage) { if (this.state == ClientState.Disposing) { return; } this.state = ClientState.Disposing; StarryboundServer.logInfo("[" + playerData.client + "] " + logMessage); try { if (this.playerData.name != null) { Client target = StarryboundServer.getClient(this.playerData.name); if (target != null) { Users.SaveUser(this.playerData); StarryboundServer.removeClient(this); if (this.kickTargetTimestamp == 0) { StarryboundServer.sendGlobalMessage(this.playerData.name + " has left the server."); } } } } catch (Exception e) { StarryboundServer.logException("Failed to remove client from clients: " + e.ToString()); } try { this.sendServerPacket(Packet.ClientDisconnect, new byte[1]); } catch (Exception) { } try { this.cSocket.Close(); this.sSocket.Close(); } catch (Exception) { } try { this.ClientForwarder.Abort(); this.ServerForwarder.Abort(); } catch (Exception) { } }