Advertisement
Guest User

Untitled

a guest
May 14th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.68 KB | None | 0 0
  1. package servers;
  2.  
  3. import java.io.FileReader;
  4. import java.net.InetSocketAddress;
  5. import java.util.HashMap;
  6. import java.util.Hashtable;
  7. import java.util.Map;
  8. import java.util.Properties;
  9. import org.apache.mina.common.ByteBuffer;
  10. import org.apache.mina.common.IoAcceptor;
  11. import org.apache.mina.common.SimpleByteBufferAllocator;
  12. import org.apache.mina.filter.codec.ProtocolCodecFilter;
  13. import org.apache.mina.transport.socket.nio.SocketAcceptor;
  14. import org.apache.mina.transport.socket.nio.SocketAcceptorConfig;
  15.  
  16. import tools.Database;
  17.  
  18. /*
  19.   @author "Chris"
  20. */
  21. public class Login_Server implements Runnable {
  22.     private static int Port = 8484;
  23.  
  24.     private static Login_Server Instance = new Login_Server();
  25.     private static Map<Integer, Map<Integer, String>> Channels = new HashMap<Integer, Map<Integer, String>>();
  26.     private Hashtable[] Worlds = new Hashtable[8];
  27.     private IoAcceptor Acceptor;
  28.    
  29.     public static void main(String args[]) {
  30.         try {
  31.             Login_Server.getInstance().run();
  32.         } catch (Exception e) {
  33.             System.out.println("Login_Server Error - Line 27 [runnable.Login_Server] {Execution Failed}\r\n");
  34.         }
  35.     }
  36.    
  37.     @Override
  38.     public void run() {
  39.         try {
  40.             Properties Props = new Properties();
  41.             Props.load(new FileReader(System.getProperty("config")));
  42.  
  43.             Properties DBProps = new Properties();
  44.             DBProps.put("driver", Props.getProperty("mysql.driver", "com.mysql.jdbc.Driver"));
  45.             DBProps.put("host", Props.getProperty("mysql.host", "jdbc:mysql://localhost:3306/kryptodev"));
  46.             DBProps.put("user", Props.getProperty("mysql.user", "root"));
  47.             DBProps.put("password", Props.getProperty("mysql.password", ""));
  48.             Database.SetProps(DBProps);
  49.             Database.GetConnection();
  50.  
  51.             for (int i = 0; i < Integer.parseInt(Props.getProperty("server.worlds")); i++) {
  52.                 Channels.put(i, new HashMap<Integer, String>());
  53.                 Worlds[i].put("Event_Message", Props.getProperty("server.worlds." + i + ".event_message", ""));
  54.                 Worlds[i].put("Flag", Props.getProperty("server.worlds." + i + ".flag", ""));
  55.             }
  56.         } catch (Exception e) {
  57.             throw new RuntimeException("", e);
  58.         }
  59.  
  60.         ByteBuffer.setUseDirectBuffers(false);
  61.         ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
  62.  
  63.         Acceptor = new SocketAcceptor();
  64.  
  65.         SocketAcceptorConfig SAConfig = new SocketAcceptorConfig();
  66.     SAConfig.getSessionConfig().setTcpNoDelay(true);
  67.         //SAConfig.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MapleCodecFactory()));
  68.  
  69.         try {
  70.             //Acceptor.bind(new InetSocketAddress(Port), new MapleServerHandler(PacketProcessor.getProcessor(PacketProcessor.Mode.LOGINSERVER)), SAConfig);
  71.         } catch (Exception e) { }
  72.     }
  73.  
  74.     public static Login_Server getInstance() {
  75.         return Instance;
  76.     }
  77.  
  78.     public String getEventMessage(int World) {
  79.         return (Worlds[World].contains("Event_Message")) ? Worlds[World].get("Event_Message").toString() : "";
  80.     }
  81.  
  82.     public int getFlag(int World) {
  83.         return (Worlds[World].contains("Flag")) ? Integer.parseInt(Worlds[World].get("Flag").toString()) : 0;
  84.     }
  85.  
  86.     public void setEventMessage(int World, String Value) {
  87.         if(Worlds[World].contains("Event_Message")) { Worlds[World].remove("Event_Message"); }
  88.         Worlds[World].put("Event_Message", Value);
  89.     }
  90.  
  91.     public void setFlag(int World, String Value) {
  92.         if(Worlds[World].contains("Flag")) { Worlds[World].remove("Flag"); }
  93.         Worlds[World].put("Flag", Value);
  94.     }
  95. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement