コード例 #1
0
        public override void Start(EventFirer eventFirer)
        {
            HabboFigureFactory factory = CoreManager.ServerCore.HabboFigureFactory;

            factory
            .RegisterSet(typeof(Body180));
        }
コード例 #2
0
 public void BootTaskPrepareFigures()
 {
     StandardOut.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_PREPARE"));
     HabboFigureFactory = new HabboFigureFactory();
     StandardOut.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_READY"));
 }
コード例 #3
0
ファイル: ServerCore.cs プロジェクト: habb0/IHI
        internal BootResult Boot(string configPath)
        {
            try
            {
                _textEncoding = Encoding.UTF8; // TODO: Move this to an external config.

                #region Standard Out

                _standardOut = new StandardOut();
                _standardOut.PrintNotice("Text Encoding => Set to " + _textEncoding.EncodingName);
                _standardOut.PrintNotice("Standard Out => Ready");

                #endregion

                _config = new XmlConfig(configPath);

                bool mainInstallRequired = PreInstall(); // Register the main installation if required.

                #region Load Plugins

                _standardOut.PrintNotice("Plugin Manager => Loading plugins...");
                _pluginManager = new PluginManager();

                XmlNodeList pluginNodes = GetConfig().GetInternalDocument().SelectNodes("/config/plugins/plugin");
                foreach (XmlNode pluginNode in pluginNodes)
                {
                    GetPluginManager().LoadPluginAtPath(
                        Path.Combine(
                            Directory.GetCurrentDirectory(),
                            "plugins",
                            pluginNode.Attributes["filename"].InnerText));
                }
                _standardOut.PrintNotice("Plugin Manager => Plugins loaded!");

                #endregion

                CoreManager.InstallerCore.Run();

                if (mainInstallRequired)
                    SaveConfigInstallation();

                #region Config

                _standardOut.PrintNotice("Config File => Loaded");
                _standardOut.SetImportance(
                    (StandardOutImportance)
                    _config.ValueAsByte("/config/standardout/importance", (byte) StandardOutImportance.Debug));

                #endregion

                #region Database

                _standardOut.PrintNotice("MySQL => Preparing database connection settings...");

                try
                {
                    MySqlConnectionStringBuilder connectionString = new MySqlConnectionStringBuilder
                                                                        {
                                                                            Server =
                                                                                _config.ValueAsString(
                                                                                    "/config/mysql/host"),
                                                                            Port =
                                                                                _config.ValueAsUint(
                                                                                    "/config/mysql/port", 3306),
                                                                            UserID =
                                                                                _config.ValueAsString(
                                                                                    "/config/mysql/user"),
                                                                            Password =
                                                                                _config.ValueAsString(
                                                                                    "/config/mysql/password"),
                                                                            Database =
                                                                                _config.ValueAsString(
                                                                                    "/config/mysql/database"),
                                                                            Pooling = true,
                                                                            MinimumPoolSize =
                                                                                _config.ValueAsUint(
                                                                                    "/config/mysql/minpoolsize", 1),
                                                                            MaximumPoolSize =
                                                                                _config.ValueAsUint(
                                                                                    "/config/mysql/maxpoolsize", 25)
                                                                        };

                    PrepareSessionFactory(connectionString.ConnectionString);

                    _standardOut.PrintNotice("MySQL => Testing connection...");

                    using (ISession db = GetDatabaseSession())
                    {
                        if (!db.IsConnected)
                            throw new Exception("Unknown cause");
                    }
                }
                catch (Exception ex)
                {
                    _standardOut.PrintError("MySQL => Connection failed!");
                    throw;
                }
                _standardOut.PrintNotice("MySQL => Connected!");

                #endregion

                #region Distributors

                _standardOut.PrintNotice("Habbo Distributor => Constructing...");
                _habboDistributor = new HabboDistributor();
                _standardOut.PrintNotice("Habbo Distributor => Ready");

                #endregion

                #region Figure Factory

                _standardOut.PrintNotice("Habbo Figure Factory => Constructing...");
                _habboFigureFactory = new HabboFigureFactory();
                _standardOut.PrintNotice("Habbo Figure Factory => Ready");

                #endregion

                // TODO: Download Requirements

                #region Permissions

                _standardOut.PrintNotice("Permission Manager => Constructing...");
                _permissionManager = new PermissionManager();
                _standardOut.PrintNotice("Permission Manager => Ready");

                #endregion

                // TODO: Write Dynamic Client Files
                // TODO: Authenticate with IHINet

                #region Network

                _standardOut.PrintNotice("Connection Manager => Starting...");
                _connectionManager = new IonTcpConnectionManager(_config.ValueAsString("/config/network/host"),
                                                                 _config.ValueAsInt("/config/network/port", 14478));
                _connectionManager.GetListener().Start();
                _standardOut.PrintNotice("Connection Manager => Ready!");

                _standardOut.PrintNotice("Web Admin => Starting...");
                _webAdminManager = new WebAdminManager(_config.ValueAsUshort("/config/webadmin/port", 14480));
                _standardOut.PrintNotice("Web Admin => Ready!");

                #endregion

                #region Start Plugins

                PluginManager pluginManager = GetPluginManager();
                _standardOut.PrintNotice("Plugin Manager => Starting plugins...");

                foreach (Plugin plugin in pluginManager.GetLoadedPlugins())
                {
                    pluginManager.StartPlugin(plugin);
                }
                _standardOut.PrintNotice("Plugin Manager => Plugins started!");

                #endregion

                _standardOut.PrintImportant("IHI is now functional!");

                return BootResult.AllClear;
            }
            catch (Exception e)
            {
                _standardOut.PrintException(e);

                if (e is MappingException)
                    return BootResult.MySQLMappingFailure;

                return BootResult.UnknownFailure;
            }
        }
コード例 #4
0
ファイル: ServerCore.cs プロジェクト: habb0/Bluedot
 public void BootTaskPrepareFigures()
 {
     StandardOut.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_PREPARE"));
     HabboFigureFactory = new HabboFigureFactory();
     StandardOut.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_READY"));
 }
コード例 #5
0
ファイル: ServerCore.cs プロジェクト: habb0/IHI
        internal BootResult Boot(string configPath)
        {
            try
            {
                _textEncoding = Encoding.UTF8; // TODO: Move this to an external config.

                #region Standard Out

                _standardOut = new StandardOut();
                _standardOut.PrintNotice("Text Encoding => Set to " + _textEncoding.EncodingName);
                _standardOut.PrintNotice("Standard Out => Ready");

                #endregion

                _config = new XmlConfig(configPath);

                bool mainInstallRequired = PreInstall(); // Register the main installation if required.

                #region Load Plugins

                _standardOut.PrintNotice("Plugin Manager => Loading plugins...");
                _pluginManager = new PluginManager();

                XmlNodeList pluginNodes = GetConfig().GetInternalDocument().SelectNodes("/config/plugins/plugin");
                foreach (XmlNode pluginNode in pluginNodes)
                {
                    GetPluginManager().LoadPluginAtPath(
                        Path.Combine(
                            Directory.GetCurrentDirectory(),
                            "plugins",
                            pluginNode.Attributes["filename"].InnerText));
                }
                _standardOut.PrintNotice("Plugin Manager => Plugins loaded!");

                #endregion

                CoreManager.InstallerCore.Run();

                if (mainInstallRequired)
                {
                    SaveConfigInstallation();
                }

                #region Config

                _standardOut.PrintNotice("Config File => Loaded");
                _standardOut.SetImportance(
                    (StandardOutImportance)
                    _config.ValueAsByte("/config/standardout/importance", (byte)StandardOutImportance.Debug));

                #endregion

                #region Database

                _standardOut.PrintNotice("MySQL => Preparing database connection settings...");

                try
                {
                    MySqlConnectionStringBuilder connectionString = new MySqlConnectionStringBuilder
                    {
                        Server =
                            _config.ValueAsString(
                                "/config/mysql/host"),
                        Port =
                            _config.ValueAsUint(
                                "/config/mysql/port", 3306),
                        UserID =
                            _config.ValueAsString(
                                "/config/mysql/user"),
                        Password =
                            _config.ValueAsString(
                                "/config/mysql/password"),
                        Database =
                            _config.ValueAsString(
                                "/config/mysql/database"),
                        Pooling         = true,
                        MinimumPoolSize =
                            _config.ValueAsUint(
                                "/config/mysql/minpoolsize", 1),
                        MaximumPoolSize =
                            _config.ValueAsUint(
                                "/config/mysql/maxpoolsize", 25)
                    };

                    PrepareSessionFactory(connectionString.ConnectionString);

                    _standardOut.PrintNotice("MySQL => Testing connection...");

                    using (ISession db = GetDatabaseSession())
                    {
                        if (!db.IsConnected)
                        {
                            throw new Exception("Unknown cause");
                        }
                    }
                }
                catch (Exception ex)
                {
                    _standardOut.PrintError("MySQL => Connection failed!");
                    throw;
                }
                _standardOut.PrintNotice("MySQL => Connected!");

                #endregion

                #region Distributors

                _standardOut.PrintNotice("Habbo Distributor => Constructing...");
                _habboDistributor = new HabboDistributor();
                _standardOut.PrintNotice("Habbo Distributor => Ready");

                #endregion

                #region Figure Factory

                _standardOut.PrintNotice("Habbo Figure Factory => Constructing...");
                _habboFigureFactory = new HabboFigureFactory();
                _standardOut.PrintNotice("Habbo Figure Factory => Ready");

                #endregion

                // TODO: Download Requirements

                #region Permissions

                _standardOut.PrintNotice("Permission Manager => Constructing...");
                _permissionManager = new PermissionManager();
                _standardOut.PrintNotice("Permission Manager => Ready");

                #endregion

                // TODO: Write Dynamic Client Files
                // TODO: Authenticate with IHINet

                #region Network

                _standardOut.PrintNotice("Connection Manager => Starting...");
                _connectionManager = new IonTcpConnectionManager(_config.ValueAsString("/config/network/host"),
                                                                 _config.ValueAsInt("/config/network/port", 14478));
                _connectionManager.GetListener().Start();
                _standardOut.PrintNotice("Connection Manager => Ready!");

                _standardOut.PrintNotice("Web Admin => Starting...");
                _webAdminManager = new WebAdminManager(_config.ValueAsUshort("/config/webadmin/port", 14480));
                _standardOut.PrintNotice("Web Admin => Ready!");

                #endregion

                #region Start Plugins

                PluginManager pluginManager = GetPluginManager();
                _standardOut.PrintNotice("Plugin Manager => Starting plugins...");

                foreach (Plugin plugin in pluginManager.GetLoadedPlugins())
                {
                    pluginManager.StartPlugin(plugin);
                }
                _standardOut.PrintNotice("Plugin Manager => Plugins started!");

                #endregion

                _standardOut.PrintImportant("IHI is now functional!");

                return(BootResult.AllClear);
            }
            catch (Exception e)
            {
                _standardOut.PrintException(e);


                if (e is MappingException)
                {
                    return(BootResult.MySQLMappingFailure);
                }

                return(BootResult.UnknownFailure);
            }
        }
コード例 #6
0
 public void BootTaskPrepareFigures()
 {
     ConsoleManager.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_PREPARE"));
     HabboFigureFactory = new HabboFigureFactory();
     ConsoleManager.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_READY"));
 }
コード例 #7
0
ファイル: ServerCore.cs プロジェクト: habb0/IHI-1
 public void BootTaskPrepareFigures()
 {
     ConsoleManager.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_PREPARE"));
     HabboFigureFactory = new HabboFigureFactory();
     ConsoleManager.Notice("Habbo Figure Factory", StringLocale.GetString("CORE:BOOT_FIGURES_READY"));
 }