Still need help please...
|
Yea yea i added the boolean in my connection class and yet mute still isnt working..its sending a server message to the other player that he has been muted but he can still speak. Pissing me off..
here is are my 2 classes..
If you would like i'll throw in like a small donation or something if you fix...3bucks sound fair? idk.
[SPOIL]package server;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import server.model.players.Client;
/**
* Connection Check Class
*
* @author Ryan / Lmctruck30
*
*/
public class Connection {
public static ArrayList <String>bannedIps = new ArrayList<String> ();
public static ArrayList <String>bannedNames = new ArrayList<String> ();
public static ArrayList <String>mutedIps = new ArrayList<String> ();
public static ArrayList <String>mutedNames = new ArrayList<String> ();
public static ArrayList <String>starterRecieved1 = new ArrayList<String> ();
public static ArrayList <String>starterRecieved2 = new ArrayList<String> ();
public static ArrayList <String>loginLimitExceeded = new ArrayList<String> ();
/**
* Adds the banned usernames and ips from the text file to the ban list
**/
public static void initialize() {
banUsers();
banIps();
muteUsers();
muteIps();
appendStarters();
appendStarters2();
}
/**
* Adding Name To List
*/
public static void addIpToLoginList(String IP) {
loginLimitExceeded.add(IP);
}
/**
* Remove Ip From List
*/
public static void removeIpFromLoginList(String IP) {
loginLimitExceeded.remove(IP);
}
/**
* Clear Name List
*/
public static void clearLoginList() {
loginLimitExceeded.clear();
}
public static boolean checkLoginList(String IP) {
loginLimitExceeded.add(IP);
int num = 0;
for(String ips : loginLimitExceeded) {
if(IP.equals(ips)) {
num++;
}
}
if(num > 5) {
return true;
}
return false;
}
public static void unMuteUser(String name) {
mutedNames.remove(name);
deleteFromFile("./Data/bans/UsersMuted.txt", name);
}
public static void unIPMuteUser(String name) {
mutedIps.remove(name);
deleteFromFile("./Data/bans/IpsMuted.txt", name);
}
/**
* Adding Ban IP
**/
public static void addIpToBanList(String IP) {
bannedIps.add(IP);
}
public static void addIpToMuteList(String IP) {
mutedIps.add(IP);
addIpToMuteFile(IP);
}
/**
* Handles 2 starters per IP
**/
public static boolean hasRecieved1stStarter(String IP) {
if(starterRecieved1.contains(IP)) {
return true;
}
return false;
}
public static boolean hasRecieved2ndStarter(String IP) {
if(starterRecieved2.contains(IP)) {
return true;
}
return false;
}
public static void addIpToStarter1(String IP) {
starterRecieved1.add(IP);
addIpToStarterList1(IP);
}
public static void addIpToStarter2(String IP) {
starterRecieved2.add(IP);
addIpToStarterList2(IP);
}
/**
* Removing Ban IP
**/
public static void removeIpFromBanList(String IP) {
bannedIps.remove(IP);
}
/**
* Contains Ban IP
**/
public static boolean isIpBanned(String IP) {
if(bannedIps.contains(IP)) {
return true;
}
return false;
}
/**
* Adding banned username
**/
public static void addNameToBanList(String name) {
bannedNames.add(name.toLowerCase());
}
public static void addNameToMuteList(String name) {
mutedNames.add(name.toLowerCase());
addUserToFile(name);
}
/**
* Removing banned username
**/
public static void removeNameFromBanList(String name) {
bannedNames.remove(name.toLowerCase());
deleteFromFile("./Data/bans/UsersBanned.txt", name);
}
public static void removeNameFromMuteList(String name) {
bannedNames.remove(name.toLowerCase());
deleteFromFile("./Data/bans/UsersMuted.txt", name);
}
public static void deleteFromFile(String file, String name) {
try {
BufferedReader r = new BufferedReader(new FileReader(file));
ArrayList<String> contents = new ArrayList<String>();
while(true) {
String line = r.readLine();
if(line == null) {
break;
} else {
line = line.trim();
}
if(!line.equalsIgnoreCase(name)) {
contents.add(line);
}
}
r.close();
BufferedWriter w = new BufferedWriter(new FileWriter(file));
for(String line : contents) {
w.write(line, 0, line.length());
w.newLine();
}
w.flush();
w.close();
} catch (Exception e) {}
}
/**
* Contains banned username
**/
public static boolean isNamedBanned(String name) {
if(bannedNames.contains(name.toLowerCase())) {
return true;
}
return false;
}
/**
* Reads all usernames from text file then adds them all to the ban list
**/
public static void banUsers() {
try {
BufferedReader in = new BufferedReader(new FileReader("./Data/bans/UsersBanned.txt"));
String data = null;
try {
while ((data = in.readLine()) != null) {
addNameToBanList(data);
}
} finally {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void muteUsers() {
try {
BufferedReader in = new BufferedReader(new FileReader("./Data/bans/UsersMuted.txt"));
String data = null;
try {
while ((data = in.readLine()) != null) {
mutedNames.add(data);
}
} finally {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Reads all the Ips from text file then adds them all to ban list
**/
public static void banIps() {
try {
BufferedReader in = new BufferedReader(new FileReader("./Data/bans/IpsBanned.txt"));
String data = null;
try {
while ((data = in.readLine()) != null) {
addIpToBanList(data);
}
} finally {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void muteIps() {
try {
BufferedReader in = new BufferedReader(new FileReader("./Data/bans/IpsMuted.txt"));
String data = null;
try {
while ((data = in.readLine()) != null) {
mutedIps.add(data);
}
} finally {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void appendStarters() {
try {
BufferedReader in = new BufferedReader(new FileReader("./Data/starters/FirstStarterRecieved.txt"));
String data = null;
try {
while ((data = in.readLine()) != null) {
starterRecieved1.add(data);
}
} finally {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void appendStarters2() {
try {
BufferedReader in = new BufferedReader(new FileReader("./Data/starters/SecondStarterRecieved.txt"));
String data = null;
try {
while ((data = in.readLine()) != null) {
starterRecieved2.add(data);
}
} finally {
in.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Writes the username into the text file - when using the ::ban playername command
**/
public static void addNameToFile(String Name) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/bans/UsersBanned.txt", true));
try {
out.newLine();
out.write(Name);
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void addUserToFile(String Name) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/bans/UsersMuted.txt", true));
try {
out.newLine();
out.write(Name);
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* Writes the IP into the text file - use ::ipban username
**/
public static void addIpToFile(String Name) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/bans/IpsBanned.txt", true));
try {
out.newLine();
out.write(Name);
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void addIpToMuteFile(String Name) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/bans/IpsMuted.txt", true));
try {
out.newLine();
out.write(Name);
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static boolean isMuted(Client c) {
return mutedNames.contains(c.playerName) || mutedIps.contains(c.connectedFrom);
}
public static void addIpToStarterList1(String Name) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/starters/FirstStarterRecieved.txt", true));
try {
out.newLine();
out.write(Name);
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
public static void addIpToStarterList2(String Name) {
try {
BufferedWriter out = new BufferedWriter(new FileWriter("./Data/starters/SecondStarterRecieved.txt", true));
try {
out.newLine();
out.write(Name);
} finally {
out.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}[/SPOIL]
[SPOIL]package server.model.players.packets;
import server.model.players.Client;
import server.model.players.PacketType;
import server.Connection;
import server.util.Misc;
public class Chat implements PacketType {
@Override
public void processPacket(Client c, int packetType, int packetSize) {
if (Connection.isMuted(c)) {
c.sendMessage("You are muted and cannot talk.");
return;
}
c.setChatTextEffects(c.getInStream().readUnsignedB yteS());
c.setChatTextColor(c.getInStream().readUnsignedByt eS());
c.setChatTextSize((byte)(c.packetSize - 2));
c.inStream.readBytes_reverseA(c.getChatText(), c.getChatTextSize(), 0);
String[] stuffz = {".net" , ".com" , ".info" , ".org"}; //add more!
String term = Misc.textUnpack(c.getChatText(), c.packetSize - 2).toLowerCase();
if(c.said >= 5){
c.sendMessage("You have been muted!");
c.getPA().movePlayer(2463,4782,0);
}
for(int i = 0; i < stuffz.length; i++) {
if(term.contains(stuffz[i])) {
c.said++;
c.sendMessage("Please, do not use that term!");
return;
}
}
if (!Connection.isMuted(c))
c.setChatTextUpdateRequired(true);
}
}[/SPOIL]
Still need help please...
« Previous Thread | Next Thread » |
Thread Information |
Users Browsing this ThreadThere are currently 1 users browsing this thread. (0 members and 1 guests) |