Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package servers;
- import java.io.FileReader;
- import java.net.InetSocketAddress;
- import java.util.HashMap;
- import java.util.Hashtable;
- import java.util.Map;
- import java.util.Properties;
- import org.apache.mina.common.ByteBuffer;
- import org.apache.mina.common.IoAcceptor;
- import org.apache.mina.common.SimpleByteBufferAllocator;
- import org.apache.mina.filter.codec.ProtocolCodecFilter;
- import org.apache.mina.transport.socket.nio.SocketAcceptor;
- import org.apache.mina.transport.socket.nio.SocketAcceptorConfig;
- import tools.Database;
- /*
- @author "Chris"
- */
- public class Login_Server implements Runnable {
- private static int Port = 8484;
- private static Login_Server Instance = new Login_Server();
- private static Map<Integer, Map<Integer, String>> Channels = new HashMap<Integer, Map<Integer, String>>();
- private Hashtable[] Worlds = new Hashtable[8];
- private IoAcceptor Acceptor;
- public static void main(String args[]) {
- try {
- Login_Server.getInstance().run();
- } catch (Exception e) {
- System.out.println("Login_Server Error - Line 27 [runnable.Login_Server] {Execution Failed}\r\n");
- }
- }
- @Override
- public void run() {
- try {
- Properties Props = new Properties();
- Props.load(new FileReader(System.getProperty("config")));
- Properties DBProps = new Properties();
- DBProps.put("driver", Props.getProperty("mysql.driver", "com.mysql.jdbc.Driver"));
- DBProps.put("host", Props.getProperty("mysql.host", "jdbc:mysql://localhost:3306/kryptodev"));
- DBProps.put("user", Props.getProperty("mysql.user", "root"));
- DBProps.put("password", Props.getProperty("mysql.password", ""));
- Database.SetProps(DBProps);
- Database.GetConnection();
- for (int i = 0; i < Integer.parseInt(Props.getProperty("server.worlds")); i++) {
- Channels.put(i, new HashMap<Integer, String>());
- Worlds[i].put("Event_Message", Props.getProperty("server.worlds." + i + ".event_message", ""));
- Worlds[i].put("Flag", Props.getProperty("server.worlds." + i + ".flag", ""));
- }
- } catch (Exception e) {
- throw new RuntimeException("", e);
- }
- ByteBuffer.setUseDirectBuffers(false);
- ByteBuffer.setAllocator(new SimpleByteBufferAllocator());
- Acceptor = new SocketAcceptor();
- SocketAcceptorConfig SAConfig = new SocketAcceptorConfig();
- SAConfig.getSessionConfig().setTcpNoDelay(true);
- //SAConfig.getFilterChain().addLast("codec", new ProtocolCodecFilter(new MapleCodecFactory()));
- try {
- //Acceptor.bind(new InetSocketAddress(Port), new MapleServerHandler(PacketProcessor.getProcessor(PacketProcessor.Mode.LOGINSERVER)), SAConfig);
- } catch (Exception e) { }
- }
- public static Login_Server getInstance() {
- return Instance;
- }
- public String getEventMessage(int World) {
- return (Worlds[World].contains("Event_Message")) ? Worlds[World].get("Event_Message").toString() : "";
- }
- public int getFlag(int World) {
- return (Worlds[World].contains("Flag")) ? Integer.parseInt(Worlds[World].get("Flag").toString()) : 0;
- }
- public void setEventMessage(int World, String Value) {
- if(Worlds[World].contains("Event_Message")) { Worlds[World].remove("Event_Message"); }
- Worlds[World].put("Event_Message", Value);
- }
- public void setFlag(int World, String Value) {
- if(Worlds[World].contains("Flag")) { Worlds[World].remove("Flag"); }
- Worlds[World].put("Flag", Value);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement