Ejemplo n.º 1
0
        public WebApiHost(string url, IDatabaseAgent database, IObjectsManager manager)
        {
            _logger = LogManager.GetLogger("[Assets Host]");

            _mainUrl  = url;
            _database = database;
            _manager  = manager;
        }
Ejemplo n.º 2
0
 public SystemManager(IAuthManager authManager,
                      RegistryContext context, IDdbManager ddbManager, ILogger <SystemManager> logger,
                      IObjectsManager objectManager, IOptions <AppSettings> settings)
 {
     _authManager   = authManager;
     _context       = context;
     _ddbManager    = ddbManager;
     _logger        = logger;
     _objectManager = objectManager;
     _settings      = settings.Value;
 }
Ejemplo n.º 3
0
 public DatasetsManager(
     RegistryContext context,
     IUtils utils,
     ILogger <DatasetsManager> logger,
     IObjectsManager objectsManager,
     IDdbManager ddbManager, IAuthManager authManager)
 {
     _context        = context;
     _utils          = utils;
     _logger         = logger;
     _objectsManager = objectsManager;
     _ddbManager     = ddbManager;
     _authManager    = authManager;
 }
Ejemplo n.º 4
0
 public PushManager(IUtils utils, IDdbManager ddbManager,
                    IObjectsManager objectsManager, ILogger <PushManager> logger, IDatasetsManager datasetsManager,
                    IAuthManager authManager,
                    IBackgroundJobsProcessor backgroundJob, IOptions <AppSettings> settings)
 {
     _utils           = utils;
     _ddbManager      = ddbManager;
     _objectsManager  = objectsManager;
     _logger          = logger;
     _datasetsManager = datasetsManager;
     _authManager     = authManager;
     _backgroundJob   = backgroundJob;
     _settings        = settings.Value;
 }
Ejemplo n.º 5
0
 public ShareManager(
     IOptions <AppSettings> settings,
     ILogger <ShareManager> logger,
     IObjectsManager objectsManager,
     IDatasetsManager datasetsManager,
     IOrganizationsManager organizationsManager,
     IUtils utils,
     IAuthManager authManager,
     IBatchTokenGenerator batchTokenGenerator,
     INameGenerator nameGenerator,
     RegistryContext context)
 {
     _settings             = settings;
     _logger               = logger;
     _objectsManager       = objectsManager;
     _datasetsManager      = datasetsManager;
     _organizationsManager = organizationsManager;
     _utils               = utils;
     _authManager         = authManager;
     _batchTokenGenerator = batchTokenGenerator;
     _nameGenerator       = nameGenerator;
     _context             = context;
 }
Ejemplo n.º 6
0
 public RemoveObjectAction(GameObject gameObject, IObjectsManager objectManager)
 {
     this.gameObject    = gameObject;
     this.objectManager = objectManager;
 }
 public AddObjectCategoryAction(GameObjectCategory objectCategory, IObjectsManager objectManager)
 {
     this.objectCategory = objectCategory;
     this.objectManager  = objectManager;
 }
Ejemplo n.º 8
0
 public PluginsHost(IDatabaseAgent database, IObjectsManager manager)
 {
     _logger   = LogManager.GetLogger("[Plugins Host]");
     _database = database;
     _manager  = manager;
 }
Ejemplo n.º 9
0
 public ObjectsController(IObjectsManager datasetsManager, ILogger <ObjectsController> logger)
 {
     _objectsManager = datasetsManager;
     _logger         = logger;
 }
Ejemplo n.º 10
0
        public void RemoveGameObject(GameObject gameObject, IObjectsManager objectManager)
        {
            var action = new RemoveObjectAction(gameObject, objectManager);

            HandlePushAction(action);
        }
Ejemplo n.º 11
0
        public FrameworkStatsController(IObjectsManager manager)
        {
            _logger = LogManager.GetLogger("[Stats Controller]");

            _manager = manager;
        }
Ejemplo n.º 12
0
        public void RemoveObjectCategory(GameObjectCategory objectCategory, IObjectsManager objectManager)
        {
            var action = new RemoveObjectCategoryAction(objectCategory, objectManager);

            HandlePushAction(action);
        }
Ejemplo n.º 13
0
        public void AddRectangleObject(GameObject gameObject, IObjectsManager objectManager)
        {
            var action = new AddObjectAction(gameObject, objectManager);

            HandlePushAction(action, false);
        }
Ejemplo n.º 14
0
 public ServerPluginTest(IDatabaseAgent database, IObjectsManager manager) : base(database, manager)
 {
 }
Ejemplo n.º 15
0
 public BaseServerPlugin(IDatabaseAgent database, IObjectsManager manager)
 {
     _database = database;
     _manager  = manager;
 }
Ejemplo n.º 16
0
        public bool Start()
        {
            _logger = LogManager.GetLogger("[MainHost]");

            _logger.Info("------------------------------JEDIUM SERVER---------------------------");
            _logger.Info("Starting at: " + DateTime.Now);

            //settings
            var     parser = new FileIniDataParser();
            IniData data   = parser.ReadFile("ServerConfig.ini");

            MainSettings.BehavioursPluginPath = data["Server"]["BehavioursPluginPath"];
            MainSettings.WebApiHost           = data["Server"]["WebApiHost"];
            MainSettings.DBUrl                   = data["Server"]["DBUrl"];
            MainSettings.DatabaseName            = data["Server"]["DatabaseName"];
            MainSettings.CollectMessageStats     = bool.Parse(data["Statistics"]["CollectMessageStats"]);
            MainSettings.StatsCollectionInterval = int.Parse(data["Statistics"]["StatsCollectionInterval"]);


            MD5 mcalc = MD5.Create();

            byte[] dbytes = File.ReadAllBytes("Domain.dll");
            MainSettings.ServerHash = mcalc.ComputeHash(dbytes).ToHex(false);
            _logger.Info($"Server domain hash: {MainSettings.ServerHash}");

            //load plugins
            BehaviourManager.LoadBehaviours(MainSettings.BehavioursPluginPath);



            //get config (app.config)
            AkkaConfigurationSection section = (AkkaConfigurationSection)ConfigurationManager.GetSection("akka");
            Config aconfig = section.AkkaConfig;


            //попытаться запустить актер сервера
            try
            {
                _system = ActorSystem.Create("VirtualFramework", aconfig);
            }
            catch (Exception ex)
            {
                _logger.Error(ex.Message);
                throw;
            }

            // на случай разрыва соединения
            DeadRequestProcessingActor.Install(_system);


            _databaseAgent = _system.ActorOf(Props.Create(() => new MongoDbActor()), "DataBase")
                             .Cast <DatabaseAgentRef>(); //TODO: Add test for connection

            _terminal = _system.ActorOf(Props.Create(() => new TerminalConnection(_databaseAgent)), "Terminal")
                        .Cast <TerminalConnectionRef>();


            _serverConnection = _system
                                .ActorOf(Props.Create(() => new ServerConnection(_databaseAgent)), "ServerEndpoint")
                                .Cast <ConnectionRef>(); //TODO: find me

            //_databaseAgent.SetDummyObjectTest().Wait();


            _manager = _system
                       .ActorOf(Props.Create(() => new ObjectsManager(_databaseAgent, _serverConnection)), "ObjectManager")
                       .Cast <ObjectsManagerRef>();

            //assets host
            _webApiHost = _system
                          .ActorOf(Props.Create(() => new WebApiHost(MainSettings.WebApiHost, _databaseAgent, _manager)),
                                   "AssetsHost")
                          .Cast <WebApiHostRef>();


            _pluginsHost = _system.ActorOf(Props.Create(() => new PluginsHost(_databaseAgent, _manager)), "PluginsHost")
                           .Cast <PluginsHostRef>();

            _pluginsHost.LoadPlugins().Wait();


            _manager.LoadAllScenes().Wait();


            return(true);
        }