|
|
|
@ -17,11 +17,11 @@ public class Repository
|
|
|
|
|
private String _password = "y2D4atu3Pene2asw";
|
|
|
|
|
|
|
|
|
|
private static String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS ServerStatus (id INT NOT NULL AUTO_INCREMENT, serverName VARCHAR(256), serverGroup VARCHAR(256), address VARCHAR(256), updated LONG, lastTimeWithPlayers LONG, motd VARCHAR(256), players INT, maxPlayers INT, tps INT, ram INT, maxRam INT, PRIMARY KEY (id));";
|
|
|
|
|
private static String RETRIEVE_OLD_SERVER_STATUSES = "SELECT ServerStatus.serverName, ServerStatus.address, motd, players, maxPlayers FROM ServerStatus INNER JOIN DynamicServers ON ServerStatus.address LIKE CONCAT(DynamicServers.privateAddress, '%') WHERE DynamicServers.US = false AND TIME_TO_SEC(TIMEDIFF(now(), ServerStatus.updated)) > 10;";
|
|
|
|
|
private static String RETRIEVE_OLD_SERVER_STATUSES = "SELECT ServerStatus.serverName, DynamicServers.address, ServerStatus.address, motd, players, maxPlayers FROM ServerStatus INNER JOIN DynamicServers ON ServerStatus.address LIKE CONCAT(DynamicServers.privateAddress, '%') WHERE DynamicServers.US = false AND TIME_TO_SEC(TIMEDIFF(now(), ServerStatus.updated)) > 10;";
|
|
|
|
|
|
|
|
|
|
private static String CREATE_DYNAMIC_TABLE = "CREATE TABLE IF NOT EXISTS DynamicServers (id INT NOT NULL AUTO_INCREMENT, serverName VARCHAR(256), address VARCHAR(256), privateAddress VARCHAR(256), US BOOLEAN NOT NULL DEFAULT 'true', PRIMARY KEY (id));";
|
|
|
|
|
private static String RETRIEVE_AVAILABLE_SERVERS = "SELECT DynamicServers.serverName, DynamicServers.address, DynamicServers.privateAddress, DynamicServers.US, DynamicServers.availableCpu, DynamicServers.availableRam, ServerStatus.serverGroup, COUNT(*) As serverCount FROM DynamicServers LEFT JOIN ServerStatus ON ServerStatus.address LIKE CONCAT(DynamicServers.privateAddress, '%') WHERE DynamicServers.US = false GROUP BY DynamicServers.address, ServerStatus.serverGroup;";
|
|
|
|
|
private static String RETRIEVE_SERVERGROUP_STATUSES = "SELECT ServerStatus.serverName, serverGroup, motd, ServerStatus.address, players, maxPlayers, case when TIME_TO_SEC(TIMEDIFF(now(), ServerStatus.lastTimeWithPlayers)) > 300 then 1 else 0 end as empty FROM ServerStatus INNER JOIN DynamicServers ON ServerStatus.address LIKE CONCAT(DynamicServers.privateAddress, '%') WHERE DynamicServers.US = false AND TIME_TO_SEC(TIMEDIFF(now(), ServerStatus.updated)) <= 10";
|
|
|
|
|
private static String RETRIEVE_SERVERGROUP_STATUSES = "SELECT ServerStatus.serverName, serverGroup, motd, DynamicServers.address, ServerStatus.address, players, maxPlayers, case when TIME_TO_SEC(TIMEDIFF(now(), ServerStatus.lastTimeWithPlayers)) > 300 then 1 else 0 end as empty FROM ServerStatus INNER JOIN DynamicServers ON ServerStatus.address LIKE CONCAT(DynamicServers.privateAddress, '%') WHERE DynamicServers.US = false AND TIME_TO_SEC(TIMEDIFF(now(), ServerStatus.updated)) <= 10";
|
|
|
|
|
private static String RETRIEVE_SERVER_GROUP_DATA = "SELECT groupName, prefix, scriptName, requiredRam, cpuRequired, requiredTotal, requiredJoinable FROM ServerGroups;";
|
|
|
|
|
private static String DELETE_SERVER_STATUS = "DELETE FROM ServerStatus WHERE address = ? AND serverName = ?;";
|
|
|
|
|
|
|
|
|
@ -111,12 +111,13 @@ public class Repository
|
|
|
|
|
|
|
|
|
|
serverStatusData.Name = resultSet.getString(1);
|
|
|
|
|
|
|
|
|
|
String addressPortString = resultSet.getString(2);
|
|
|
|
|
serverStatusData.Address = addressPortString.split(":")[0];
|
|
|
|
|
serverStatusData.Address = resultSet.getString(2);
|
|
|
|
|
String addressPortString = resultSet.getString(3);
|
|
|
|
|
serverStatusData.PrivateAddress = addressPortString.split(":")[0];
|
|
|
|
|
serverStatusData.Port = Integer.parseInt(addressPortString.split(":")[1]);
|
|
|
|
|
serverStatusData.Motd = resultSet.getString(3);
|
|
|
|
|
serverStatusData.Players = resultSet.getInt(4);
|
|
|
|
|
serverStatusData.MaxPlayers = resultSet.getInt(5);
|
|
|
|
|
serverStatusData.Motd = resultSet.getString(4);
|
|
|
|
|
serverStatusData.Players = resultSet.getInt(5);
|
|
|
|
|
serverStatusData.MaxPlayers = resultSet.getInt(6);
|
|
|
|
|
|
|
|
|
|
serverData.add(serverStatusData);
|
|
|
|
|
}
|
|
|
|
@ -176,12 +177,13 @@ public class Repository
|
|
|
|
|
serverStatusData.Name = resultSet.getString(1);
|
|
|
|
|
String serverGroup = resultSet.getString(2);
|
|
|
|
|
serverStatusData.Motd = resultSet.getString(3);
|
|
|
|
|
String addressPortString = resultSet.getString(4);
|
|
|
|
|
serverStatusData.Address = addressPortString.split(":")[0];
|
|
|
|
|
serverStatusData.Address = resultSet.getString(4);
|
|
|
|
|
String addressPortString = resultSet.getString(5);
|
|
|
|
|
serverStatusData.PrivateAddress = addressPortString.split(":")[0];
|
|
|
|
|
serverStatusData.Port = Integer.parseInt(addressPortString.split(":")[1]);
|
|
|
|
|
serverStatusData.Players = resultSet.getInt(5);
|
|
|
|
|
serverStatusData.MaxPlayers = resultSet.getInt(6);
|
|
|
|
|
serverStatusData.Empty = resultSet.getBoolean(7);
|
|
|
|
|
serverStatusData.Players = resultSet.getInt(6);
|
|
|
|
|
serverStatusData.MaxPlayers = resultSet.getInt(7);
|
|
|
|
|
serverStatusData.Empty = resultSet.getBoolean(8);
|
|
|
|
|
|
|
|
|
|
if (!groupData.containsKey(serverGroup))
|
|
|
|
|
{
|
|
|
|
@ -390,7 +392,7 @@ public class Repository
|
|
|
|
|
connection = DriverManager.getConnection(_connectionString, _userName, _password);
|
|
|
|
|
|
|
|
|
|
preparedStatement = connection.prepareStatement(DELETE_SERVER_STATUS);
|
|
|
|
|
preparedStatement.setString(1, serverToKill.Address + ":" + serverToKill.Port);
|
|
|
|
|
preparedStatement.setString(1, serverToKill.PrivateAddress + ":" + serverToKill.Port);
|
|
|
|
|
preparedStatement.setString(2, serverToKill.Name);
|
|
|
|
|
preparedStatement.execute();
|
|
|
|
|
}
|
|
|
|
|