Merge branch 'master' of ssh://dev1.mineplex.com:7999/min/mineplex

This commit is contained in:
Chiss 2014-03-28 10:06:03 +11:00
commit 47feabcad3
3 changed files with 31 additions and 43 deletions

View File

@ -60,6 +60,8 @@ public class AntiHack extends MiniPlugin
public int FlightTriggerCancel = 2000;
public ArrayList<Detector> _detectors;
private AntiHackRepository _repository;
protected AntiHack(JavaPlugin plugin, Punish punish, Portal portal)
{
@ -68,8 +70,8 @@ public class AntiHack extends MiniPlugin
Punish = punish;
Portal = portal;
//_repository = new AntiHackRepository(this, plugin.getConfig().getString("serverstatus.name"));
//_repository.initialize();
_repository = new AntiHackRepository(plugin.getConfig().getString("serverstatus.name"));
_repository.initialize();
_detectors = new ArrayList<Detector>();
@ -187,23 +189,20 @@ public class AntiHack extends MiniPlugin
public void addSuspicion(Player player, String type)
{
//Add Offense
//synchronized (getOffensesSynch())
{
if (!_suspicion.containsKey(player))
_suspicion.put(player, new HashMap<String, ArrayList<Long>>());
if (!_suspicion.containsKey(player))
_suspicion.put(player, new HashMap<String, ArrayList<Long>>());
if (!_suspicion.get(player).containsKey(type))
_suspicion.get(player).put(type, new ArrayList<Long>());
if (!_suspicion.get(player).containsKey(type))
_suspicion.get(player).put(type, new ArrayList<Long>());
_suspicion.get(player).get(type).add(System.currentTimeMillis());
}
_suspicion.get(player).get(type).add(System.currentTimeMillis());
for (Player admin : UtilServer.getPlayers())
if (admin.isOp() && admin.getGameMode() == GameMode.CREATIVE)
UtilPlayer.message(admin, C.cGold + C.Bold + player.getName() + " suspected for " + type + ".");
//Print (Debug)
//System.out.println("[Offense] " + player.getName() + " received suspicion for " + type + ".");
// Print (Debug)
System.out.println("[Offense] " + player.getName() + " received suspicion for " + type + ".");
}
@EventHandler
@ -290,7 +289,7 @@ public class AntiHack extends MiniPlugin
if (severity.equals("Extreme"))
player.kickPlayer(C.cRed + "MAC" + C.cWhite + " - " + C.cYellow + "You were kicked for suspicious movement.");
//XXX Send to Database for Staff
_repository.saveOffense(player, report, severity);
}
private void ResetAll(Player player)
@ -331,4 +330,9 @@ public class AntiHack extends MiniPlugin
}
}
}
public HashMap<Player, HashMap<String, ArrayList<Long>>> getOffenses()
{
return _offense;
}
}

View File

@ -4,26 +4,23 @@ import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.Map.Entry;
import org.bukkit.entity.Player;
public class AntiHackRepository
{
private AntiHack _plugin;
private String _serverName;
private Connection _connection;
private String _connectionString = "jdbc:mysql://db.mineplex.com:3306/Mineplex";
private static Connection _connection;
private String _connectionString = "jdbc:mysql://sqlstats.mineplex.com:3306/Mineplex";
private String _userName = "root";
private String _password = "tAbechAk3wR7tuTh";
private static String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS AntiHack (id INT NOT NULL AUTO_INCREMENT, serverName VARCHAR(256) NOT NULL, hackType VARCHAR(256) NOT NULL, playerName VARCHAR(256) NOT NULL, hackCount INT, updated LONG, PRIMARY KEY (id), UNIQUE KEY serverName_hackType_playerName (serverName, hackType, playerName));";
private static String UPDATE_PLAYER_OFFENSES = "REPLACE INTO AntiHack (serverName, playerName, hackType, hackCount, updated) VALUES (?, ?, ?, ?, now());";
public AntiHackRepository(AntiHack plugin, String serverName)
public AntiHackRepository(String serverName)
{
_plugin = plugin;
_serverName = serverName;
}
@ -60,7 +57,7 @@ public class AntiHackRepository
}
}
public void saveOffenses()
public void saveOffense(final Player player, final String report, final String severity)
{
new Thread(new Runnable()
{
@ -70,30 +67,17 @@ public class AntiHackRepository
try
{
_connection = DriverManager.getConnection(_connectionString, _userName, _password);
if (_connection == null || _connection.isClosed())
_connection = DriverManager.getConnection(_connectionString, _userName, _password);
preparedStatement = _connection.prepareStatement(UPDATE_PLAYER_OFFENSES);
/* XXX
synchronized (_plugin.getOffensesSynch())
{
for (Player offender : _plugin.getOffenses().keySet())
{
for (Entry<String, Integer> hackEntry : _plugin.getOffenses().get(offender).entrySet())
{
preparedStatement.setString(1, _serverName);
preparedStatement.setString(2, offender.getName());
preparedStatement.setString(3, hackEntry.getKey());
preparedStatement.setInt(4, hackEntry.getValue());
preparedStatement.addBatch();
}
}
_plugin.getOffenses().clear();
}
*/
preparedStatement.executeBatch();
preparedStatement.setString(1, _serverName);
preparedStatement.setString(2, player.getName());
preparedStatement.setString(3, report);
preparedStatement.setString(4, severity);
preparedStatement.execute();
}
catch (Exception exception)
{

View File

@ -4,7 +4,7 @@ import java.util.Comparator;
public class LobbySorter implements Comparator<ServerInfo>
{
public int compare(ServerInfo a, ServerInfo b)
public int compare(ServerInfo a, ServerInfo b)
{
if (Integer.parseInt(a.Name.split("-")[1]) < Integer.parseInt(b.Name.split("-")[1]))
return -1;