Exemplo n.º 1
0
 public static void Destroy()
 {
     Logging.WriteLine("Destroying PhoenixEmu environment...");
     if (GetGame() != null)
     {
         GetGame().Destroy();
         Game = null;
     }
     if (GetConnectionManager() != null)
     {
         Logging.WriteLine("Destroying connection manager.");
         GetConnectionManager().GetListener().Destroy();
         GetConnectionManager().DestroyManager();
         ConnectionManager = null;
     }
     if (GetDatabase() != null)
     {
         try
         {
             Logging.WriteLine("Destroying database manager.");
             MySqlConnection.ClearAllPools();
             DatabaseManager = null;
         }
         catch { }
     }
     Logging.WriteLine("Uninitialized successfully. Closing.");
 }
Exemplo n.º 2
0
 public TcpConnectionListener(string LocalIp, int Port, TcpConnectionManager Manager)
 {
     IPEndPoint localEP = new IPEndPoint(IPAddress.Any, Port);
     this.Listener.Bind(localEP);
     this.Listener.Listen(1000);
     this.ConnectionReqCallback = new AsyncCallback(this.ConnectionRequest);
     this.Manager = Manager;
     TcpAuthorization.SetupTcpAuthorization(20000);
     Logging.WriteLine("Listening for connections on port: " + Port);
 }
Exemplo n.º 3
0
        public TcpConnectionListener(string LocalIp, int Port, TcpConnectionManager Manager)
        {
            IPEndPoint localEP = new IPEndPoint(IPAddress.Any, Port);

            this.Listener.Bind(localEP);
            this.Listener.Listen(1000);
            this.ConnectionReqCallback = new AsyncCallback(this.ConnectionRequest);
            this.Manager = Manager;
            TcpAuthorization.SetupTcpAuthorization(20000);
            Logging.WriteLine("Listening for connections on port: " + Port);
        }
Exemplo n.º 4
0
 public void Destroy()
 {
     this.Stop();
     this.Listener = null;
     this.Manager = null;
 }
Exemplo n.º 5
0
 public void Destroy()
 {
     this.Stop();
     this.Listener = null;
     this.Manager  = null;
 }
Exemplo n.º 6
0
        public void Initialize()
        {
            ServerStarted = DateTime.Now;
            TextManager.WritePhoenix();
            try
            {
                Configuration = new ConfigurationData("config.conf");
                DateTime now = DateTime.Now;

                Console.WriteLine();
                Console.ForegroundColor = ConsoleColor.Gray;

                DatabaseServer server = new DatabaseServer(GetConfig().data["db.hostname"], uint.Parse(GetConfig().data["db.port"]), GetConfig().data["db.username"], GetConfig().data["db.password"]);
                Database database = new Database(GetConfig().data["db.name"], uint.Parse(GetConfig().data["db.pool.minsize"]), uint.Parse(GetConfig().data["db.pool.maxsize"]));
                DatabaseManager = new DatabaseManager(server, database);
                Game = new Game(int.Parse(GetConfig().data["game.tcp.conlimit"]));

                Messages = new MessageHandler();
                Messages.RegisterHandshake();
                Messages.RegisterMessenger();
                Messages.RegisterNavigator();
                Messages.RegisterRoomsAction();
                Messages.RegisterRoomsAvatar();
                Messages.RegisterRoomsChat();
                Messages.RegisterRoomsEngine();
                Messages.RegisterRoomsFurniture();
                Messages.RegisterRoomsPets();
                Messages.RegisterRoomsSession();
                Messages.RegisterRoomsSettings();
                Messages.RegisterCatalog();
                Messages.RegisterMarketplace();
                Messages.RegisterRecycler();
                Messages.RegisterQuest();
                Messages.RegisterInventoryAchievements();
                Messages.RegisterInventoryAvatarFX();
                Messages.RegisterInventoryBadges();
                Messages.RegisterInventoryFurni();
                Messages.RegisterInventoryPurse();
                Messages.RegisterInventoryTrading();
                Messages.RegisterAvatar();
                Messages.RegisterUsers();
                Messages.RegisterRegister();
                Messages.RegisterHelp();
                Messages.RegisterSound();
                Messages.RegisterWired();
                Messages.RegisterFriendStream(); //NEW!

                MusListener = new MusSocket(GetConfig().data["mus.tcp.bindip"], int.Parse(GetConfig().data["mus.tcp.port"]), GetConfig().data["mus.tcp.allowedaddr"].Split(new char[] { ';' }), 20);
                ConnectionManager = new TcpConnectionManager(GetConfig().data["game.tcp.bindip"], int.Parse(GetConfig().data["game.tcp.port"]), int.Parse(GetConfig().data["game.tcp.conlimit"]));
                ConnectionManager.GetListener().Start();
                TimeSpan span = DateTime.Now - now;
                Logging.WriteLine(string.Concat(new object[] { "Server -> READY! (", span.Seconds, " s, ", span.Milliseconds, " ms)" }));
                Console.Beep();
            }
            catch (KeyNotFoundException)
            {
                Logging.WriteLine("Failed to boot, key not found.");
                Logging.WriteLine("Press any key to shut down ...");
                Console.ReadKey(true);
                Destroy();
            }
            catch (InvalidOperationException ex)
            {
                Logging.WriteLine("Failed to initialize PhoenixEmulator: " + ex.Message);
                Logging.WriteLine("Press any key to shut down ...");
                Console.ReadKey(true);
                Destroy();
            }
        }