/[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 1614 by torben, Thu Oct 20 17:06:20 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.Set;
7    import java.util.Map;
8  import org.bukkit.Server;  import org.bukkit.Server;
9  import org.bukkit.entity.Player;  import org.bukkit.entity.Player;
10  import org.bukkit.plugin.Plugin;  import org.bukkit.plugin.Plugin;
11    
12    import org.bukkit.configuration.file.YamlConfiguration;
13    
14  import org.kokakiwi.apicraft.events.ApiEvent;  import org.kokakiwi.apicraft.events.ApiEvent;
15  import org.kokakiwi.apicraft.events.ApiListener;  import org.kokakiwi.apicraft.events.ApiListener;
16    
17  public class StatusListener extends ApiListener {  public class StatusListener extends ApiListener {
18    
19            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
20    
21          Server server;          Server server;
22          public StatusListener(Server server) {          public StatusListener(Server server) {
23                  this.server = server;                            this.server = server;          
24          }          }
25    
26            String formatTime(String input) {
27                    Date d = new Date( Long.parseLong(input) );
28                    return format.format(d );
29            }
30                    
31          @Override          @Override
32          public void onApiEvent(ApiEvent event) {          public void onApiEvent(ApiEvent event) {
# Line 19  public class StatusListener extends ApiL Line 34  public class StatusListener extends ApiL
34                          StringBuilder sb = new StringBuilder();                          StringBuilder sb = new StringBuilder();
35                                                    
36                          //out.writeBytes("Server:  " + server.getServerName() + "\n");                          //out.writeBytes("Server:  " + server.getServerName() + "\n");
37                          sb.append("Version: " + server.getVersion() + "\n\n");                          sb.append("Version: " + server.getVersion() + "\n");
38    
39                            long mb = 1024*1024;
40                            Runtime rt = Runtime.getRuntime();
41                            sb.append("VM Memory, free: " +  rt.freeMemory()/mb + ", total:" + rt.totalMemory()/mb + ", max:" +  rt.maxMemory()/mb  + "\n\n");
42                                                    
43                          sb.append("--- Online players ---\n");                          sb.append("--- Online players ---\n");
44                          for (Player p : server.getOnlinePlayers()) {                                                      for (Player p : server.getOnlinePlayers()) {                            
45                                  sb.append( p.getName() + "\n");                                  sb.append( p.getName() + "\n");
46                          }                          }
47                            sb.append("\n");
48    
49                            sb.append("--- Last seen players/offline ---\n");
50                            File configFile = new File("./plugins/LastSeen/times.yml");
51                            if (configFile.exists() ) {
52    
53                                    YamlConfiguration config = new YamlConfiguration();
54                                    try {
55                                            config.load(configFile);
56                                    } catch (Exception e) {
57                                            event.setResponse(e.toString() );
58                                            event.setActionTaken(true);
59                                            return;                        
60                                    }
61    
62                                    Set<String> keys = config.getKeys(false);
63                                    if (keys != null) {
64                                            for (String key : keys) {
65                                                    if (server.getPlayer(key) != null) // player is online
66                                                            continue;
67    
68                                                    String last = config.getString( key + ".logout");      
69                                                    sb.append("" + key + ": " + formatTime(last) + "\n") ;
70                                            }
71                                    } else {
72                                            sb.append("no players found\n");
73                                    }
74                            } else {
75                                    sb.append("could not find LastSeen/times.yml\n");
76                            }
77                            sb.append("\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()) {

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

  ViewVC Help
Powered by ViewVC 1.1.20