Guest User

Untitled

a guest
Nov 6th, 2011
715
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.72 KB | None | 0 0
  1. package com.forairan.bukprobe;
  2.  
  3. import java.io.*;
  4. import java.net.InetSocketAddress;
  5. import java.net.Socket;
  6.  
  7. public class Bukprobe {
  8.     public static void main(String[] args) {
  9.         String ip;
  10.         int port;
  11.         String authKey;
  12.        
  13.         System.out.println("Bukprobe - utility to test Bukquery");
  14.         if (args.length < 3) {
  15.             System.out.println("Usage:    java Bukprobe <server ip> <server port> <auth key>");
  16.             return;
  17.         }
  18.         ip = args[0];
  19.         port = Integer.parseInt(args[1]);
  20.         authKey = args[2];
  21.        
  22.         Socket sock = new Socket();
  23.         try {
  24.             sock.connect(new InetSocketAddress(ip, port));
  25.         } catch (IOException ex) {
  26.             System.out.println("Failed to connect to " + ip + ":" + port + "!");
  27.             return;
  28.         }
  29.        
  30.         BufferedWriter bw;
  31.         BufferedReader br;
  32.        
  33.         try {
  34.             bw = new BufferedWriter(new OutputStreamWriter(sock.getOutputStream()));
  35.             br = new BufferedReader(new InputStreamReader(sock.getInputStream()));
  36.         } catch (Exception ex) {
  37.             System.out.println("Writer/reader creation failed!");
  38.             ex.printStackTrace();
  39.             return;
  40.         }
  41.        
  42.         try {
  43.             System.out.println("Bukquery header from remote server: " + br.readLine());
  44.             bw.write("rcon auth " + authKey + "\n");
  45.             bw.flush();
  46.  
  47.             if (!br.readLine().equals("rcon authResponse ok")) {
  48.                 throw new IllegalStateException("Invalid authkey!");
  49.             }
  50.            
  51.             String line = "";
  52.            
  53.             // CraftBukkit version
  54.             bw.write("version\n");
  55.             bw.flush();
  56.             line = br.readLine();
  57.            
  58.             System.out.println("CraftBukkit version: " + line.replace("VERSION ", ""));
  59.            
  60.             // Online players
  61.             bw.write("rcon who\n");
  62.             bw.flush();
  63.             line = br.readLine();
  64.            
  65.             System.out.println("Online players: " + line.replace("rcon who ", ""));
  66.            
  67.             // Player count
  68.             bw.write("rcon countPlayers\n");
  69.             bw.flush();
  70.             line = br.readLine();
  71.            
  72.             System.out.println("Player count: " + line.split(" ")[2] + " of " + line.split(" ")[3]);
  73.         } catch (Exception ex) {
  74.             System.out.print("Error retrieving information from server: ");
  75.             if (ex instanceof IllegalStateException) {
  76.                 System.out.println(ex.getMessage());
  77.             } else {
  78.                 System.out.println();
  79.                 ex.printStackTrace();
  80.             }
  81.         }
  82.     }
  83. }
  84.  
  85.  
Advertisement
Add Comment
Please, Sign In to add comment