jetrix-cvs Mailing List for Jetrix TetriNET Server (Page 3)
Brought to you by:
smanux
You can subscribe to this list here.
2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(47) |
Dec
(39) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2003 |
Jan
(11) |
Feb
(34) |
Mar
(52) |
Apr
(79) |
May
(14) |
Jun
(41) |
Jul
(19) |
Aug
(44) |
Sep
(36) |
Oct
(36) |
Nov
(6) |
Dec
(58) |
2004 |
Jan
(23) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(91) |
2005 |
Jan
(137) |
Feb
(10) |
Mar
(2) |
Apr
(41) |
May
(62) |
Jun
(9) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(10) |
Dec
|
2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(39) |
Sep
(18) |
Oct
|
Nov
(9) |
Dec
|
2009 |
Jan
|
Feb
(27) |
Mar
(4) |
Apr
|
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2010 |
Jan
(3) |
Feb
(14) |
Mar
(3) |
Apr
(10) |
May
(15) |
Jun
|
Jul
|
Aug
(9) |
Sep
(1) |
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
(4) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: <sm...@us...> - 2010-02-22 17:33:48
|
Revision: 825 http://jetrix.svn.sourceforge.net/jetrix/?rev=825&view=rev Author: smanux Date: 2010-02-22 17:33:40 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Nice URL for the server page Modified Paths: -------------- monitor/trunk/src/main/webapp/WEB-INF/web.xml monitor/trunk/src/main/webapp/index.jsp monitor/trunk/src/main/webapp/server.jsp Modified: monitor/trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/web.xml 2010-02-22 16:52:52 UTC (rev 824) +++ monitor/trunk/src/main/webapp/WEB-INF/web.xml 2010-02-22 17:33:40 UTC (rev 825) @@ -51,6 +51,16 @@ <url-pattern>/server.xml</url-pattern> </servlet-mapping> + <servlet> + <servlet-name>server</servlet-name> + <jsp-file>/server.jsp</jsp-file> + </servlet> + + <servlet-mapping> + <servlet-name>server</servlet-name> + <url-pattern>/server/*</url-pattern> + </servlet-mapping> + <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> Modified: monitor/trunk/src/main/webapp/index.jsp =================================================================== --- monitor/trunk/src/main/webapp/index.jsp 2010-02-22 16:52:52 UTC (rev 824) +++ monitor/trunk/src/main/webapp/index.jsp 2010-02-22 17:33:40 UTC (rev 825) @@ -78,7 +78,7 @@ } %> <tr> - <td><a href="server.jsp?id=<%= server.getId() %>"><%= server.getHostname() %></a></td> + <td><a href="server/<%= server.getHostname() %>"><%= server.getHostname() %></a></td> <td align="center"> <% if (server.getCountry() != null) { %> <% Modified: monitor/trunk/src/main/webapp/server.jsp =================================================================== --- monitor/trunk/src/main/webapp/server.jsp 2010-02-22 16:52:52 UTC (rev 824) +++ monitor/trunk/src/main/webapp/server.jsp 2010-02-22 17:33:40 UTC (rev 825) @@ -1,29 +1,44 @@ <%@ taglib uri="http://java.sun.com/jstl/fmt" prefix="fmt" %> +<%@ page import="java.net.URLEncoder" %> <%@ page import="java.util.Locale" %> -<%@ page import="org.springframework.web.context.ContextLoader" %> -<%@ page import="org.springframework.web.context.WebApplicationContext" %> <%@ page import="net.jetrix.agent.ChannelInfo" %> <%@ page import="net.jetrix.agent.PlayerInfo" %> <%@ page import="net.jetrix.monitor.ServerInfo" %> +<%@ page import="net.jetrix.monitor.StyleUtils" %> <%@ page import="net.jetrix.monitor.dao.ServerInfoDao" %> -<%@ page import="net.jetrix.monitor.StyleUtils" %> -<%@ page import="java.net.URLEncoder" %> <%@ page import="org.apache.commons.lang.StringEscapeUtils" %> +<%@ page import="org.apache.commons.lang.StringUtils" %> +<%@ page import="org.springframework.web.context.ContextLoader" %> +<%@ page import="org.springframework.web.context.WebApplicationContext" %> <% WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); ServerInfoDao dao = (ServerInfoDao) context.getBean("serverInfoDao"); - ServerInfo server = dao.getServer(Long.parseLong(request.getParameter("id"))); + // find the server from its id or hostname + ServerInfo server = null; + if (request.getParameter("id") != null) { + server = dao.getServer(Long.parseLong(request.getParameter("id"))); + } else if (request.getPathInfo() != null) { + String info = request.getPathInfo().substring(request.getPathInfo().lastIndexOf('/') + 1); + if (StringUtils.isNumeric(info) && !info.isEmpty()) { + server = dao.getServer(Long.parseLong(info)); + } else { + server = dao.getServer(info); + } + } - String countryName = "Unknown"; + if (server == null) { + response.sendError(HttpServletResponse.SC_BAD_REQUEST, "TetriNET server not found"); + return; + } + String localizedCountryName = "Unknown"; String countryFlag = "United Nations"; if (server.getCountry() != null) { Locale locale = new Locale("en", server.getCountry()); - countryName = locale.getDisplayCountry(Locale.ENGLISH); localizedCountryName = locale.getDisplayCountry(request.getLocale()); - countryFlag = countryName; + countryFlag = locale.getDisplayCountry(Locale.ENGLISH); } boolean viewable = server.isSpectate() && server.getSpectatorPassword() != null; @@ -36,10 +51,10 @@ <fmt:param><%= server.getHostname() %></fmt:param> </fmt:message> </title> - <link rel="stylesheet" type="text/css" href="stylesheets/style.css"> - <link rel="Shorcut Icon" href="favicon.ico"> - <link rel="alternate" type="text/xml" title="<%= StringEscapeUtils.escapeHtml(server.getHostname()) %> XML data sheet" href="server.xml?id=<%= server.getId() %>"> - <script type="text/javascript" src="scripts/sortable.js"></script> + <link rel="stylesheet" type="text/css" href="<%= request.getContextPath() %>/stylesheets/style.css"> + <link rel="Shorcut Icon" href="<%= request.getContextPath() %>/favicon.ico"> + <link rel="alternate" type="text/xml" title="<%= StringEscapeUtils.escapeHtml(server.getHostname()) %> XML data sheet" href="<%= request.getContextPath() %>/server.xml?id=<%= server.getId() %>"> + <script type="text/javascript" src="<%= request.getContextPath() %>/scripts/sortable.js"></script> </head> <body> @@ -51,7 +66,7 @@ <% if (server.getMaxPlayerCount() > 0) { %> <div style="float: right"> - <img src="images/graphs/server-<%= server.getId() %>.png" alt="<fmt:message key="word.activity-graph"/>"> + <img src="<%= request.getContextPath() %>/images/graphs/server-<%= server.getId() %>.png" alt="<fmt:message key="word.activity-graph"/>"> </div> <% } %> @@ -77,7 +92,7 @@ <td> <table border="0" cellpadding="0" cellspacing="0"> <tr> - <td><img src="images/flags/24/<%= countryFlag %>.png" alt="<%= localizedCountryName%>"></td> + <td><img src="<%= request.getContextPath() %>/images/flags/24/<%= countryFlag %>.png" alt="<%= localizedCountryName%>"></td> <td><%= localizedCountryName%></td> </tr> </table> @@ -174,7 +189,7 @@ <tbody> <% for (PlayerInfo player : server.getPlayers()) { %> <tr> - <td<%= player.getAuthenticationLevel() > 1 ? " style=\"font-weight: bold\"" : "" %>><a style="text-decoration: none; color: black" href="player.jsp?id=<%= player.getNick() %>"><%= StyleUtils.toHTML(player.getNick()) %></a></td> + <td<%= player.getAuthenticationLevel() > 1 ? " style=\"font-weight: bold\"" : "" %>><a style="text-decoration: none; color: black" href="<%= request.getContextPath() %>/player.jsp?id=<%= player.getNick() %>"><%= StyleUtils.toHTML(player.getNick()) %></a></td> <td><%= StyleUtils.toHTML(player.getTeam()) %></td> <td><%= player.getChannel() %></td> <td><%= player.getSlot() %></td> @@ -224,7 +239,7 @@ <% if (viewable) { %> <td align="center"> <% if (channel.getPlayernum() > 0) { %> - <a href="spec.jsp?id=<%= server.getId() %>&channel=<%= URLEncoder.encode(channel.getName()) %>">View</a> + <a href="<%= request.getContextPath() %>/spec.jsp?id=<%= server.getId() %>&channel=<%= URLEncoder.encode(channel.getName(), "iso-8859-1") %>">View</a> <% } %> </td> <% } %> @@ -238,7 +253,7 @@ <hr> <div align="right"> - <a href="server.xml?id=<%= server.getId() %>" class="datasheet"><fmt:message key="word.datasheet"/></a> + <a href="<%= request.getContextPath() %>/server.xml?id=<%= server.getId() %>" class="datasheet"><fmt:message key="word.datasheet"/></a> </div> </body> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 16:52:58
|
Revision: 824 http://jetrix.svn.sourceforge.net/jetrix/?rev=824&view=rev Author: smanux Date: 2010-02-22 16:52:52 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Added log messages when a new server is submitted Modified Paths: -------------- monitor/trunk/src/main/webapp/server-add.jsp Modified: monitor/trunk/src/main/webapp/server-add.jsp =================================================================== --- monitor/trunk/src/main/webapp/server-add.jsp 2010-02-22 16:17:29 UTC (rev 823) +++ monitor/trunk/src/main/webapp/server-add.jsp 2010-02-22 16:52:52 UTC (rev 824) @@ -8,9 +8,13 @@ <%@ page import="net.jetrix.monitor.dao.ServerInfoDao" %> <%@ page import="org.springframework.web.context.ContextLoader" %> <%@ page import="org.springframework.web.context.WebApplicationContext" %> +<%@ page import="java.util.logging.Logger" %> <% String hostname = request.getParameter("hostname"); + Logger log = Logger.getLogger("net.jetrix.monitor"); + log.info("New server requested from [" + request.getRemoteHost() + "] : " + hostname); + try { // lookup the IP @@ -21,6 +25,7 @@ || address.isSiteLocalAddress() || address.isMulticastAddress()) { // multicast and non routable addresses are ignored + log.info("Server " + address + " not added: address not reachable"); return; } @@ -52,13 +57,15 @@ if (!dao.exists(server)) { dao.save(server); - out.println("server added " + address); + out.println("Server added (" + address + ")"); + log.info("Server added (" + address + ")"); } // todo register the alias if the server is already registered } catch (IOException e) { + log.info("Server " + hostname + " not added: " + e.getMessage()); out.println(e.getMessage()); // server ignored } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 16:17:35
|
Revision: 823 http://jetrix.svn.sourceforge.net/jetrix/?rev=823&view=rev Author: smanux Date: 2010-02-22 16:17:29 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Accept only global unicast addresses Modified Paths: -------------- monitor/trunk/src/main/webapp/server-add.jsp Modified: monitor/trunk/src/main/webapp/server-add.jsp =================================================================== --- monitor/trunk/src/main/webapp/server-add.jsp 2010-02-22 15:16:11 UTC (rev 822) +++ monitor/trunk/src/main/webapp/server-add.jsp 2010-02-22 16:17:29 UTC (rev 823) @@ -3,50 +3,58 @@ <%@ page import="java.net.InetSocketAddress" %> <%@ page import="java.net.Socket" %> <%@ page import="java.util.Date" %> -<%@ page import="org.springframework.web.context.ContextLoader" %> -<%@ page import="org.springframework.web.context.WebApplicationContext" %> <%@ page import="net.jetrix.monitor.ServerInfo" %> <%@ page import="net.jetrix.monitor.dao.IpToCountryDao" %> <%@ page import="net.jetrix.monitor.dao.ServerInfoDao" %> +<%@ page import="org.springframework.web.context.ContextLoader" %> +<%@ page import="org.springframework.web.context.WebApplicationContext" %> <% String hostname = request.getParameter("hostname"); - + try { // lookup the IP InetAddress address = InetAddress.getByName(hostname); - + + if (address.isLoopbackAddress() + || address.isLinkLocalAddress() + || address.isSiteLocalAddress() + || address.isMulticastAddress()) { + // multicast and non routable addresses are ignored + return; + } + WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); ServerInfoDao dao = (ServerInfoDao) context.getBean("serverInfoDao"); IpToCountryDao countryDao = (IpToCountryDao) context.getBean("ipToCountryDao"); - + ServerInfo server = new ServerInfo(); server.setHostname(hostname); server.setIP(address.getHostAddress()); server.setDateAdded(new Date()); server.setCountry(countryDao.getCountry(address)); - + // lookup the hostname if the IP was specified if (address.getHostAddress().equals(hostname)) { server.setHostname(address.getCanonicalHostName()); } - + // check if the tetrinet port is opened long t0 = System.currentTimeMillis(); Socket socket = new Socket(); socket.connect(new InetSocketAddress(address, 31457), 15000); long t1 = System.currentTimeMillis(); socket.close(); - + server.getStats().setPing((int) (t1 - t0)); - - if (!dao.exists(server) && !address.isLoopbackAddress()) + + if (!dao.exists(server)) { dao.save(server); out.println("server added " + address); } - + // todo register the alias if the server is already registered } catch (IOException e) @@ -54,6 +62,8 @@ out.println(e.getMessage()); // server ignored } - - response.sendRedirect("index.jsp"); + finally + { + response.sendRedirect("index.jsp"); + } %> \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 15:16:18
|
Revision: 822 http://jetrix.svn.sourceforge.net/jetrix/?rev=822&view=rev Author: smanux Date: 2010-02-22 15:16:11 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Reduced the verbosity of the log file Modified Paths: -------------- monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java Modified: monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java =================================================================== --- monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java 2010-02-22 15:14:13 UTC (rev 821) +++ monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java 2010-02-22 15:16:11 UTC (rev 822) @@ -58,10 +58,11 @@ { ApplicationContext context = (ApplicationContext) jobExecutionContext.getMergedJobDataMap().get("applicationContext"); ServerInfoDao serverInfoDao = (ServerInfoDao) context.getBean("serverInfoDao"); - + List<ServerInfo> servers = serverInfoDao.getServers(); log.info("Checking servers... "); + long t0 = System.currentTimeMillis(); List<Callable<ServerInfo>> workers = new ArrayList<Callable<ServerInfo>>(); @@ -96,6 +97,8 @@ { throw new JobExecutionException(e); } + + log.info(servers.size() + " servers checked in " + (System.currentTimeMillis() - t0) / 1000 + " seconds"); } private void handleResult(ApplicationContext context, ServerInfo server) @@ -205,7 +208,7 @@ } catch (Exception e) { - log.info("Unable to check the server " + server.getHostname() + " : " + e.getMessage()); + log.fine("Unable to check the server " + server.getHostname() + " : " + e.getMessage()); } finally { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 15:14:30
|
Revision: 821 http://jetrix.svn.sourceforge.net/jetrix/?rev=821&view=rev Author: smanux Date: 2010-02-22 15:14:13 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Updated the dependencies Modified Paths: -------------- monitor/trunk/pom.xml Modified: monitor/trunk/pom.xml =================================================================== --- monitor/trunk/pom.xml 2010-02-22 15:13:22 UTC (rev 820) +++ monitor/trunk/pom.xml 2010-02-22 15:14:13 UTC (rev 821) @@ -68,25 +68,25 @@ <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate</artifactId> - <version>3.2.6.ga</version> + <version>3.2.7.ga</version> </dependency> <dependency> <groupId>org.springframework </groupId> <artifactId>spring</artifactId> - <version>2.5.5</version> + <version>2.5.6</version> </dependency> <dependency> <groupId>opensymphony</groupId> <artifactId>quartz</artifactId> - <version>1.6.0</version> + <version>1.6.1</version> </dependency> <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> - <version>2.3</version> + <version>2.4</version> </dependency> <dependency> @@ -128,15 +128,9 @@ </dependency> <dependency> - <groupId>taglibs</groupId> - <artifactId>standard</artifactId> - <version>1.1.2</version> - </dependency> - - <dependency> - <groupId>jstl</groupId> + <groupId>javax.servlet</groupId> <artifactId>jstl</artifactId> - <version>1.1.2</version> + <version>1.2</version> </dependency> <!-- Needed for testing --> @@ -150,7 +144,7 @@ <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> - <version>5.1.6</version> + <version>5.1.10</version> <scope>test</scope> </dependency> </dependencies> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 15:13:28
|
Revision: 820 http://jetrix.svn.sourceforge.net/jetrix/?rev=820&view=rev Author: smanux Date: 2010-02-22 15:13:22 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Improved the format of the log file Modified Paths: -------------- monitor/trunk/src/main/webapp/WEB-INF/classes/logging.properties Added Paths: ----------- monitor/trunk/src/main/java/net/jetrix/util/ monitor/trunk/src/main/java/net/jetrix/util/logging/ monitor/trunk/src/main/java/net/jetrix/util/logging/TimestampFormatter.java Added: monitor/trunk/src/main/java/net/jetrix/util/logging/TimestampFormatter.java =================================================================== --- monitor/trunk/src/main/java/net/jetrix/util/logging/TimestampFormatter.java (rev 0) +++ monitor/trunk/src/main/java/net/jetrix/util/logging/TimestampFormatter.java 2010-02-22 15:13:22 UTC (rev 820) @@ -0,0 +1,85 @@ +/** + * Jetrix TetriNET Server + * Copyright (C) 2010 Emmanuel Bourg + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + */ + +package net.jetrix.util.logging; + +import java.io.PrintWriter; +import java.io.StringWriter; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.logging.Formatter; +import java.util.logging.LogRecord; + +/** + * @author Emmanuel Bourg + * @version $Revision$, $Date$ + */ +public class TimestampFormatter extends Formatter +{ + private Date date = new Date(); + private DateFormat formatter; + private boolean level; + + public TimestampFormatter() + { + this("yyyy-MM-dd HH:mm:ss", true); + } + + public TimestampFormatter(String format, boolean level) + { + this.level = level; + formatter = new SimpleDateFormat(format); + } + + public synchronized String format(LogRecord record) + { + StringBuilder message = new StringBuilder(); + + // display the timestamp + date.setTime(record.getMillis()); + message.append("["); + message.append(formatter.format(date)); + message.append("] "); + + // display the log level + if (level) + { + message.append("["); + message.append(record.getLevel().getName()); + message.append("] "); + } + + // display the message + message.append(formatMessage(record)); + message.append("\n"); + + // display the exception + if (record.getThrown() != null) + { + StringWriter writer = new StringWriter(); + PrintWriter out = new PrintWriter(writer); + + record.getThrown().printStackTrace(out); + message.append(writer.toString()); + } + + return message.toString(); + } +} Property changes on: monitor/trunk/src/main/java/net/jetrix/util/logging/TimestampFormatter.java ___________________________________________________________________ Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/logging.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/logging.properties 2010-02-22 15:03:33 UTC (rev 819) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/logging.properties 2010-02-22 15:13:22 UTC (rev 820) @@ -5,4 +5,8 @@ org.apache.juli.FileHandler.level = INFO org.apache.juli.FileHandler.directory = ${catalina.base}/logs org.apache.juli.FileHandler.prefix = jetrix-monitor. -#org.apache.juli.FileHandler.formatter = net.jetrix.util.logging.TimestampFormatter +org.apache.juli.FileHandler.formatter = net.jetrix.util.logging.TimestampFormatter + +org.quartz.level = WARNING +org.hibernate.level = WARNING +org.springframework.level = WARNING This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 15:03:40
|
Revision: 819 http://jetrix.svn.sourceforge.net/jetrix/?rev=819&view=rev Author: smanux Date: 2010-02-22 15:03:33 +0000 (Mon, 22 Feb 2010) Log Message: ----------- The last time a server was populated and the last time a game was played are now recorded Modified Paths: -------------- monitor/trunk/src/main/java/net/jetrix/monitor/ServerInfo.java monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java monitor/trunk/src/main/resources/hibernate-mapping.xml monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties monitor/trunk/src/main/webapp/server.jsp Modified: monitor/trunk/src/main/java/net/jetrix/monitor/ServerInfo.java =================================================================== --- monitor/trunk/src/main/java/net/jetrix/monitor/ServerInfo.java 2010-02-22 12:46:29 UTC (rev 818) +++ monitor/trunk/src/main/java/net/jetrix/monitor/ServerInfo.java 2010-02-22 15:03:33 UTC (rev 819) @@ -44,10 +44,21 @@ private boolean spectate; private String spectatorPassword; + /** The date the server was added to the survey. */ private Date dateAdded; + + /** The last time the server was queried. */ private Date lastChecked; + + /** The last time the server was online. */ private Date lastOnline; + /** The last time the server was populated with players. */ + private Date lastPopulated; + + /** The last time the server hosted a game. */ + private Date lastActive; + private ServerStats stats = new ServerStats(); private int maxPlayerCount; @@ -181,6 +192,26 @@ this.lastOnline = lastOnline; } + public Date getLastPopulated() + { + return lastPopulated; + } + + public void setLastPopulated(Date lastPopulated) + { + this.lastPopulated = lastPopulated; + } + + public Date getLastActive() + { + return lastActive; + } + + public void setLastActive(Date lastActive) + { + this.lastActive = lastActive; + } + public ServerStats getStats() { return stats; Modified: monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java =================================================================== --- monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java 2010-02-22 12:46:29 UTC (rev 818) +++ monitor/trunk/src/main/java/net/jetrix/monitor/job/ServerSurveyJob.java 2010-02-22 15:03:33 UTC (rev 819) @@ -58,67 +58,29 @@ { ApplicationContext context = (ApplicationContext) jobExecutionContext.getMergedJobDataMap().get("applicationContext"); ServerInfoDao serverInfoDao = (ServerInfoDao) context.getBean("serverInfoDao"); - ServerStatsDao serverStatsDao = (ServerStatsDao) context.getBean("serverStatsDao"); - PlayerStatsDao playerStatsDao = (PlayerStatsDao) context.getBean("playerStatsDao"); - + List<ServerInfo> servers = serverInfoDao.getServers(); - + log.info("Checking servers... "); - + List<Callable<ServerInfo>> workers = new ArrayList<Callable<ServerInfo>>(); - + ExecutorService executor = Executors.newFixedThreadPool(20); for (ServerInfo server : servers) { workers.add(new Worker(server)); } - + try { List<Future<ServerInfo>> results = executor.invokeAll(workers, 45, TimeUnit.SECONDS); executor.shutdown(); - + for (Future<ServerInfo> result : results) { try { - ServerInfo server = result.get(); - if (!server.isOnline()) - { - server.getPlayers().clear(); - } - serverInfoDao.save(server); - - // update the server stats for the activity graph - ServerStats stats = server.getStats(); - stats.setServerId(server.getId()); - stats.setDate(server.getLastChecked()); - if (stats.getPlayerCount() > 0) - { - serverStatsDao.save(stats); - } - - // update the player stats - for (PlayerInfo player : server.getPlayers()) - { - PlayerStats playerStats = playerStatsDao.getStats(player.getNick()); - if (playerStats == null) - { - playerStats = new PlayerStats(); - playerStats.setName(player.getNick()); - playerStats.setFirstSeen(server.getLastOnline()); - } - - playerStats.setTeam(player.getTeam()); - playerStats.setLastSeen(server.getLastOnline()); - playerStats.setLastServer(server); - if (player.isPlaying()) - { - playerStats.setLastPlayed(server.getLastOnline()); - } - - playerStatsDao.save(playerStats); - } + handleResult(context, result.get()); } catch (ExecutionException e) { @@ -136,27 +98,71 @@ } } + private void handleResult(ApplicationContext context, ServerInfo server) + { + ServerInfoDao serverInfoDao = (ServerInfoDao) context.getBean("serverInfoDao"); + ServerStatsDao serverStatsDao = (ServerStatsDao) context.getBean("serverStatsDao"); + PlayerStatsDao playerStatsDao = (PlayerStatsDao) context.getBean("playerStatsDao"); + + if (!server.isOnline()) + { + server.getPlayers().clear(); + } + serverInfoDao.save(server); + + // update the server stats for the activity graph + ServerStats stats = server.getStats(); + stats.setServerId(server.getId()); + stats.setDate(server.getLastChecked()); + if (stats.getPlayerCount() > 0) + { + serverStatsDao.save(stats); + } + + // update the player stats + for (PlayerInfo player : server.getPlayers()) + { + PlayerStats playerStats = playerStatsDao.getStats(player.getNick()); + if (playerStats == null) + { + playerStats = new PlayerStats(); + playerStats.setName(player.getNick()); + playerStats.setFirstSeen(server.getLastOnline()); + } + + playerStats.setTeam(player.getTeam()); + playerStats.setLastSeen(server.getLastOnline()); + playerStats.setLastServer(server); + if (player.isPlaying()) + { + playerStats.setLastPlayed(server.getLastOnline()); + } + + playerStatsDao.save(playerStats); + } + } + private class Worker implements Callable<ServerInfo> { private ServerInfo server; - + public Worker(ServerInfo server) { this.server = server; } - + public ServerInfo call() throws Exception { QueryAgent agent = new QueryAgent(); server.setLastChecked(new Date()); server.setStats(new ServerStats()); - + try { agent.connect(server.getHostname()); - + QueryInfo info = agent.getInfo(); - + server.getStats().update(info); server.setVersion(info.getVersion()); server.setLastOnline(server.getLastChecked()); @@ -172,18 +178,29 @@ } server.setPlayers(info.getPlayers()); - + if (server.getStats().getActivePlayerCount() > server.getMaxActivePlayerCount()) { server.setMaxActivePlayerCount(server.getStats().getActivePlayerCount()); server.setMaxActivePlayerDate(server.getLastChecked()); } + if (server.getStats().getPlayerCount() > server.getMaxPlayerCount()) { server.setMaxPlayerCount(server.getStats().getPlayerCount()); server.setMaxPlayerDate(server.getLastChecked()); } - + + if (server.getStats().getActivePlayerCount() > 0) + { + server.setLastActive(server.getLastChecked()); + } + + if (server.getStats().getPlayerCount() > 0) + { + server.setLastPopulated(server.getLastPopulated()); + } + server.setSpectate(NetworkUtils.isPortOpen(server.getHostname(), 31458)); } catch (Exception e) @@ -194,7 +211,7 @@ { agent.disconnect(); } - + return server; } } Modified: monitor/trunk/src/main/resources/hibernate-mapping.xml =================================================================== --- monitor/trunk/src/main/resources/hibernate-mapping.xml 2010-02-22 12:46:29 UTC (rev 818) +++ monitor/trunk/src/main/resources/hibernate-mapping.xml 2010-02-22 15:03:33 UTC (rev 819) @@ -15,10 +15,12 @@ <property name="website" column="website"/> <property name="spectate" column="spec" not-null="true"/> <property name="spectatorPassword" column="spec_pass"/> - + <property name="dateAdded" column="date_added"/> <property name="lastChecked" column="last_checked"/> <property name="lastOnline" column="last_online"/> + <property name="lastPopulated" column="last_populated"/> + <property name="lastActive" column="last_active"/> <component name="stats"> <property name="ping" column="ping" not-null="true"/> <property name="playerCount" column="player_count" not-null="true"/> @@ -26,7 +28,7 @@ <property name="activePlayerCount" column="active_player_count" not-null="true"/> <property name="activeChannelCount" column="active_channel_count" not-null="true"/> </component> - + <list name="channels" table="channel" cascade="all" lazy="false"> <key column="server_id"/> <index column="pos"/> Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties 2010-02-22 12:46:29 UTC (rev 818) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties 2010-02-22 15:03:33 UTC (rev 819) @@ -21,6 +21,7 @@ word.peak = Peak word.date-added = Date Added word.last-online = Last Online +word.last-game = Last Game word.never = Never word.tetrinet-client = Client word.slot = Slot Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties 2010-02-22 12:46:29 UTC (rev 818) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties 2010-02-22 15:03:33 UTC (rev 819) @@ -20,7 +20,8 @@ word.no = Non word.peak = Pointe word.date-added = Date d'ajout -word.last-online = Derniere V\xE9rification +word.last-online = Derni\xE8re Dispo +word.last-game = Derni\xE8re Partie word.never = Jamais word.tetrinet-client = Client word.slot = Place Modified: monitor/trunk/src/main/webapp/server.jsp =================================================================== --- monitor/trunk/src/main/webapp/server.jsp 2010-02-22 12:46:29 UTC (rev 818) +++ monitor/trunk/src/main/webapp/server.jsp 2010-02-22 15:03:33 UTC (rev 819) @@ -12,20 +12,20 @@ <% WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); ServerInfoDao dao = (ServerInfoDao) context.getBean("serverInfoDao"); - + ServerInfo server = dao.getServer(Long.parseLong(request.getParameter("id"))); - + String countryName = "Unknown"; String localizedCountryName = "Unknown"; String countryFlag = "United Nations"; - + if (server.getCountry() != null) { Locale locale = new Locale("en", server.getCountry()); countryName = locale.getDisplayCountry(Locale.ENGLISH); localizedCountryName = locale.getDisplayCountry(request.getLocale()); countryFlag = countryName; } - + boolean viewable = server.isSpectate() && server.getSpectatorPassword() != null; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> @@ -140,6 +140,16 @@ <% } %> </td> </tr> + <tr> + <th><fmt:message key="word.last-game"/></th> + <td> + <% if (server.getLastActive() != null) { %> + <%= server.getLastActive() %> + <% } else { %> + <fmt:message key="word.never"/> + <% } %> + </td> + </tr> </table> <p><a href="<%= request.getContextPath() %>/"><fmt:message key="message.back-to-servers"/></a></p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-22 14:34:30
|
Revision: 818 http://jetrix.svn.sourceforge.net/jetrix/?rev=818&view=rev Author: smanux Date: 2010-02-22 12:46:29 +0000 (Mon, 22 Feb 2010) Log Message: ----------- Updated the GeoIP database Modified Paths: -------------- monitor/trunk/pom.xml monitor/trunk/src/main/java/net/jetrix/monitor/dao/IpToCountryDao.java monitor/trunk/src/main/resources/GeoIP.dat Removed Paths: ------------- monitor/trunk/lib/geoip-1.2.2.jar Deleted: monitor/trunk/lib/geoip-1.2.2.jar =================================================================== (Binary files differ) Modified: monitor/trunk/pom.xml =================================================================== --- monitor/trunk/pom.xml 2010-02-05 11:42:19 UTC (rev 817) +++ monitor/trunk/pom.xml 2010-02-22 12:46:29 UTC (rev 818) @@ -96,9 +96,9 @@ </dependency> <dependency> - <groupId>maxmind</groupId> - <artifactId>geoip</artifactId> - <version>1.2.2</version> + <groupId>org.dspace.dependencies</groupId> + <artifactId>dspace-geoip</artifactId> + <version>1.2.3</version> </dependency> <dependency> @@ -180,26 +180,6 @@ <skip>false</skip> </configuration> </plugin> - <plugin> - <artifactId>maven-install-plugin</artifactId> - <configuration> - <file>lib/geoip-1.2.2.jar</file> - <groupId>maxmind</groupId> - <artifactId>geoip</artifactId> - <version>1.2.2</version> - <packaging>jar</packaging> - <generatePom>true</generatePom> - <createChecksum>true</createChecksum> - </configuration> - <executions> - <execution> - <phase>validate</phase> - <goals> - <goal>install-file</goal> - </goals> - </execution> - </executions> - </plugin> </plugins> </build> Modified: monitor/trunk/src/main/java/net/jetrix/monitor/dao/IpToCountryDao.java =================================================================== --- monitor/trunk/src/main/java/net/jetrix/monitor/dao/IpToCountryDao.java 2010-02-05 11:42:19 UTC (rev 817) +++ monitor/trunk/src/main/java/net/jetrix/monitor/dao/IpToCountryDao.java 2010-02-22 12:46:29 UTC (rev 818) @@ -19,7 +19,6 @@ package net.jetrix.monitor.dao; -import java.io.IOException; import java.io.File; import java.net.InetAddress; import java.net.URL; Modified: monitor/trunk/src/main/resources/GeoIP.dat =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-02-05 11:42:25
|
Revision: 817 http://jetrix.svn.sourceforge.net/jetrix/?rev=817&view=rev Author: smanux Date: 2010-02-05 11:42:19 +0000 (Fri, 05 Feb 2010) Log Message: ----------- Removed the link local and the loopback addresses from the network interface combobox Modified Paths: -------------- jetrix/trunk/src/admin/server.jsp Modified: jetrix/trunk/src/admin/server.jsp =================================================================== --- jetrix/trunk/src/admin/server.jsp 2010-01-19 17:05:31 UTC (rev 816) +++ jetrix/trunk/src/admin/server.jsp 2010-02-05 11:42:19 UTC (rev 817) @@ -53,7 +53,7 @@ <td><input class="thin" type="text" name="name" value="<%= conf.getName() != null ? conf.getName() : "" %>"></td> </tr> <tr> - <th>Host</th> + <th>Network Interface</th> <td> <select name="host"> <option value="[ALL]">All Interfaces</option> @@ -67,9 +67,12 @@ while (addresses.hasMoreElements()) { InetAddress address = addresses.nextElement(); + if (!address.isLinkLocalAddress() && !address.isLoopbackAddress()) + { %> <option value="<%= address.getHostAddress() %>" <%= address.equals(conf.getHost()) ? "selected" : "" %>><%= address.getHostAddress() %> <%= address.getHostAddress().equals(address.getHostName()) ? "" : " (" + address.getHostName() + ")" %></option> <% + } } } %> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-01-19 17:05:38
|
Revision: 816 http://jetrix.svn.sourceforge.net/jetrix/?rev=816&view=rev Author: smanux Date: 2010-01-19 17:05:31 +0000 (Tue, 19 Jan 2010) Log Message: ----------- Generification of GameResult Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/winlist/GameResult.java Modified: jetrix/trunk/src/java/net/jetrix/winlist/GameResult.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/winlist/GameResult.java 2010-01-10 20:54:35 UTC (rev 815) +++ jetrix/trunk/src/java/net/jetrix/winlist/GameResult.java 2010-01-19 17:05:31 UTC (rev 816) @@ -128,12 +128,10 @@ else { // sort by date (reverse order) - Collections.sort(gamePlayers, new Comparator() + Collections.sort(gamePlayers, new Comparator<GamePlayer>() { - public int compare(Object o1, Object o2) + public int compare(GamePlayer player1, GamePlayer player2) { - GamePlayer player1 = (GamePlayer) o1; - GamePlayer player2 = (GamePlayer) o2; return player2.getEndTime().compareTo(player1.getEndTime()); } }); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-01-10 20:54:42
|
Revision: 815 http://jetrix.svn.sourceforge.net/jetrix/?rev=815&view=rev Author: smanux Date: 2010-01-10 20:54:35 +0000 (Sun, 10 Jan 2010) Log Message: ----------- Updated the link to the forum Modified Paths: -------------- jetrix/trunk/src/site/menu.inc.php Modified: jetrix/trunk/src/site/menu.inc.php =================================================================== --- jetrix/trunk/src/site/menu.inc.php 2010-01-10 20:47:42 UTC (rev 814) +++ jetrix/trunk/src/site/menu.inc.php 2010-01-10 20:54:35 UTC (rev 815) @@ -27,7 +27,7 @@ <h1>Project</h1> <ul> <li><a href="http://sourceforge.net/svn/?group_id=52188">SVN Repository</a></li> - <li><a href="http://sourceforge.net/forum/forum.php?forum_id=172941">Forum</a></li> + <li><a href="https://sourceforge.net/projects/jetrix/forums/forum/172941">Forum</a></li> <li><a href="http://sourceforge.net/tracker/?group_id=52188&atid=466002">Bugs</a></li> <li><a href="http://sourceforge.net/tracker/?group_id=52188&atid=466005">Feature Requests</a></li> <li><a href="changelog.php">Changelog</a></li> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2010-01-10 20:47:49
|
Revision: 814 http://jetrix.svn.sourceforge.net/jetrix/?rev=814&view=rev Author: smanux Date: 2010-01-10 20:47:42 +0000 (Sun, 10 Jan 2010) Log Message: ----------- Replaced Jetty with Winstone for the web administration console Modified Paths: -------------- jetrix/trunk/build.xml jetrix/trunk/pom.xml jetrix/trunk/src/admin/WEB-INF/classes/net/jetrix/servlets/PrecompiledPagesFilter.java jetrix/trunk/src/admin/WEB-INF/web.xml jetrix/trunk/src/admin/channel.jsp jetrix/trunk/src/admin/server.jsp jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java Added Paths: ----------- jetrix/trunk/lib/jsp-api-2.1.jar jetrix/trunk/lib/jsp-api-light.jar jetrix/trunk/lib/winstone-lite-0.9.10.jar Removed Paths: ------------- jetrix/trunk/lib/jetty.jar jetrix/trunk/lib/servlet-light.jar jetrix/trunk/lib/servlet.jar Modified: jetrix/trunk/build.xml =================================================================== --- jetrix/trunk/build.xml 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/build.xml 2010-01-10 20:47:42 UTC (rev 814) @@ -151,8 +151,8 @@ <antcall target="pack.lib" inheritAll="true"><param name="library" value="commons-lang-2.0-light"/></antcall> <antcall target="pack.lib" inheritAll="true"><param name="library" value="commons-pool-1.4"/></antcall> <antcall target="pack.lib" inheritAll="true"><param name="library" value="commons-dbcp-1.2.2"/></antcall> - <antcall target="pack.lib" inheritAll="true"><param name="library" value="jetty"/></antcall> - <antcall target="pack.lib" inheritAll="true"><param name="library" value="servlet-light"/></antcall> + <antcall target="pack.lib" inheritAll="true"><param name="library" value="winstone-lite-0.9.10"/></antcall> + <antcall target="pack.lib" inheritAll="true"><param name="library" value="jsp-api-light"/></antcall> <antcall target="pack.lib" inheritAll="true"><param name="library" value="jasper-runtime"/></antcall> <antcall target="pack.lib" inheritAll="true"><param name="library" value="jcrontab-1.4.1-light"/></antcall> <antcall target="pack.lib" inheritAll="true"><param name="library" value="mailapi-1.4.1"/></antcall> Deleted: jetrix/trunk/lib/jetty.jar =================================================================== (Binary files differ) Added: jetrix/trunk/lib/jsp-api-2.1.jar =================================================================== (Binary files differ) Property changes on: jetrix/trunk/lib/jsp-api-2.1.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Added: jetrix/trunk/lib/jsp-api-light.jar =================================================================== (Binary files differ) Property changes on: jetrix/trunk/lib/jsp-api-light.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Deleted: jetrix/trunk/lib/servlet-light.jar =================================================================== (Binary files differ) Deleted: jetrix/trunk/lib/servlet.jar =================================================================== (Binary files differ) Added: jetrix/trunk/lib/winstone-lite-0.9.10.jar =================================================================== (Binary files differ) Property changes on: jetrix/trunk/lib/winstone-lite-0.9.10.jar ___________________________________________________________________ Added: svn:mime-type + application/octet-stream Modified: jetrix/trunk/pom.xml =================================================================== --- jetrix/trunk/pom.xml 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/pom.xml 2010-01-10 20:47:42 UTC (rev 814) @@ -127,12 +127,11 @@ <artifactId>commons-dbcp</artifactId> <version>1.2.2</version> </dependency> - + <dependency> - <groupId>jetty</groupId> - <artifactId>jetty</artifactId> - <version>4.1-rc1</version> - <optional>true</optional> + <groupId>net.sourceforge.winstone</groupId> + <artifactId>winstone</artifactId> + <version>0.9.10</version> </dependency> <dependency> Modified: jetrix/trunk/src/admin/WEB-INF/classes/net/jetrix/servlets/PrecompiledPagesFilter.java =================================================================== --- jetrix/trunk/src/admin/WEB-INF/classes/net/jetrix/servlets/PrecompiledPagesFilter.java 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/src/admin/WEB-INF/classes/net/jetrix/servlets/PrecompiledPagesFilter.java 2010-01-10 20:47:42 UTC (rev 814) @@ -31,7 +31,6 @@ */ public class PrecompiledPagesFilter implements Filter { - public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException Modified: jetrix/trunk/src/admin/WEB-INF/web.xml =================================================================== --- jetrix/trunk/src/admin/WEB-INF/web.xml 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/src/admin/WEB-INF/web.xml 2010-01-10 20:47:42 UTC (rev 814) @@ -2,34 +2,37 @@ <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd"> <web-app> - <display-name>Jetrix Administration</display-name> - <description>Web administration console for Jetrix</description> + <display-name>Jetrix Administration</display-name> + <description>Web administration console for Jetrix</description> - <filter> - <filter-name>precomp</filter-name> - <filter-class>net.jetrix.servlets.PrecompiledPagesFilter</filter-class> - </filter> + <filter> + <filter-name>precomp</filter-name> + <filter-class>net.jetrix.servlets.PrecompiledPagesFilter</filter-class> + </filter> - <filter-mapping> - <filter-name>precomp</filter-name> - <url-pattern>*.jsp</url-pattern> - </filter-mapping> + <filter-mapping> + <filter-name>precomp</filter-name> + <url-pattern>*.jsp</url-pattern> + </filter-mapping> - <security-constraint> - <web-resource-collection> - <web-resource-name/> - <url-pattern>/</url-pattern> - <url-pattern>*.html</url-pattern> - <url-pattern>*.jsp</url-pattern> - </web-resource-collection> - <auth-constraint> - <role-name>admin</role-name> - </auth-constraint> - </security-constraint> + <security-constraint> + <web-resource-collection> + <web-resource-name/> + <url-pattern>/*</url-pattern> + </web-resource-collection> + <auth-constraint> + <role-name>admin</role-name> + </auth-constraint> + </security-constraint> - <login-config> - <auth-method>BASIC</auth-method> - <realm-name>Jetrix Admin</realm-name> - </login-config> + <login-config> + <auth-method>BASIC</auth-method> + <realm-name>Jetrix Administration</realm-name> + </login-config> + + <security-role> + <description>Jetrix Administrator</description> + <role-name>admin</role-name> + </security-role> </web-app> Modified: jetrix/trunk/src/admin/channel.jsp =================================================================== --- jetrix/trunk/src/admin/channel.jsp 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/src/admin/channel.jsp 2010-01-10 20:47:42 UTC (rev 814) @@ -125,7 +125,7 @@ <div class="tab-page" style="height: 400px"> <h2 class="tab">Settings</h2> - <jsp:include page="/servlet/org.apache.jsp.settings_jsp"/> + <%@ include file="settings.jsp"%> </div> <div class="tab-page" style="height: 400px"> Modified: jetrix/trunk/src/admin/server.jsp =================================================================== --- jetrix/trunk/src/admin/server.jsp 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/src/admin/server.jsp 2010-01-10 20:47:42 UTC (rev 814) @@ -57,7 +57,6 @@ <td> <select name="host"> <option value="[ALL]">All Interfaces</option> - <% Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while (interfaces.hasMoreElements()) @@ -166,7 +165,7 @@ <div class="tab-page" style="height: 400px"> <h2 class="tab">Settings</h2> - <jsp:include page="/servlet/org.apache.jsp.settings_jsp"/> + <%@ include file="settings.jsp" %> </div> <div class="tab-page" style="height: 400px"> @@ -288,8 +287,8 @@ </tr> <% } %> <tr> - <td><input type="text" name="pattern" style="thin"></td> - <td><input type="text" name="expires" style="thin"></td> + <td><input type="text" name="pattern" class="thin"></td> + <td><input type="text" name="expires" class="thin"></td> <td width="50" align="center"> <select name="type"> <option value="0">Host</option> Modified: jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java 2009-09-13 22:00:05 UTC (rev 813) +++ jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java 2010-01-10 20:47:42 UTC (rev 814) @@ -1,6 +1,6 @@ /** * Jetrix TetriNET Server - * Copyright (C) 2001-2003 Emmanuel Bourg + * Copyright (C) 2010 Emmanuel Bourg * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -19,15 +19,18 @@ package net.jetrix.listeners; -import java.io.*; -import java.util.logging.*; +import java.io.IOException; +import java.util.HashMap; +import java.util.Map; +import java.util.logging.Level; +import java.util.logging.Logger; -import org.mortbay.http.*; -import org.mortbay.util.*; - -import net.jetrix.*; +import net.jetrix.Listener; +import net.jetrix.Server; import net.jetrix.services.AbstractService; +import winstone.Launcher; + /** * Web administration console. * @@ -36,40 +39,10 @@ */ public class HttpListener extends AbstractService implements Listener { - private org.mortbay.jetty.Server jetty; + private winstone.Launcher server; private Logger log = Logger.getLogger("net.jetrix"); - private boolean initialized; private int port = 31460; - public HttpListener() - { - // configure the log file - System.setProperty("LOG_CLASSES", "org.mortbay.util.OutputStreamLogSink"); - System.setProperty("LOG_FILE", "log/jetty.log"); - System.setProperty("LOG_DATE_FORMAT", "[yyyy-MM-dd HH:mm:ss] "); - } - - private void init() - { - // authentication realm - HashUserRealm realm = new HashUserRealm("Jetrix Admin"); - realm.put("admin", Server.getInstance().getConfig().getAdminPassword()); - realm.addUserToRole("admin", "admin"); - - jetty = new org.mortbay.jetty.Server(); - jetty.addRealm(realm); - - try - { - jetty.addListener(new InetAddrPort(getPort())); - jetty.addWebApplication("/", "./lib/jetrix-admin-@version@.war"); - } - catch (IOException e) - { - e.printStackTrace(); - } - } - public String getName() { return "web admin"; @@ -91,15 +64,29 @@ { try { - if (!initialized) - { - init(); - initialized = true; - } - jetty.start(); + Map<String, String> args = new HashMap<String, String>(); + args.put("warfile", "./lib/jetrix-admin-@version@.war"); + args.put("httpPort", String.valueOf(getPort())); + //args.put("ajp13Port", "-1"); + args.put("argumentsRealm.passwd.admin", Server.getInstance().getConfig().getAdminPassword()); + args.put("argumentsRealm.roles.admin", "admin"); + //args.put("accessLoggerClassName", "winstone.accesslog.SimpleAccessLogger"); + //args.put("simpleAccessLogger.file", "./log/webadmin_access.log"); + //args.put("simpleAccessLogger.format", "resin"); + args.put("logfile", "./log/webadmin.log"); + args.put("useInvoker", "true"); + args.put("invokerPrefix", "/servlet/"); + args.put("debug", "5"); + args.put("commonLibFolder", "./lib/shared"); + //args.put("useServletReloading", "true"); + + Launcher.initLogger(args); + + server = new Launcher(args); + log.info("Web administration console started on port " + getPort()); } - catch (MultiException e) + catch (IOException e) { log.log(Level.SEVERE, "Unable to start the Web administration console on port " + getPort(), e); } @@ -110,15 +97,8 @@ { if (isRunning()) { - try - { - jetty.stop(); - log.info("Web administration console stopped"); - } - catch (InterruptedException e) - { - e.printStackTrace(); - } + server.shutdown(); + log.info("Web administration console stopped"); } } @@ -126,6 +106,6 @@ public boolean isRunning() { - return jetty != null && jetty.isStarted(); + return server != null && server.isRunning(); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-09-13 22:00:12
|
Revision: 813 http://jetrix.svn.sourceforge.net/jetrix/?rev=813&view=rev Author: smanux Date: 2009-09-13 22:00:05 +0000 (Sun, 13 Sep 2009) Log Message: ----------- Fixed the encoding inconsistency with the winlist and log files (backported from the trunk) Modified Paths: -------------- jetrix/branches/0.2.x/src/java/net/jetrix/LogManager.java jetrix/branches/0.2.x/src/java/net/jetrix/winlist/SimpleWinlist.java jetrix/branches/0.2.x/src/java/net/jetrix/winlist/TetrixWinlist.java Modified: jetrix/branches/0.2.x/src/java/net/jetrix/LogManager.java =================================================================== --- jetrix/branches/0.2.x/src/java/net/jetrix/LogManager.java 2009-09-13 21:35:55 UTC (rev 812) +++ jetrix/branches/0.2.x/src/java/net/jetrix/LogManager.java 2009-09-13 22:00:05 UTC (rev 813) @@ -66,6 +66,7 @@ FileHandler fileHandler = new FileHandler(config.getAccessLogPath(), 1000000, 10); fileHandler.setLevel(Level.CONFIG); + fileHandler.setEncoding(ServerConfig.ENCODING); log.addHandler(fileHandler); fileHandler.setFormatter(new TimestampFormatter("yyyy-MM-dd HH:mm:ss", false)); } Modified: jetrix/branches/0.2.x/src/java/net/jetrix/winlist/SimpleWinlist.java =================================================================== --- jetrix/branches/0.2.x/src/java/net/jetrix/winlist/SimpleWinlist.java 2009-09-13 21:35:55 UTC (rev 812) +++ jetrix/branches/0.2.x/src/java/net/jetrix/winlist/SimpleWinlist.java 2009-09-13 22:00:05 UTC (rev 813) @@ -234,7 +234,7 @@ { try { - reader = new BufferedReader(new FileReader(file)); + reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), ServerConfig.ENCODING)); String line = null; while ((line = reader.readLine()) != null) { @@ -280,7 +280,7 @@ BufferedWriter writer = null; try { - writer = new BufferedWriter(new FileWriter(id + ".winlist")); + writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(id + ".winlist"), ServerConfig.ENCODING)); for (Score score : scores) { Modified: jetrix/branches/0.2.x/src/java/net/jetrix/winlist/TetrixWinlist.java =================================================================== --- jetrix/branches/0.2.x/src/java/net/jetrix/winlist/TetrixWinlist.java 2009-09-13 21:35:55 UTC (rev 812) +++ jetrix/branches/0.2.x/src/java/net/jetrix/winlist/TetrixWinlist.java 2009-09-13 22:00:05 UTC (rev 813) @@ -134,7 +134,7 @@ /** * Build a tetrix winlist structure from a score. */ - protected byte[] buildStruct(Score score) + protected byte[] buildStruct(Score score) throws IOException { byte[] struct = new byte[STRUCT_SIZE]; @@ -144,7 +144,7 @@ struct[0] = score.getType() == Score.TYPE_PLAYER ? (byte) 'p' : (byte) 't'; // name - byte[] name = score.getName().getBytes(); + byte[] name = score.getName().getBytes(ServerConfig.ENCODING); for (int i = 0; i < name.length; i++) { struct[i + 1] = name[i]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-09-13 21:36:04
|
Revision: 812 http://jetrix.svn.sourceforge.net/jetrix/?rev=812&view=rev Author: smanux Date: 2009-09-13 21:35:55 +0000 (Sun, 13 Sep 2009) Log Message: ----------- Fixed the encoding inconsistency with the winlist and log files (thanks to Dmitry V.) Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/LogManager.java jetrix/trunk/src/java/net/jetrix/winlist/SimpleWinlist.java jetrix/trunk/src/java/net/jetrix/winlist/TetrixWinlist.java Modified: jetrix/trunk/src/java/net/jetrix/LogManager.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/LogManager.java 2009-06-26 17:59:06 UTC (rev 811) +++ jetrix/trunk/src/java/net/jetrix/LogManager.java 2009-09-13 21:35:55 UTC (rev 812) @@ -66,6 +66,7 @@ FileHandler fileHandler = new FileHandler(config.getAccessLogPath(), 1000000, 10); fileHandler.setLevel(Level.CONFIG); + fileHandler.setEncoding(ServerConfig.ENCODING); log.addHandler(fileHandler); fileHandler.setFormatter(new TimestampFormatter("yyyy-MM-dd HH:mm:ss", false)); } Modified: jetrix/trunk/src/java/net/jetrix/winlist/SimpleWinlist.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/winlist/SimpleWinlist.java 2009-06-26 17:59:06 UTC (rev 811) +++ jetrix/trunk/src/java/net/jetrix/winlist/SimpleWinlist.java 2009-09-13 21:35:55 UTC (rev 812) @@ -98,7 +98,7 @@ int i = scores.indexOf(example); if (i != -1) { - score = (Score) scores.get(i); + score = scores.get(i); } return score; @@ -234,8 +234,8 @@ { try { - reader = new BufferedReader(new FileReader(file)); - String line = null; + reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), ServerConfig.ENCODING)); + String line; while ((line = reader.readLine()) != null) { String[] fields = line.split("\t"); @@ -271,7 +271,7 @@ File file = new File(id + ".winlist"); try { - writer = new BufferedWriter(new FileWriter(file)); + writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file), ServerConfig.ENCODING)); for (Score score : scores) { Modified: jetrix/trunk/src/java/net/jetrix/winlist/TetrixWinlist.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/winlist/TetrixWinlist.java 2009-06-26 17:59:06 UTC (rev 811) +++ jetrix/trunk/src/java/net/jetrix/winlist/TetrixWinlist.java 2009-09-13 21:35:55 UTC (rev 812) @@ -98,7 +98,7 @@ Score score = null; if (i < scores.size()) { - score = (Score) scores.get(i); + score = scores.get(i); } byte[] struct = buildStruct(score); @@ -142,7 +142,7 @@ /** * Build a tetrix winlist structure from a score. */ - protected byte[] buildStruct(Score score) + protected byte[] buildStruct(Score score) throws IOException { byte[] struct = new byte[STRUCT_SIZE]; @@ -152,11 +152,8 @@ struct[0] = score.getType() == Score.TYPE_PLAYER ? (byte) 'p' : (byte) 't'; // name - byte[] name = score.getName().getBytes(); - for (int i = 0; i < name.length; i++) - { - struct[i + 1] = name[i]; - } + byte[] name = score.getName().getBytes(ServerConfig.ENCODING); + System.arraycopy(name, 0, struct, 1, name.length); // score struct[35] = (byte) ((score.getScore() >> 24) % 256); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-06-26 18:00:15
|
Revision: 811 http://jetrix.svn.sourceforge.net/jetrix/?rev=811&view=rev Author: smanux Date: 2009-06-26 17:59:06 +0000 (Fri, 26 Jun 2009) Log Message: ----------- Minor syntax change Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/Language.java Modified: jetrix/trunk/src/java/net/jetrix/Language.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/Language.java 2009-06-17 18:44:19 UTC (rev 810) +++ jetrix/trunk/src/java/net/jetrix/Language.java 2009-06-26 17:59:06 UTC (rev 811) @@ -94,11 +94,9 @@ { Collection<Locale> locales = new ArrayList<Locale>(); - String[] languages = Locale.getISOLanguages(); - - for (int i = 0; i < languages.length; i++) + for (String language : Locale.getISOLanguages()) { - Locale locale = new Locale(languages[i]); + Locale locale = new Locale(language); if (isSupported(locale)) { locales.add(locale); @@ -116,7 +114,6 @@ */ public static String getText(String key, Locale locale) { - String text = null; try { ResourceBundle bundle = instance.getResourceBundle(locale); @@ -124,14 +121,13 @@ { bundle = instance.load(locale); } - text = bundle.getString(key); + + return bundle.getString(key); } catch (Exception e) { - text = "[" + locale + ":" + key + "]"; + return "[" + locale + ":" + key + "]"; } - - return text; } /** This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-06-17 18:47:03
|
Revision: 810 http://jetrix.svn.sourceforge.net/jetrix/?rev=810&view=rev Author: smanux Date: 2009-06-17 18:44:19 +0000 (Wed, 17 Jun 2009) Log Message: ----------- Updated the portuguese translation (Thanks to Luminoso) Modified Paths: -------------- jetrix/trunk/src/lang/jetrix_pt.properties Modified: jetrix/trunk/src/lang/jetrix_pt.properties =================================================================== --- jetrix/trunk/src/lang/jetrix_pt.properties 2009-03-30 15:29:22 UTC (rev 809) +++ jetrix/trunk/src/lang/jetrix_pt.properties 2009-06-17 18:44:19 UTC (rev 810) @@ -3,6 +3,7 @@ # # @author V\xEDtor Melo # @author "Scooter" (Tetridome player) +# @author "Luminoso" <lum...@gm...> # @version $Revision$, $Date$ channel.welcome=<gray>Ol\xE1 {0}, voc\xEA est\xE1 no canal <b>{1}</b> @@ -27,8 +28,15 @@ channel.team.new=<brown>*** <b>{0}</b> est\xE1 agora no Time <b>{1}</b> channel.team.none=<brown>*** <b>{0}</b> est\xE1 agora Sozinho +server.user-online=<darkBlue><red>{0}</red> {1} e <red>{2}</red> {3} est\xE1 neste momento online. +server.users-online=<darkBlue><red>{0}</red> {1} e <red>{2}</red> {3} est\xE3o neste momento online. + common.yes=sim common.no=n\xE3o +common.player=jogador +common.players=jogadores +common.spectator=espectador +common.spectators=espectadores command.not_implemented=[darkBlue]{0} ainda n\xE3o est\xE1 completo command.invalid=<red>Comando inv\xE1lido @@ -203,6 +211,9 @@ filter.flood.blocked=<red>Flood bloqueado do jogador <b>{0} +filter.puzzle.announce=<b><brown>N\xEDvel <aqua>{0}</aqua> : <purple>"{1}"</purple> <i>Desenhado por</i> <aqua>{2}</aqua>. +filter.puzzle.cleared=<b><red>Parab\xE9ns! Puzzle completo! + filter.tetris.start_message=O primeiro jogador que completar {0} tetris vence! filter.tetris.lead={0} lidera com {1} tetris filter.tetris.tied={0} est\xE1 empate com o l\xEDder com {1} tetris This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-03-30 15:29:33
|
Revision: 809 http://jetrix.svn.sourceforge.net/jetrix/?rev=809&view=rev Author: smanux Date: 2009-03-30 15:29:22 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Updated the GeoIP database Modified Paths: -------------- monitor/trunk/src/main/resources/GeoIP.dat Modified: monitor/trunk/src/main/resources/GeoIP.dat =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-03-30 15:28:56
|
Revision: 808 http://jetrix.svn.sourceforge.net/jetrix/?rev=808&view=rev Author: smanux Date: 2009-03-30 15:28:42 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Implemented the check on the server aliases on adding a new server Modified Paths: -------------- monitor/trunk/src/main/java/net/jetrix/monitor/dao/ServerInfoDao.java monitor/trunk/src/main/webapp/server-add.jsp monitor/trunk/src/test/java/net/jetrix/monitor/dao/ServerInfoDaoTest.java Modified: monitor/trunk/src/main/java/net/jetrix/monitor/dao/ServerInfoDao.java =================================================================== --- monitor/trunk/src/main/java/net/jetrix/monitor/dao/ServerInfoDao.java 2009-03-30 14:49:23 UTC (rev 807) +++ monitor/trunk/src/main/java/net/jetrix/monitor/dao/ServerInfoDao.java 2009-03-30 15:28:42 UTC (rev 808) @@ -68,7 +68,7 @@ */ public boolean exists(ServerInfo server) { - Query query = getSession().createQuery("FROM ServerInfo WHERE IP = :ip OR hostname = :name"); + Query query = getSession().createQuery("FROM ServerInfo WHERE IP = :ip OR hostname = :name OR :ip IN elements(aliases)"); query.setParameter("ip", server.getIP()); query.setParameter("name", server.getHostname()); List result = query.list(); Modified: monitor/trunk/src/main/webapp/server-add.jsp =================================================================== --- monitor/trunk/src/main/webapp/server-add.jsp 2009-03-30 14:49:23 UTC (rev 807) +++ monitor/trunk/src/main/webapp/server-add.jsp 2009-03-30 15:28:42 UTC (rev 808) @@ -11,11 +11,10 @@ <% String hostname = request.getParameter("hostname"); - InetAddress address = null; try { // lookup the IP - address = InetAddress.getByName(hostname); + InetAddress address = InetAddress.getByName(hostname); WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); ServerInfoDao dao = (ServerInfoDao) context.getBean("serverInfoDao"); Modified: monitor/trunk/src/test/java/net/jetrix/monitor/dao/ServerInfoDaoTest.java =================================================================== --- monitor/trunk/src/test/java/net/jetrix/monitor/dao/ServerInfoDaoTest.java 2009-03-30 14:49:23 UTC (rev 807) +++ monitor/trunk/src/test/java/net/jetrix/monitor/dao/ServerInfoDaoTest.java 2009-03-30 15:28:42 UTC (rev 808) @@ -36,4 +36,12 @@ assertNotNull("server 1 not found", server); } + + public void testExists() throws Exception + { + ServerInfo server = dao.getServer(1); + + assertNotNull("server 1 not found", server); + assertTrue("server 1 doesn't not exist", dao.exists(server)); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-03-30 14:49:33
|
Revision: 807 http://jetrix.svn.sourceforge.net/jetrix/?rev=807&view=rev Author: smanux Date: 2009-03-30 14:49:23 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Added an XML data sheet for each server Modified Paths: -------------- monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties monitor/trunk/src/main/webapp/WEB-INF/web.xml monitor/trunk/src/main/webapp/index.jsp monitor/trunk/src/main/webapp/server.jsp monitor/trunk/src/main/webapp/stylesheets/style.css Added Paths: ----------- monitor/trunk/src/main/webapp/images/xml.png monitor/trunk/src/main/webapp/robots.txt monitor/trunk/src/main/webapp/server-xml.jsp Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties 2009-03-30 10:25:07 UTC (rev 806) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties 2009-03-30 14:49:23 UTC (rev 807) @@ -4,6 +4,7 @@ word.players = Players word.channel = Channel word.channels = Channels +word.datasheet = Data Sheet word.version = Version word.team = Team word.nick = Nick Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties 2009-03-30 10:25:07 UTC (rev 806) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties 2009-03-30 14:49:23 UTC (rev 807) @@ -4,6 +4,7 @@ word.players = Joueurs word.channel = Channel word.channels = Channels +word.datasheet = Feuille de donn\xE9es word.version = Version word.team = \xC9quipe word.nick = Pseudo Modified: monitor/trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/web.xml 2009-03-30 10:25:07 UTC (rev 806) +++ monitor/trunk/src/main/webapp/WEB-INF/web.xml 2009-03-30 14:49:23 UTC (rev 807) @@ -26,6 +26,11 @@ <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> + <filter-mapping> + <filter-name>hibernateFilter</filter-name> + <url-pattern>/*</url-pattern> + </filter-mapping> + <servlet> <servlet-name>servers-xml</servlet-name> <jsp-file>/servers-xml.jsp</jsp-file> @@ -36,11 +41,16 @@ <url-pattern>/servers.xml</url-pattern> </servlet-mapping> - <filter-mapping> - <filter-name>hibernateFilter</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping> + <servlet> + <servlet-name>server-xml</servlet-name> + <jsp-file>/server-xml.jsp</jsp-file> + </servlet> + <servlet-mapping> + <servlet-name>server-xml</servlet-name> + <url-pattern>/server.xml</url-pattern> + </servlet-mapping> + <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> Added: monitor/trunk/src/main/webapp/images/xml.png =================================================================== (Binary files differ) Property changes on: monitor/trunk/src/main/webapp/images/xml.png ___________________________________________________________________ Added: svn:mime-type + image/png Modified: monitor/trunk/src/main/webapp/index.jsp =================================================================== --- monitor/trunk/src/main/webapp/index.jsp 2009-03-30 10:25:07 UTC (rev 806) +++ monitor/trunk/src/main/webapp/index.jsp 2009-03-30 14:49:23 UTC (rev 807) @@ -34,6 +34,7 @@ <title><fmt:message key="title.servers"/></title> <link rel="stylesheet" type="text/css" href="stylesheets/style.css"> <link rel="Shorcut Icon" href="favicon.ico"> + <link rel="alternate" type="text/xml" title="Servers XML summary" href="servers.xml"> <script type="text/javascript" src="scripts/sortable.js"></script> </head> <body> Property changes on: monitor/trunk/src/main/webapp/robots.txt ___________________________________________________________________ Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Added: monitor/trunk/src/main/webapp/server-xml.jsp =================================================================== --- monitor/trunk/src/main/webapp/server-xml.jsp (rev 0) +++ monitor/trunk/src/main/webapp/server-xml.jsp 2009-03-30 14:49:23 UTC (rev 807) @@ -0,0 +1,67 @@ +<?xml version="1.0"?> +<%@ page import="java.util.Locale" %> +<%@ page import="org.springframework.web.context.WebApplicationContext" %> +<%@ page import="org.springframework.web.context.ContextLoader" %> +<%@ page import="org.apache.commons.lang.StringEscapeUtils" %> +<%@ page import="net.jetrix.monitor.ServerInfo" %> +<%@ page import="net.jetrix.monitor.dao.ServerInfoDao" %> +<%@ page import="net.jetrix.agent.ChannelInfo" %> +<%@ page import="net.jetrix.agent.PlayerInfo" %> +<%@ page contentType="text/xml" pageEncoding="UTF-8" %> +<% + WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); + ServerInfoDao dao = (ServerInfoDao) context.getBean("serverInfoDao"); + + ServerInfo server = dao.getServer(Long.parseLong(request.getParameter("id"))); + + String countryName = "Unknown"; + String localizedCountryName = "Unknown"; + String countryFlag = "United Nations"; + + if (server.getCountry() != null) { + Locale locale = new Locale("en", server.getCountry()); + countryName = locale.getDisplayCountry(Locale.ENGLISH); + localizedCountryName = locale.getDisplayCountry(request.getLocale()); + countryFlag = countryName; + } + + boolean viewable = server.isSpectate() && server.getSpectatorPassword() != null; +%> +<tetrinet-server + id="<%= server.getId() %>" + name="<%= server.getHostname() %>" +<% if (server.getVersion() != null) { %> + version="<%= StringEscapeUtils.escapeXml(server.getVersion()) %>" +<% } %> +<% if (server.getDescription() != null) { %> + description="<%= StringEscapeUtils.escapeXml(server.getDescription()) %>" +<% } %> + spec="<%= server.isSpectate() ? "true" : "false" %>" +<% if (server.getCountry() != null) { + Locale locale = new Locale("en", server.getCountry()); +%> + country="<%= server.getCountry() %>" + countryName="<%= locale.getDisplayCountry(Locale.ENGLISH) %>" +<% } %> + ping="<%= server.getStats().getPing() %>" + players="<%= server.getStats().getPlayerCount() %>" + activePlayers="<%= server.getStats().getActivePlayerCount() %>" + channels="<%= server.getStats().getChannelCount() %>" + activeChannels="<%= server.getStats().getActiveChannelCount() %>"> + +<% if (!server.getChannels().isEmpty()) { %> + <channels> +<% for (ChannelInfo channel : server.getChannels()) { %> + <channel name="<%= StringEscapeUtils.escapeXml(channel.getName()) %>" description="<%= StringEscapeUtils.escapeXml(channel.getDescription()) %>" status="<%= channel.getStatus() %>" players="<%= channel.getPlayernum() %>" max-players="<%= channel.getPlayermax() %>"/> +<% } %> + </channels> +<% } %> + +<% if (!server.getPlayers().isEmpty()) { %> + <players> +<% for (PlayerInfo player : server.getPlayers()) { %> + <player name="<%= StringEscapeUtils.escapeXml(player.getNick()) %>" team="<%= StringEscapeUtils.escapeXml(player.getTeam()) %>" channel="<%= StringEscapeUtils.escapeXml(player.getChannel()) %>" status="<%= player.getStatus() %>" slot="<%= player.getSlot() %>" auth="<%= player.getAuthenticationLevel() %>" client="<%= StringEscapeUtils.escapeXml(player.getVersion()) %>"/> +<% } %> + </players> +<% } %> +</tetrinet-server> Property changes on: monitor/trunk/src/main/webapp/server-xml.jsp ___________________________________________________________________ Added: svn:keywords + Date Author Id Revision HeadURL Added: svn:eol-style + native Modified: monitor/trunk/src/main/webapp/server.jsp =================================================================== --- monitor/trunk/src/main/webapp/server.jsp 2009-03-30 10:25:07 UTC (rev 806) +++ monitor/trunk/src/main/webapp/server.jsp 2009-03-30 14:49:23 UTC (rev 807) @@ -8,6 +8,7 @@ <%@ page import="net.jetrix.monitor.dao.ServerInfoDao" %> <%@ page import="net.jetrix.monitor.StyleUtils" %> <%@ page import="java.net.URLEncoder" %> +<%@ page import="org.apache.commons.lang.StringEscapeUtils" %> <% WebApplicationContext context = ContextLoader.getCurrentWebApplicationContext(); ServerInfoDao dao = (ServerInfoDao) context.getBean("serverInfoDao"); @@ -37,6 +38,7 @@ </title> <link rel="stylesheet" type="text/css" href="stylesheets/style.css"> <link rel="Shorcut Icon" href="favicon.ico"> + <link rel="alternate" type="text/xml" title="<%= StringEscapeUtils.escapeHtml(server.getHostname()) %> XML data sheet" href="server.xml?id=<%= server.getId() %>"> <script type="text/javascript" src="scripts/sortable.js"></script> </head> <body> @@ -223,5 +225,11 @@ <% } %> +<hr> + +<div align="right"> + <a href="server.xml?id=<%= server.getId() %>" class="datasheet"><fmt:message key="word.datasheet"/></a> +</div> + </body> </html> Modified: monitor/trunk/src/main/webapp/stylesheets/style.css =================================================================== --- monitor/trunk/src/main/webapp/stylesheets/style.css 2009-03-30 10:25:07 UTC (rev 806) +++ monitor/trunk/src/main/webapp/stylesheets/style.css 2009-03-30 14:49:23 UTC (rev 807) @@ -36,3 +36,10 @@ .sortarrow { display: none; } + +a.datasheet { + background-image: url("../images/xml.png"); + background-repeat: no-repeat; + padding-left: 40px; + text-decoration: none; +} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-03-30 10:25:11
|
Revision: 806 http://jetrix.svn.sourceforge.net/jetrix/?rev=806&view=rev Author: smanux Date: 2009-03-30 10:25:07 +0000 (Mon, 30 Mar 2009) Log Message: ----------- Changed the URL of the servers XML file (servers-xml.jsp -> servers.xml) Modified Paths: -------------- monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties monitor/trunk/src/main/webapp/WEB-INF/web.xml Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties 2009-02-25 22:36:44 UTC (rev 805) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/messages.properties 2009-03-30 10:25:07 UTC (rev 806) @@ -33,7 +33,7 @@ word.ingame = INGAME word.activity-graph = Activity Graph -message.intro = This is a list of the public TetriNET servers. The list is refreshed every {0} minutes. Feel free to add your favorite server if it's not in the list. This list is also available in <a href="servers-xml.jsp">XML</a> and can be freely integrated with an application or a website. Feedback and suggestions can be mailed to <a href="mailto:{1}">{1}</a>. +message.intro = This is a list of the public TetriNET servers. The list is refreshed every {0} minutes. Feel free to add your favorite server if it's not in the list. This list is also available in <a href="servers.xml">XML</a> and can be freely integrated with an application or a website. Feedback and suggestions can be mailed to <a href="mailto:{1}">{1}</a>. message.global-status = There are currently <b>{0}</b> players online on <b>{1}</b> servers. message.last-checked = The servers were last checked on {0}. message.add-server = Add a new server Modified: monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties 2009-02-25 22:36:44 UTC (rev 805) +++ monitor/trunk/src/main/webapp/WEB-INF/classes/messages_fr.properties 2009-03-30 10:25:07 UTC (rev 806) @@ -33,7 +33,7 @@ word.ingame = EN COURS word.activity-graph = Graphique d'activit\xE9 -message.intro = Voici la liste des serveurs TetriNET publics. Cette liste est actualis\xE9e toutes les {0} minutes. N''h\xE9sitez pas \xE0 ajouter votre serveur pr\xE9f\xE9r\xE9 s''il n''apparait pas dans la liste. Cette liste est \xE9galement disponible au format <a href="servers-xml.jsp">XML</a> et peut \xEAtre librement int\xE9gr\xE9e dans une application ou un site internet. Envoyez vos commentaires et suggestions \xE0 <a href="mailto:{1}">{1}</a>. +message.intro = Voici la liste des serveurs TetriNET publics. Cette liste est actualis\xE9e toutes les {0} minutes. N''h\xE9sitez pas \xE0 ajouter votre serveur pr\xE9f\xE9r\xE9 s''il n''apparait pas dans la liste. Cette liste est \xE9galement disponible au format <a href="servers.xml">XML</a> et peut \xEAtre librement int\xE9gr\xE9e dans une application ou un site internet. Envoyez vos commentaires et suggestions \xE0 <a href="mailto:{1}">{1}</a>. message.global-status = Il y a actuellement <b>{0}</b> joueurs en ligne sur <b>{1}</b> serveurs. message.last-checked = Les serveurs ont \xE9t\xE9 v\xE9rifi\xE9s pour la derni\xE8re fois le {0}. message.add-server = Ajouter un serveur Modified: monitor/trunk/src/main/webapp/WEB-INF/web.xml =================================================================== --- monitor/trunk/src/main/webapp/WEB-INF/web.xml 2009-02-25 22:36:44 UTC (rev 805) +++ monitor/trunk/src/main/webapp/WEB-INF/web.xml 2009-03-30 10:25:07 UTC (rev 806) @@ -26,6 +26,16 @@ <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </filter> + <servlet> + <servlet-name>servers-xml</servlet-name> + <jsp-file>/servers-xml.jsp</jsp-file> + </servlet> + + <servlet-mapping> + <servlet-name>servers-xml</servlet-name> + <url-pattern>/servers.xml</url-pattern> + </servlet-mapping> + <filter-mapping> <filter-name>hibernateFilter</filter-name> <url-pattern>/*</url-pattern> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-02-25 23:32:17
|
Revision: 804 http://jetrix.svn.sourceforge.net/jetrix/?rev=804&view=rev Author: smanux Date: 2009-02-25 21:54:38 +0000 (Wed, 25 Feb 2009) Log Message: ----------- Changed the path of the icons in the main jar Modified Paths: -------------- jetrix/trunk/build.xml jetrix/trunk/src/java/net/jetrix/SystrayManager.java Modified: jetrix/trunk/build.xml =================================================================== --- jetrix/trunk/build.xml 2009-02-25 21:22:12 UTC (rev 803) +++ jetrix/trunk/build.xml 2009-02-25 21:54:38 UTC (rev 804) @@ -104,11 +104,9 @@ <fileset dir="${src}/etc"> <include name="tetrinet-server.dtd"/> <include name="tetrinet-channels.dtd"/> + <include name="icons/jetrix-16x16.png"/> + <include name="icons/jetrix-32x32.png"/> </fileset> - <fileset dir="${src}/etc/icons"> - <include name="jetrix-16x16.png"/> - <include name="jetrix-32x32.png"/> - </fileset> </jar> <!-- Create the Launcher JAR --> Modified: jetrix/trunk/src/java/net/jetrix/SystrayManager.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/SystrayManager.java 2009-02-25 21:22:12 UTC (rev 803) +++ jetrix/trunk/src/java/net/jetrix/SystrayManager.java 2009-02-25 21:54:38 UTC (rev 804) @@ -105,7 +105,7 @@ String osname = System.getProperty("os.name"); String iconname = osname.contains("Linux") ? "jetrix-32x32.png" : "jetrix-16x16.png"; ClassLoader loader = Thread.currentThread().getContextClassLoader(); - Image icon = new ImageIcon(loader.getResource(iconname)).getImage(); + Image icon = new ImageIcon(loader.getResource("icons/" + iconname)).getImage(); trayIcon = new TrayIcon(icon, TITLE, menu); trayIcon.setImageAutoSize(true); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-02-25 23:19:20
|
Revision: 805 http://jetrix.svn.sourceforge.net/jetrix/?rev=805&view=rev Author: smanux Date: 2009-02-25 22:36:44 +0000 (Wed, 25 Feb 2009) Log Message: ----------- Moved the web admin to port 31460 Fixed a NPE in HttpListener.isRunning() Modified Paths: -------------- jetrix/trunk/doc/changelog.txt jetrix/trunk/src/etc/conf/server.xml jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java jetrix/trunk/src/site/faq.php jetrix/trunk/src/site/user-guide.php Modified: jetrix/trunk/doc/changelog.txt =================================================================== --- jetrix/trunk/doc/changelog.txt 2009-02-25 21:54:38 UTC (rev 804) +++ jetrix/trunk/doc/changelog.txt 2009-02-25 22:36:44 UTC (rev 805) @@ -18,6 +18,7 @@ - Added a visibility parameter on channels, it's now possible to have an invisible channel on the /list result - Channels can now be created from the administration console - The IP of the server is no longer submitted to tfast.org since the site is dead +- The web administration console has been moved from port 8080 to port 31460 Developer visible changes - added a readLine(Reader) method in the Protocol interface Modified: jetrix/trunk/src/etc/conf/server.xml =================================================================== --- jetrix/trunk/src/etc/conf/server.xml 2009-02-25 21:54:38 UTC (rev 804) +++ jetrix/trunk/src/etc/conf/server.xml 2009-02-25 22:36:44 UTC (rev 805) @@ -41,7 +41,7 @@ <listener class="net.jetrix.listeners.TetrinetListener"/> <listener class="net.jetrix.listeners.TSpecListener"/> <listener class="net.jetrix.listeners.IRCListener" port="31456" auto-start="false"/> - <listener class="net.jetrix.listeners.HttpListener" port="8080"/> + <listener class="net.jetrix.listeners.HttpListener" port="31460"/> </listeners> <!-- Services --> Modified: jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java 2009-02-25 21:54:38 UTC (rev 804) +++ jetrix/trunk/src/java/net/jetrix/listeners/HttpListener.java 2009-02-25 22:36:44 UTC (rev 805) @@ -39,7 +39,7 @@ private org.mortbay.jetty.Server jetty; private Logger log = Logger.getLogger("net.jetrix"); private boolean initialized; - private int port = 8080; + private int port = 31460; public HttpListener() { @@ -87,39 +87,45 @@ public void start() { - try + if (!isRunning()) { - if (!initialized) + try { - init(); - initialized = true; + if (!initialized) + { + init(); + initialized = true; + } + jetty.start(); + log.info("Web administration console started on port " + getPort()); } - jetty.start(); - log.info("Web administration console started on port " + getPort()); + catch (MultiException e) + { + log.log(Level.SEVERE, "Unable to start the Web administration console on port " + getPort(), e); + } } - catch (MultiException e) - { - log.log(Level.SEVERE, "Unable to start the Web administration console on port " + getPort(), e); - } } public void stop() { - try + if (isRunning()) { - jetty.stop(); - log.info("Web administration console stopped"); + try + { + jetty.stop(); + log.info("Web administration console stopped"); + } + catch (InterruptedException e) + { + e.printStackTrace(); + } } - catch (InterruptedException e) - { - e.printStackTrace(); - } } public void run() { } public boolean isRunning() { - return jetty.isStarted(); + return jetty != null && jetty.isStarted(); } } Modified: jetrix/trunk/src/site/faq.php =================================================================== --- jetrix/trunk/src/site/faq.php 2009-02-25 21:54:38 UTC (rev 804) +++ jetrix/trunk/src/site/faq.php 2009-02-25 22:36:44 UTC (rev 805) @@ -7,9 +7,9 @@ <h3>How do I log on the administration console?</h3> -<p>Open your browser and go to your server on the 8080 port:</p> +<p>Open your browser and go to your server on the 31460 port:</p> -<code>http://tetrinet.yourhostname.net:8080</code> +<code>http://tetrinet.yourhostname.net:31460</code> <p>A username and a password are requested, type <tt>admin</tt>, as username, and use the administrator password defined in the <tt>server.xml</tt> file. The Modified: jetrix/trunk/src/site/user-guide.php =================================================================== --- jetrix/trunk/src/site/user-guide.php 2009-02-25 21:54:38 UTC (rev 804) +++ jetrix/trunk/src/site/user-guide.php 2009-02-25 22:36:44 UTC (rev 805) @@ -126,7 +126,7 @@ <listener class="net.jetrix.listeners.TetrinetListener"/> <listener class="net.jetrix.listeners.TSpecListener"/> <listener class="net.jetrix.listeners.IRCListener" port="31456"/> - <listener class="net.jetrix.listeners.HttpListener" port="8080"/> + <listener class="net.jetrix.listeners.HttpListener" port="31460"/> </listeners> </div> @@ -148,7 +148,7 @@ <p>An administration console is integrated to Jetrix, you can use it with any modern browser to change most of the configuration without restarting the -server. The console is available on the port 8080 of your server. You'll be +server. The console is available on the port 31460 of your server. You'll be prompted for a username and a password, just type in <tt>admin</tt> and the administrator password to enter (<tt>adminpass</tt> by default).</p> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-02-25 21:22:21
|
Revision: 803 http://jetrix.svn.sourceforge.net/jetrix/?rev=803&view=rev Author: smanux Date: 2009-02-25 21:22:12 +0000 (Wed, 25 Feb 2009) Log Message: ----------- Changed the /random command to accept also a single parameter Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/commands/RandomCommand.java Modified: jetrix/trunk/src/java/net/jetrix/commands/RandomCommand.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/commands/RandomCommand.java 2009-02-25 21:09:33 UTC (rev 802) +++ jetrix/trunk/src/java/net/jetrix/commands/RandomCommand.java 2009-02-25 21:22:12 UTC (rev 803) @@ -62,6 +62,10 @@ min = min(a, b); max = max(a, b); } + else if (m.getParameterCount() == 1) + { + max = Math.max(min, m.getIntParameter(0, max)); + } int result = random.nextInt(abs(max - min) + 1); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-02-25 21:09:38
|
Revision: 802 http://jetrix.svn.sourceforge.net/jetrix/?rev=802&view=rev Author: smanux Date: 2009-02-25 21:09:33 +0000 (Wed, 25 Feb 2009) Log Message: ----------- Minor build update Modified Paths: -------------- jetrix/branches/0.2.x/build.xml jetrix/branches/0.2.x/project.properties jetrix/branches/0.2.x/project.xml Modified: jetrix/branches/0.2.x/build.xml =================================================================== --- jetrix/branches/0.2.x/build.xml 2009-02-18 18:50:23 UTC (rev 801) +++ jetrix/branches/0.2.x/build.xml 2009-02-25 21:09:33 UTC (rev 802) @@ -285,12 +285,12 @@ </copy> <copy file="${src}/etc/icons/jetrix.ico" todir="${build}/bin"/> - <exec executable="C:\Program Files\NSIS\makensis.exe"> + <exec executable="C:\Program Files\NSIS-2.0.4\makensis.exe"> <arg line="${build}/bin/launcher.nsi"/> </exec> <!-- Build the installer --> - <exec executable="C:\Program Files\NSIS\makensis.exe"> + <exec executable="C:\Program Files\NSIS-2.0.4\makensis.exe"> <arg line="${build}/bin/installer.nsi"/> </exec> <move file="${build}/bin/jetrix-${version}-installer.exe" todir="${dist}/bin"/> @@ -346,7 +346,7 @@ </java> </target> - <target name="update" depends="deploy" description="Uploads Jetrix to the patch server"> + <target name="update" description="Uploads Jetrix to the patch server"> <!-- Installing --> <delete dir="${deploy}"/> <mkdir dir="${deploy}"/> Modified: jetrix/branches/0.2.x/project.properties =================================================================== --- jetrix/branches/0.2.x/project.properties 2009-02-18 18:50:23 UTC (rev 801) +++ jetrix/branches/0.2.x/project.properties 2009-02-25 21:09:33 UTC (rev 802) @@ -19,3 +19,5 @@ maven.compile.target = 1.5 maven.clover.license.path=src/etc/clover.license + +maven.repo.remote=http://repo1.maven.org/maven Modified: jetrix/branches/0.2.x/project.xml =================================================================== --- jetrix/branches/0.2.x/project.xml 2009-02-18 18:50:23 UTC (rev 801) +++ jetrix/branches/0.2.x/project.xml 2009-02-25 21:09:33 UTC (rev 802) @@ -147,7 +147,7 @@ <dependency> <id>commons-beanutils</id> - <version>1.7-dev</version> + <version>1.7.0</version> </dependency> <dependency> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sm...@us...> - 2009-02-18 18:50:26
|
Revision: 801 http://jetrix.svn.sourceforge.net/jetrix/?rev=801&view=rev Author: smanux Date: 2009-02-18 18:50:23 +0000 (Wed, 18 Feb 2009) Log Message: ----------- Added JavaMail to the dependencies Modified Paths: -------------- jetrix/trunk/pom.xml Modified: jetrix/trunk/pom.xml =================================================================== --- jetrix/trunk/pom.xml 2009-02-18 18:26:28 UTC (rev 800) +++ jetrix/trunk/pom.xml 2009-02-18 18:50:23 UTC (rev 801) @@ -142,6 +142,12 @@ <optional>true</optional> </dependency> + <dependency> + <groupId>javax.mail</groupId> + <artifactId>mail</artifactId> + <version>1.4.1</version> + </dependency> + <!-- Needed for testing --> <dependency> <groupId>junit</groupId> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |