Пример #1
0
        private void ParseSettings()
        {
            logger.IfInfo("Reading settings: " + SettingsPath());

            string configFile = "";

            try {
                StreamReader reader = new StreamReader(SettingsPath());
                configFile = RemoveJsonComments(reader);
                reader.Close();
            } catch (Exception e) {
                logger.Error("Could not open configuration file: " + SettingsPath());
                logger.Error(e);
            }

            // Grab all settings from the file
            settingsModel = JsonConvert.DeserializeObject <ServerSettingsData>(configFile);

            // Generate Folder objects from the media folders
            PrepareMediaFolders();

            dynamic json            = JsonConvert.DeserializeObject(configFile);
            bool    settingsChanged = false;

            try {
                string podcastFolderTemp = json.podcastFolderDoesntExist;
                settingsModel.PodcastFolder = podcastFolderTemp;
                settingsChanged             = true;
            } catch { }

            logger.IfInfo("settings changed: " + settingsChanged);
        }
 public string this[string settingName]
 {
     get
     {
         lock (_settingLock)
         {
             ServerSettingsData settings = null;
             try
             {
                 var text = _fileWrapper.ReadAllText(Config.Server.SettingsPath);
                 settings = JsonConvert.DeserializeObject <ServerSettingsData>(text);
             } catch {
                 settings = new ServerSettingsData();
             }
             var prop = typeof(ServerSettingsData).GetProperty(settingName);
             return(prop.GetValue(settings)?.ToString());
         }
     }
     set
     {
         lock (_settingLock)
         {
             var settings = Config.Server.Get();
             var prop     = typeof(ServerSettingsData).GetProperty(settingName);
             prop.SetValue(settings, value);
             settings.Save();
         }
     }
 }
Пример #3
0
 public void ServerStartupComplete(ServerSettingsData data)
 {
     if (OnServerStartupComplete != null)
     {
         OnServerStartupComplete.Invoke(data);
     }
 }
        public static void Save(this ServerSettingsData data)
        {
            var fileWrapper = new FileWrapper();
            var json        = JsonConvert.SerializeObject(data);

            fileWrapper.WriteAllText(Config.Server.SettingsPath, json);
        }
Пример #5
0
        public void ServerSettingsData_Equals_Valid_Expected()
        {
            var expectedServerSettingsData = new ServerSettingsData
            {
                WebServerPort       = 3142,
                WebServerSslPort    = 3143,
                SslCertificateName  = "SslCertificateName",
                CollectUsageStats   = true,
                DaysToKeepTempFiles = 2,
                AuditFilePath       = "some path",
                Sink = nameof(LegacySettingsData),
                ExecutionLogLevel = LogLevel.ERROR.ToString()
            };

            var serverSettingsData = new ServerSettingsData
            {
                WebServerPort       = 3142,
                WebServerSslPort    = 3143,
                SslCertificateName  = "SslCertificateName",
                CollectUsageStats   = true,
                DaysToKeepTempFiles = 2,
                AuditFilePath       = "some path",
                Sink = nameof(LegacySettingsData),
                ExecutionLogLevel = LogLevel.ERROR.ToString()
            };

            Assert.IsTrue(serverSettingsData.Equals(expectedServerSettingsData));
        }
Пример #6
0
        static LogSettingsViewModel CreateLogSettingViewModel()
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo("Settings.config"));
            var loggingSettingsTo = new LoggingSettingsTo {
                FileLoggerLogSize = 50, FileLoggerLogLevel = "TRACE"
            };

            var _resourceRepo = new Mock <IResourceRepository>();
            var env           = new Mock <IServer>();
            var expectedServerSettingsData = new ServerSettingsData
            {
                ExecutionLogLevel = LogLevel.DEBUG.ToString(),
                Sink = "AuditingSettingsData"
            };

            _resourceRepo.Setup(res => res.GetServerSettings(env.Object)).Returns(expectedServerSettingsData);
            var dependency          = new Depends(Depends.ContainerType.AnonymousElasticsearch);
            var hostName            = "http://" + dependency.Container.IP;
            var elasticsearchSource = new ElasticsearchSource
            {
                AuthenticationType = AuthenticationType.Anonymous,
                Port        = dependency.Container.Port,
                HostName    = hostName,
                SearchIndex = "warewolflogstests"
            };
            var jsonSource           = JsonConvert.SerializeObject(elasticsearchSource);
            var auditingSettingsData = new AuditingSettingsData
            {
                Endpoint          = "ws://127.0.0.1:5000/ws",
                EncryptDataSource = true,
                LoggingDataSource = new NamedGuidWithEncryptedPayload
                {
                    Name    = "Auditing Data Source",
                    Value   = Guid.Empty,
                    Payload = jsonSource
                },
            };

            _resourceRepo.Setup(res => res.GetAuditingSettings <AuditingSettingsData>(env.Object)).Returns(auditingSettingsData);
            var selectedAuditingSourceId = Guid.NewGuid();
            var mockAuditingSource       = new Mock <IResource>();

            mockAuditingSource.Setup(source => source.ResourceID).Returns(selectedAuditingSourceId);
            var auditingSources = new Mock <IResource>();
            var expectedList    = new List <IResource>
            {
                mockAuditingSource.Object, auditingSources.Object
            };

            _resourceRepo.Setup(resourceRepository => resourceRepository.FindResourcesByType <IAuditingSource>(env.Object)).Returns(expectedList);

            env.Setup(a => a.ResourceRepository).Returns(_resourceRepo.Object);
            var logSettingsViewModel = new LogSettingsViewModel(loggingSettingsTo, env.Object);

            return(logSettingsViewModel);
        }
    private void OnPlayFabServerStartup(ServerSettingsData settings)
    {
        _logger.Dispatch(LoggerTypes.Info, "PlayFab Server Has been started");
        _loadPlayFabDataCompleteSignal.RemoveListener(OnPlayFabServerStartup);

        var startGameServerSignal         = injectionBinder.GetInstance <MainGameServerStartupSignal>();
        var startGameServerCompleteSignal = injectionBinder.GetInstance <MainGameServerStartupCompleteSignal>();

        startGameServerCompleteSignal.AddListener(OnStartMainGameServerComplete);
        startGameServerSignal.Dispatch();
    }
Пример #8
0
    private void OnPlayFabServerStartup(ServerSettingsData settings)
    {
        //TODO: Support other networking packages such as Photon, DarkRift, MQTT
        if (settings.NetworkType == NetworkingType.UnityNetworking)
        {
            var networkingService = injectionBinder.GetInstance <UnityNetworkingService>();
            networkingService.SetupNetworking();
        }

        injectionBinder.GetInstance <PlayFabServerEvents>().GameServerStarted();
    }
Пример #9
0
    private void OnPlayFabServerStartup(ServerSettingsData settings)
    {
        //TODO: If your using Unity Networking then keep the line below, otherwise comment it out.
        var setupUnityNetworkingSignal = injectionBinder.GetInstance<SetupUnityNetworkingSignal>();
        setupUnityNetworkingSignal.Dispatch();

        //TODO: If your using Photon Networking then keep the line below, otherwise comment it out.
        /* 
        var setupPhotonNetworkingSignal = injectionBinder.GetInstance<SetupPhotonNetworkingSignal>();
        setupPhotonNetworkingSignal.Dispatch();
        */
        injectionBinder.GetInstance<StartGameServerSignal>().Dispatch();
    }
Пример #10
0
    private void OnPlayFabServerStartup(ServerSettingsData settings)
    {
        //TODO: If your using Unity Networking then keep the line below, otherwise comment it out.
        var setupUnityNetworkingSignal = injectionBinder.GetInstance <SetupUnityNetworkingSignal>();

        setupUnityNetworkingSignal.Dispatch();

        //TODO: If your using Photon Networking then keep the line below, otherwise comment it out.

        /*
         * var setupPhotonNetworkingSignal = injectionBinder.GetInstance<SetupPhotonNetworkingSignal>();
         * setupPhotonNetworkingSignal.Dispatch();
         */
        injectionBinder.GetInstance <StartGameServerSignal>().Dispatch();
    }
        static LogSettingsViewModel CreateLogSettingViewModel()
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo("Settings.config"));
            var loggingSettingsTo = new LoggingSettingsTo {
                FileLoggerLogSize = 50, FileLoggerLogLevel = "TRACE"
            };

            var _resourceRepo      = new Mock <IResourceRepository>();
            var env                = new Mock <IServer>();
            var serverSettingsData = new ServerSettingsData {
                AuditFilePath = "somePath"
            };

            _resourceRepo.Setup(res => res.GetServerSettings(env.Object)).Returns(serverSettingsData);
            env.Setup(a => a.ResourceRepository).Returns(_resourceRepo.Object);

            var logSettingsViewModel = new LogSettingsViewModel(loggingSettingsTo, env.Object);

            return(logSettingsViewModel);
        }
Пример #12
0
        public void SaveServerSettings_Execute_SaveServerSettingsData()
        {
            //------------Setup for test--------------------------
            var serializer    = new Dev2JsonSerializer();
            var workspaceMock = new Mock <IWorkspace>();
            var settingsData  = new ServerSettingsData()
            {
                ExecutionLogLevel = LogLevel.DEBUG.ToString()
            };
            var requestArgs = new Dictionary <string, StringBuilder>();

            requestArgs.Add("ServerSettings", new StringBuilder(serializer.SerializeToBuilder(settingsData).ToString()));

            var saveServerSettings = new SaveServerSettings();
            //------------Execute Test---------------------------
            var jsonResult = saveServerSettings.Execute(requestArgs, workspaceMock.Object);
            var result     = serializer.Deserialize <ExecuteMessage>(jsonResult);

            //------------Assert Results-------------------------
            Assert.IsFalse(result.HasError);
        }
Пример #13
0
        public void ServerSettingsData_Equals_Valid_Expected()
        {
            var expectedServerSettingsData = new ServerSettingsData
            {
                WebServerPort       = 3142,
                WebServerSslPort    = 3143,
                SslCertificateName  = "SslCertificateName",
                CollectUsageStats   = true,
                DaysToKeepTempFiles = 2,
                AuditFilePath       = "AuditFilePath"
            };

            var serverSettingsData = new ServerSettingsData
            {
                WebServerPort       = 3142,
                WebServerSslPort    = 3143,
                SslCertificateName  = "SslCertificateName",
                CollectUsageStats   = true,
                DaysToKeepTempFiles = 2,
                AuditFilePath       = "AuditFilePath"
            };

            Assert.IsTrue(serverSettingsData.Equals(expectedServerSettingsData));
        }
Пример #14
0
 public UnityNetworkingService(UnityNetworkingData data, ServerSettingsData serverSettings, LogSignal logger)
 {
     UnityNetworkingData = data;
     ServerSettingsData  = serverSettings;
     Logger = logger;
 }
 public PlayFabServerService(LogSignal logger, PlayFabServerEvents serverEvents, ServerSettingsData settings)
 {
     ServerSettingsData = settings;
     ServerEvents       = serverEvents;
     Logger             = logger;
 }
Пример #16
0
 public SettingsResponse(string error, ServerSettingsData settings)
 {
     Error    = error;
     Settings = settings;
 }
Пример #17
0
        static LogSettingsViewModel CreateLogSettingViewModel(string sink, Mock <IResourceRepository> _resourceRepo = null)
        {
            XmlConfigurator.ConfigureAndWatch(new FileInfo("Settings.config"));
            var loggingSettingsTo = new LoggingSettingsTo {
                FileLoggerLogSize = 50, FileLoggerLogLevel = "TRACE", EventLogLoggerLogLevel = "DEBUG"
            };

            var env = new Mock <IServer>();

            if (_resourceRepo is null)
            {
                _resourceRepo = new Mock <IResourceRepository>();
            }

            var expectedServerSettingsData = new ServerSettingsData
            {
                Sink = sink,
                ExecutionLogLevel = LogLevel.DEBUG.ToString()
            };

            _resourceRepo.Setup(res => res.GetServerSettings(env.Object)).Returns(expectedServerSettingsData);
            var selectedAuditingSourceId = Guid.NewGuid();

            if (sink == "LegacySettingsData")
            {
                var legacySettingsData = new LegacySettingsData()
                {
                    AuditFilePath = "somePath"
                };
                _resourceRepo.Setup(res => res.GetAuditingSettings <LegacySettingsData>(env.Object)).Returns(legacySettingsData);
                _resourceRepo.Setup(res => res.SaveAuditingSettings(env.Object, legacySettingsData)).Verifiable();
            }
            else
            {
                var dependency          = new Depends(Depends.ContainerType.AnonymousElasticsearch);
                var hostName            = "http://" + dependency.Container.IP;
                var elasticsearchSource = new ElasticsearchSource
                {
                    AuthenticationType = AuthenticationType.Anonymous,
                    Port        = dependency.Container.Port,
                    HostName    = hostName,
                    SearchIndex = "warewolflogstests"
                };
                var serializer           = new Dev2JsonSerializer();
                var payload              = serializer.Serialize(elasticsearchSource);
                var encryptedPayload     = DpapiWrapper.Encrypt(payload);
                var auditingSettingsData = new AuditingSettingsData
                {
                    Endpoint          = "ws://127.0.0.1:5000/ws",
                    EncryptDataSource = true,
                    LoggingDataSource = new NamedGuidWithEncryptedPayload
                    {
                        Name    = "Auditing Data Source",
                        Value   = selectedAuditingSourceId,
                        Payload = encryptedPayload
                    },
                };
                _resourceRepo.Setup(res => res.GetAuditingSettings <AuditingSettingsData>(env.Object)).Returns(auditingSettingsData);
                _resourceRepo.Setup(res => res.SaveAuditingSettings(env.Object, auditingSettingsData)).Verifiable();
            }

            IResource mockAuditingSource = new ElasticsearchSource
            {
                ResourceID   = selectedAuditingSourceId,
                ResourceName = "Auditing Data Source"
            };
            var expectedList = new List <IResource>();

            expectedList.Add(mockAuditingSource);

            _resourceRepo.Setup(resourceRepository => resourceRepository.FindResourcesByType <IAuditingSource>(env.Object)).Returns(expectedList);

            env.Setup(a => a.ResourceRepository).Returns(_resourceRepo.Object);
            var logSettingsViewModel = new LogSettingsViewModel(loggingSettingsTo, env.Object);

            return(logSettingsViewModel);
        }