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

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

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

revision 1241 by torben, Wed Mar 23 17:38:26 2011 UTC revision 1589 by torben, Tue Aug 16 07:44:12 2011 UTC
# Line 1  Line 1 
1  package dk.thoerup.bukkit.hoeruputils.web;  package dk.thoerup.bukkit.hoeruputils.web;
2    
3    import java.io.File;
4    import java.text.SimpleDateFormat;
5    import java.util.Date;
6    import java.util.List;
7    import java.util.Map;
8  import org.bukkit.Server;  import org.bukkit.Server;
9    import org.bukkit.util.config.ConfigurationNode;
10  import org.bukkit.entity.Player;  import org.bukkit.entity.Player;
11  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
12    import org.bukkit.util.config.Configuration;
13  import org.kokakiwi.apicraft.events.ApiEvent;  import org.kokakiwi.apicraft.events.ApiEvent;
14  import org.kokakiwi.apicraft.events.ApiListener;  import org.kokakiwi.apicraft.events.ApiListener;
15    
16  public class StatusListener extends ApiListener {  public class StatusListener extends ApiListener {
17    
18            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
19    
20          Server server;          Server server;
21          public StatusListener(Server server) {          public StatusListener(Server server) {
22                  this.server = server;                            this.server = server;          
23          }          }
24    
25            String formatTime(String input) {
26                    Date d = new Date( Long.parseLong(input) );
27                    return format.format(d );
28            }
29                    
30          @Override          @Override
31          public void onApiEvent(ApiEvent event) {          public void onApiEvent(ApiEvent event) {
# Line 19  public class StatusListener extends ApiL Line 33  public class StatusListener extends ApiL
33                          StringBuilder sb = new StringBuilder();                          StringBuilder sb = new StringBuilder();
34                                                    
35                          //out.writeBytes("Server:  " + server.getServerName() + "\n");                          //out.writeBytes("Server:  " + server.getServerName() + "\n");
36                          sb.append("Version: " + server.getVersion() + "\n\n");                          sb.append("Version: " + server.getVersion() + "\n");
37    
38                            long mb = 1024*1024;
39                            Runtime rt = Runtime.getRuntime();
40                            sb.append("VM Memory, free: " +  rt.freeMemory()/mb + ", total:" + rt.totalMemory()/mb + ", max:" +  rt.maxMemory()/mb  + "\n\n");
41                                                    
42                          sb.append("--- Online players ---\n");                          sb.append("--- Online players ---\n");
43                          for (Player p : server.getOnlinePlayers()) {                                                      for (Player p : server.getOnlinePlayers()) {                            
44                                  sb.append( p.getName() + "\n");                                  sb.append( p.getName() + "\n");
45                          }                          }
46                            sb.append("\n");
47    
48                            sb.append("--- Last seen players/offline ---\n");
49                            File configFile = new File("./plugins/LastSeen/times.yml");
50                            if (configFile.exists() ) {
51                                    Configuration config = new Configuration(configFile);
52                                    config.load();
53    
54                                    List<String> keys = config.getKeys(null);
55                                    if (keys != null) {
56                                            for (String key : keys) {
57                                                    if (server.getPlayer(key) != null) // player is online
58                                                            continue;
59    
60                                                    String last = config.getString( key + ".logout");      
61                                                    sb.append("" + key + ": " + formatTime(last) + "\n") ;
62                                            }
63                                    } else {
64                                            sb.append("no players found\n");
65                                    }
66                            } else {
67                                    sb.append("could not find LastSeen/times.yml\n");
68                            }
69                            sb.append("\n");
70    
71                                                    
72                          sb.append("--- Plugins ---\n");                          sb.append("--- Plugins ---\n");
73                          for (Plugin plugin : server.getPluginManager().getPlugins()) {                          for (Plugin plugin : server.getPluginManager().getPlugins()) {

Legend:
Removed from v.1241  
changed lines
  Added in v.1589

  ViewVC Help
Powered by ViewVC 1.1.20