package net.minecrell.serverlistplus.server;
import net.minecrell.serverlistplus.server.logger.ConsoleFormatter;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;
public final class Main {
private Main() {
}
public static int create(String[] args) {
final ConsoleFormatter formatter = new ConsoleFormatter();
for (Handler handler : Logger.getLogger("").getHandlers()) {
handler.setFormatter(formatter);
}
Logger logger = Logger.getLogger(ServerListPlusServer.class.getName());
try {
ServerListPlusServer server = new ServerListPlusServer(logger);
if (!server.start()) {
return -1;
}
readCommands(server);
return 0;
} catch (Exception e) {
logger.log(Level.SEVERE, "Unable to start server!", e);
return -1;
}
}
private static void readCommands(ServerListPlusServer server) throws Exception {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in))) {
String line;
while ((line = reader.readLine()) != null) {
line = line.trim();
if (!line.isEmpty()) {
if (server.processCommand(line)) {
return;
}
}
}
}
server.join();
}
public static void main(String[] args) {
System.exit(create(args));
}
}