package ring.server.telnet; import java.io.IOException; import java.io.InputStream; import java.util.Properties; import net.wimpi.telnetd.BootException; import net.wimpi.telnetd.TelnetD; import org.apache.log4j.ConsoleAppender; import org.apache.log4j.Logger; import org.apache.log4j.PatternLayout; import org.apache.log4j.Level; import ring.daemons.Daemon; import ring.system.MUDConfig; /** * A daemon that is a basic Telnet server for players to * communicate with the MUD. * @author projectmoon * */ public class TelnetServer implements Daemon { private TelnetD telnet; @Override public void start() throws IOException { Properties props = new Properties(); InputStream input = this.getClass().getClassLoader().getResourceAsStream("ring/server/resources/telnet.properties"); props.load(input); //Replace whatever port is defined in the regular telnet properties with the one from mud.config props.setProperty("std.port", String.valueOf(MUDConfig.getServerPort())); Logger root = Logger.getRootLogger(); root.addAppender(new ConsoleAppender( new PatternLayout(PatternLayout.TTCC_CONVERSION_PATTERN))); root.setLevel(Level.INFO); try { telnet = TelnetD.createTelnetD(props); telnet.start(); } catch (BootException e) { e.printStackTrace(); } } @Override public void stop() { telnet.stop(); } @Override public void halt() { telnet.stop(); } }