Advertisement
Guest User

Untitled

a guest
Jun 28th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
MySQL 8.84 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.io.PrintWriter;
  4. import java.net.ServerSocket;
  5. import java.net.Socket;
  6. import java.io.*;
  7.  
  8. public class Webserver implements Runnable {
  9.     public int webServerPort = 8080;
  10.  
  11.     public void run() {
  12.         ServerSocket s;
  13.         try {
  14.             s = new ServerSocket(webServerPort);
  15.         } catch (java.io.IOException e) {
  16.             misc.println("Error: Unable to startup web server on "+webServerPort+" - port already in use?");
  17.             return;
  18.         }
  19.         misc.println("Starting Web Server at "+s.getInetAddress().getHostAddress()+":"+webServerPort);
  20.         while(true) {
  21.             try {
  22.                 Socket remote = s.accept();
  23.                 BufferedReader in = new BufferedReader(new InputStreamReader(remote.getInputStream()));
  24.                 PrintWriter out = new PrintWriter(remote.getOutputStream());
  25.                 String Location = "", Connection = "";
  26.                 String str = ".";
  27.                 while (!str.equals("")){
  28.                     str = in.readLine();
  29.                     //misc.println(str);
  30.                     if (str.indexOf("GET") > -1) {
  31.                         str = str.substring(4);
  32.                         int i = str.indexOf(" ");
  33.                         Location = str.substring(1, i);
  34.                     }
  35.                     if (str.contains("User-Agent: ")){
  36.                         Connection = str.replaceAll("User-Agent: ","");
  37.                     }
  38.                 }
  39.                 sendHeader(out);
  40.                 sendPage(Location, out);
  41.                 out.flush();
  42.                 remote.close();
  43.             } catch (Exception e) {
  44.                 misc.println("Error: " + e);
  45.             }
  46.         }
  47.     }
  48.     private void sendHeader(PrintWriter out) {
  49.         out.println("HTTP/1.0 200 OK");
  50.         out.println("Content-Type: text/html");
  51.         out.println("Server: Bot");
  52.         out.println("");
  53.     }
  54.     private void sendPage(String Location, PrintWriter out){
  55.         boolean Players = false;
  56.         out.println("<B>Players Currently Online:</B><br>");
  57.         for (int i = 0; i < PlayerHandler.maxPlayers; i++){
  58.             if (PlayerHandler.players[i] == null){
  59.                 continue;
  60.             }
  61.             out.println(PlayerHandler.players[i].playerName+"<br>");
  62.             Players = true;
  63.         }
  64.         if (!Players){
  65.             out.println("<i>NONE</i><br>");
  66.         }
  67.         if (Location.contains("?username=") && Location.contains("&password=")){
  68.             //misc.println("Location:"+Location);
  69.             String username = Location.substring(10,Location.indexOf("&"));
  70.             String pass = Location.replaceAll("username="+username+"&password=","");
  71.             pass = pass.substring(1,pass.length());
  72.             //misc.println("username:"+username+" pass:"+pass);
  73.             if (CharExists(username)){
  74.                 out.println("<br><br><b>ERROR! USERNAME TAKEN!</b><br>");
  75.             }else{
  76.                 CreateChar(username,pass);
  77.                 out.println("<br><br><b>Character Created!</b><br><br");
  78.             }
  79.         }else if (Location.contains("?userlookup=")){
  80.             String lookup =Location.substring(12, Location.length());
  81.             lookupChar(lookup, out);
  82.         }
  83.         out.println("<b>Register</b><form action='/' method=register>"+
  84.             "Username: <input type=text name=username maxlength=12>"+
  85.             "<br>Password: <input type=password name=password maxlength=20>"+
  86.             "<input type=submit value=Register><br>"+
  87.             "<b>Note: </b>It can take a while to create the character, please dont cancel it.<br>"+
  88.             "<b>Note: </b>Your username will be placed in lower-case letters by the server.<br>"+
  89.             "<b>Note: </b>Valid Characters are: A-Z a-z 0-9.<br></form>");
  90.         out.println("<b>User Lookup</b><form action='/' method=user>"+
  91.             "Username: <input type=text name=userlookup maxlength=12>"+
  92.             "<input type=submit value=Search><br>");
  93.         out.println("<br><br><br>This was created by Syntax Error (Crush) From Evolution United.");
  94.         out.println("<br><br><br>Evolution United pwnz..");
  95.     }
  96.     private boolean CharExists(String playerName) {
  97.         BufferedReader characterfile = null;
  98.         try {
  99.             characterfile = new BufferedReader(new FileReader("./characters/"+playerName+".txt"));
  100.         } catch(FileNotFoundException fileex1) {
  101.             return false;
  102.         }
  103.         return true;
  104.     }
  105.     private void lookupChar(String user, PrintWriter out){
  106.         int playerLevel[] = new int[25];
  107.         double playerXP[] = new double[25];
  108.         String line = "";
  109.         String token = "";
  110.         String token2 = "";
  111.         String[] token3 = new String[3];
  112.         boolean EndOfFile = false;
  113.         int ReadMode = 0;
  114.         BufferedReader characterfile = null;
  115.         boolean File = false;
  116.         try {
  117.             characterfile = new BufferedReader(new FileReader("./characters/"+user+".txt"));
  118.             File = true;
  119.         } catch(FileNotFoundException fileex1) {
  120.  
  121.         }
  122.         if (!File) {
  123.             out.println(user+" is not registered!");
  124.             return;
  125.         }
  126.         try {
  127.             line = characterfile.readLine();
  128.         } catch(IOException ioexception) {
  129.             out.println(user+" is not registered!");
  130.             return;
  131.         }
  132.         while(EndOfFile == false && line != null) {
  133.             line = line.trim();
  134.             int spot = line.indexOf("=");
  135.             if (spot > -1) {
  136.                 token = line.substring(0, spot);
  137.                 token = token.trim();
  138.                 token2 = line.substring(spot + 1);
  139.                 token2 = token2.trim();
  140.                 token3 = token2.split("\t");
  141.                 switch (ReadMode) {
  142.                     case 5:
  143.                         if (token.equals("character-skill")) {
  144.                             playerLevel[Integer.parseInt(token3[0])] = Integer.parseInt(token3[1]);
  145.                             playerXP[Integer.parseInt(token3[0])] = Double.parseDouble(token3[2]);
  146.                         }
  147.                         break;
  148.                 }
  149.             } else {
  150.                 if (line.equals("[ACCOUNT]")) {        ReadMode = 1;
  151.                 } else if (line.equals("[CHARACTER]")) {    ReadMode = 2;
  152.                 } else if (line.equals("[EQUIPMENT]")) {    ReadMode = 3;
  153.                 } else if (line.equals("[LOOK]")) {        ReadMode = 4;
  154.                 } else if (line.equals("[SKILLS]")) {        ReadMode = 5;
  155.                 } else if (line.equals("[ITEMS]")) {        ReadMode = 6;
  156.                 } else if (line.equals("[BANK]")) {        ReadMode = 7;
  157.                 } else if (line.equals("[FRIENDS]")) {        ReadMode = 8;
  158.                 } else if (line.equals("[IGNORES]")) {        ReadMode = 9;
  159.                 } else if (line.equals("[EOF]")) {        try { characterfile.close(); } catch(IOException ioexception) { }
  160.                 }
  161.             }
  162.             try {
  163.                 line = characterfile.readLine();
  164.             } catch(IOException ioexception1) { EndOfFile = true; }
  165.         }
  166.         try { characterfile.close(); } catch(IOException ioexception) { }
  167.         for (int i = 0; i < 20; i++){
  168.         out.println("<b>"+statName[i]+"</b> <b>Level</b>:    "+playerLevel[i]+"        <b>Experience</b>:        "+(int)playerXP[i]+"<br>");
  169.         }
  170.         out.println("<br><br>");
  171.     }
  172.     public String statName[] = {"Attack", "Defence", "Strength", "Hitpoints", "Ranged", "Prayer", "Magic", "Cooking",
  173.         "Woodcutting", "Fletching", "Fishing", "Firemaking", "Crafting", "Smithing", "Mining", "Herblore", "Agility",
  174.          "Thieving", "Slayer", "Farming", "Runecrafting"
  175.         };
  176.     private void CreateChar(String u, String p){
  177.         BufferedWriter characterfile = null;
  178.         try {
  179.             characterfile = new BufferedWriter(new FileWriter("./characters/"+u+".txt"));
  180.             characterfile.write("[ACCOUNT]");
  181.             characterfile.newLine();
  182.             characterfile.write("character-username = "+u);
  183.             characterfile.newLine();
  184.             characterfile.write("character-password = "+p);
  185.             characterfile.newLine();
  186.             characterfile.newLine();
  187.             characterfile.write("[CHARACTER]");
  188.             characterfile.newLine();
  189.             characterfile.write("character-height = 0");
  190.             characterfile.newLine();
  191.             characterfile.write("character-posx = 3222");
  192.             characterfile.newLine();
  193.             characterfile.write("character-posy = 3218");
  194.             characterfile.newLine();
  195.             characterfile.close();
  196.         } catch(IOException ioexception) {
  197.             misc.println(u+": error writing file.");
  198.         }
  199.         misc.println("User Created: "+u);
  200.     }
  201. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement