/[projects]/miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/web/StatusListener.java
ViewVC logotype

Diff of /miscJava/bukkit-minecraft-plugins/HoerupUtils/src/dk/thoerup/bukkit/hoeruputils/web/StatusListener.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1665 by torben, Wed Dec 21 11:05:51 2011 UTC revision 1666 by torben, Wed Dec 21 16:42:43 2011 UTC
# Line 34  public class StatusListener extends ApiL Line 34  public class StatusListener extends ApiL
34                    
35          @Override          @Override
36          public void onApiEvent(ApiEvent event) {          public void onApiEvent(ApiEvent event) {
37                  if(event.path[0].equalsIgnoreCase("webstatus")) {                  if(!event.path[0].equalsIgnoreCase("webstatus")) {
38                          StringBuilder sb = new StringBuilder();                          return;
39                                            }
40                          //out.writeBytes("Server:  " + server.getServerName() + "\n");                  StringBuilder sb = new StringBuilder();
41                          sb.append("Version: " + server.getVersion() + "\n");  
42                    sb.append("<?xml version=\"1.0\"?> \n");
43                    sb.append("<serverinfo>");                      
44    
45                    sb.append("<version>" + server.getVersion() + "</version>\n");
46    
47                    long mb = 1024*1024;
48                    Runtime rt = Runtime.getRuntime();
49                    sb.append("<memory>\n");
50                    sb.append("<free>" + rt.freeMemory()/mb + "</free>\n");
51                    sb.append("<total>" + rt.totalMemory()/mb + "</total>\n");
52                    sb.append("<max>" + rt.maxMemory()/mb + "</max>\n");
53                    sb.append("</memory>\n");
54    
55    
56                    sb.append("<onlineplayers>\n");                
57                    for (Player p : server.getOnlinePlayers()) {
58                            sb.append("<player>\n");
59                            sb.append("<name>" + p.getName() + "</name>\n" );
60                            sb.append("</player>\n");
61                    }
62                    sb.append("</onlineplayers>");
63    
                         long mb = 1024*1024;  
                         Runtime rt = Runtime.getRuntime();  
                         sb.append("VM Memory, free: " +  rt.freeMemory()/mb + ", total:" + rt.totalMemory()/mb + ", max:" +  rt.maxMemory()/mb  + "\n\n");  
                           
                         sb.append("--- Online players ---\n");  
                         for (Player p : server.getOnlinePlayers()) {  
64    
65                                  sb.append( p.getName() + "\n" );                  sb.append("<offlineplayers>\n");
66                          }                  OfflinePlayer playerList[] = server.getOfflinePlayers();
67                          sb.append("\n");                  for (OfflinePlayer player : playerList) {
68                            long first = player.getFirstPlayed();
69                          sb.append("--- Last seen players/offline ---\n");                          long last = player.getLastPlayed();    
70  /*  
71                          File configFile = new File("./plugins/LastSeen/times.yml");                          sb.append("<offlineplayer>\n");
72                          if (configFile.exists() ) {                          sb.append("<name>" + player.getName() + "</name>\n" );
73                            sb.append("<firstseen>" + formatTime(first) + "</firstseen>\n");
74                                  YamlConfiguration config = new YamlConfiguration();                          sb.append("<lastseen>" + formatTime(last) + "</lastseen>\n");
75                                  try {                          sb.append("</offlineplayer>\n");
76                                          config.load(configFile);                  }
77                                  } catch (Exception e) {                  sb.append("</offlineplayers>\n");
                                         event.setResponse(e.toString() );  
                                         event.setActionTaken(true);  
                                         return;                          
                                 }  
   
                                 Set<String> keys = config.getKeys(false);  
                                 if (keys != null) {  
                                         for (String key : keys) {  
                                                 if (server.getPlayer(key) != null) // player is online  
                                                         continue;  
   
                                                 String last = config.getString( key + ".logout");        
                                                 sb.append("" + key + ": " + formatTime(last) + "\n") ;  
                                         }  
                                 } else {  
                                         sb.append("no players found\n");  
                                 }  
                         } else {  
                                 sb.append("could not find LastSeen/times.yml\n");  
                         }  
                         sb.append("\n");*/  
                         OfflinePlayer playerList[] = server.getOfflinePlayers();  
                         for (OfflinePlayer player : playerList) {  
                                 //long first = p.getFirstPlayed();  
   
                                 long last = player.getLastPlayed();      
                                 sb.append(player.getName() + ": " + formatTime(last) + "\n");  
                         }  
78    
79                                                    
80                          sb.append("--- Plugins ---\n");                  sb.append("<plugins>\n");
81                          for (Plugin plugin : server.getPluginManager().getPlugins()) {                  for (Plugin plugin : server.getPluginManager().getPlugins()) {
82                                  sb.append( plugin.getDescription().getName() + " " + plugin.getDescription().getVersion() + "\n");                          sb.append("<plugin>\n");        
83                          }                          sb.append("<name>" + plugin.getDescription().getName() + "</name>\n");
84                                                                                    sb.append("<version>" + plugin.getDescription().getVersion() + "</version>\n");
85                          event.setResponse(sb.toString());                          sb.append("</plugin>\n");      
                         event.setActionTaken(true);  
86                  }                  }
87                    sb.append("</plugins>\n");
88                                                            
89                    sb.append("</serverinfo>");                    
90                    event.setResponse(sb.toString());
91                    event.setActionTaken(true);
92                    
93          }          }
94    
95  }  }

Legend:
Removed from v.1665  
changed lines
  Added in v.1666

  ViewVC Help
Powered by ViewVC 1.1.20