Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedInputStream;
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.DataInputStream;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.FileNotFoundException;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.PrintStream;
- import java.io.PrintWriter;
- import java.net.InetAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- import java.text.DateFormat;
- import java.util.Calendar;
- public class RuinServer
- {
- private static final int portnumber = 33126;
- public RuinServer() {}
- private static void saveChanges(String logs, int ruins)
- {
- try
- {
- PrintWriter out = new PrintWriter("ruinlog.txt");
- out.println(ruins + ";" + logs);
- out.close();
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- }
- private static void saveIP(String ips)
- {
- try
- {
- PrintWriter out = new PrintWriter("IPlogs.txt");
- out.println(ips);
- out.close();
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- }
- public static String loadPreviousIPs()
- {
- File file = new File("IPlogs.txt");
- FileInputStream fis = null;
- BufferedInputStream bis = null;
- DataInputStream dis = null;
- String ips = "";
- try
- {
- fis = new FileInputStream(file);
- bis = new BufferedInputStream(fis);
- dis = new DataInputStream(bis);
- while (dis.available() != 0)
- {
- ips = dis.readLine();
- }
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- return ips;
- }
- public static String loadPreviousRuins()
- {
- File file = new File("ruinlog.txt");
- FileInputStream fis = null;
- BufferedInputStream bis = null;
- DataInputStream dis = null;
- String prevruins = "";
- try
- {
- fis = new FileInputStream(file);
- bis = new BufferedInputStream(fis);
- dis = new DataInputStream(bis);
- while (dis.available() != 0)
- {
- prevruins = dis.readLine();
- }
- }
- catch (FileNotFoundException e)
- {
- e.printStackTrace();
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- return prevruins;
- }
- public static void main(String[] args)
- {
- int clientid = 0;
- String ruinlogs = "";
- String vernum = "7.1";
- String ips = "";
- DateFormat dateFormat = new java.text.SimpleDateFormat("HH:mm:ss");
- ServerSocket serverSocket = null;
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Ruin server starting at port: " + 33126);
- ruinlogs = loadPreviousRuins();
- ips = loadPreviousIPs();
- int loop = 1;
- int saveloop = 1;
- int ruins = 0;
- String username = "";String password = "";
- String shareLink = "https://mega.nz/#!EZpT3Lra!SaywhN7Pwj2jyAQ47r4e8bOXEVOKwyu_FpvX2BT6JXI";
- RuinUsers serverusers = new RuinUsers();
- pastIPS pastips = new pastIPS();
- if (ruinlogs.contains(";"))
- {
- ruins = Integer.parseInt(ruinlogs.substring(0, ruinlogs.indexOf(";")));
- ruinlogs = ruinlogs.substring(ruinlogs.indexOf(";") + 1, ruinlogs.length());
- }
- try {
- serverSocket = new ServerSocket(33126);
- for (; 1 == saveloop;
- 1 == loop)
- {
- loop = 1;
- continue;
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Waiting for clients to connect.");
- Socket socket = serverSocket.accept();
- clientid++;
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Client #" + clientid + " has connected. <" + socket.getRemoteSocketAddress().toString() + ">");
- if (!pastips.isExist(socket.getInetAddress().toString())) { pastips.addIP(socket.getInetAddress().toString());
- }
- pastips.addConnection(socket.getInetAddress().toString());
- BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- Boolean loggedin = Boolean.valueOf(false);
- Boolean connection = Boolean.valueOf(true);
- int falseattempts = 0;
- while ((!loggedin.booleanValue()) && (connection.booleanValue()) && (falseattempts <= 5) && (pastips.isAllowed(socket.getInetAddress().toString())))
- {
- username = "";
- password = "";
- BufferedWriter bw1 = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
- String input = br.readLine();
- if (input != null)
- {
- username = input.substring(0, input.indexOf(";"));
- password = input.substring(input.indexOf(";") + 1, input.length());
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> " + username + " ; " + password);
- if ((username.length() < 20) || (password.length() < 20))
- {
- if (serverusers.userVrf(username, password))
- {
- bw1.write("true");
- loggedin = Boolean.valueOf(true);
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> User #" + clientid + " (" + username + ") had just logged in!");
- ips = ips + username + " - " + socket.getRemoteSocketAddress().toString() + " " + "\n";
- saveIP(ips);
- }
- else
- {
- bw1.write("false");
- pastips.addAttempt(socket.getInetAddress().toString());
- falseattempts++;
- }
- bw1.newLine();
- bw1.write(ruins);
- bw1.newLine();
- bw1.write("https://mega.nz/#!EZpT3Lra!SaywhN7Pwj2jyAQ47r4e8bOXEVOKwyu_FpvX2BT6JXI");
- bw1.newLine();
- bw1.write("7.1");
- bw1.newLine();
- bw1.write(serverusers.getMaxRuins(username) + ";" + serverusers.getCurrentRuins(username));
- bw1.newLine();
- bw1.write(ruinlogs);
- bw1.newLine();
- bw1.flush();
- }
- } else {
- connection = Boolean.valueOf(false);
- }
- }
- if ((!pastips.isAllowed(socket.getInetAddress().toString())) || (falseattempts > 5))
- {
- connection = Boolean.valueOf(false);
- socket.close();
- }
- if ((loggedin.booleanValue()) && (connection.booleanValue()))
- {
- int tempruins = serverusers.getCurrentRuins(username);
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Message from client #" + clientid + " (" + username + "):" + br.readLine());
- String data = br.readLine();
- while ((data != null) && (loop == 1) && (!socket.isClosed()))
- {
- if ((data.contains("ruin stop")) && (username.equals("eldaruin")))
- {
- saveloop = 2;
- loop = 2;
- }
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Message from client #" + clientid + " (" + username + "):" + data);
- if ((data.contains("#")) && (!data.equals("ruin stop")))
- {
- ruinlogs = data + " by - " + username + " - ^" + ruinlogs;
- ruins++;
- tempruins++;
- serverusers.addToRuinCount(username);
- } else {
- ruinlogs = data + "^" + ruinlogs;
- }
- saveChanges(ruinlogs, ruins);
- if ((!username.equals("eldaruin")) && (tempruins == serverusers.getMaxRuins(username))) loop = 2;
- data = br.readLine();
- }
- }
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Client #" + clientid + " (" + username + ") disconnected. <" + socket.getRemoteSocketAddress().toString() + ">");
- }
- }
- catch (IOException e)
- {
- e.printStackTrace();
- }
- saveChanges(ruinlogs, ruins);
- System.out.println("<" + dateFormat.format(Calendar.getInstance().getTime()) + "> Server Has stopped.");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement