diff --git a/FASTER Maintenance/Models/17Models.cs b/FASTER Maintenance/Models/17Models.cs index e0219b6e..59fc858e 100644 --- a/FASTER Maintenance/Models/17Models.cs +++ b/FASTER Maintenance/Models/17Models.cs @@ -8,7 +8,8 @@ namespace FASTER_Maintenance.Models._17Models [XmlRoot(ElementName = "ArrayOfString")] public class ArrayOfString { - [XmlElement(ElementName = "string")] public string String { get; set; } + [XmlElement(ElementName = "string")] + public string String { get; set; } [XmlAttribute(AttributeName = "xsi", Namespace = "http://www.w3.org/2000/xmlns/")] public string Xsi { get; set; } @@ -139,6 +140,9 @@ public class ServerCfg [XmlElement(ElementName = "AutoSelectMission")] public string AutoSelectMission { get; set; } + [XmlElement(ElementName = "queueSizeLogG")] + public string RandomMissionOrder { get; set; } + [XmlElement(ElementName = "RandomMissionOrder")] public string RandomMissionOrder { get; set; } @@ -392,4 +396,4 @@ public class Configuration [XmlElement(ElementName = "userSettings")] public UserSettings UserSettings { get; set; } } -} \ No newline at end of file +} diff --git a/FASTER Maintenance/Models/ServerCfg.cs b/FASTER Maintenance/Models/ServerCfg.cs index 6d5280bc..a283f35c 100644 --- a/FASTER Maintenance/Models/ServerCfg.cs +++ b/FASTER Maintenance/Models/ServerCfg.cs @@ -47,8 +47,11 @@ public class ServerCfg : INotifyPropertyChanged private int lobbyIdleTimeout = 300; private bool autoSelectMission = true; private bool randomMissionOrder = true; + private bool queueSizeLogG = 1000000; // if a specific players message queue + // is larger than 1MB and #monitor is running, + // dump his messages to a logfile for analysis - //Arma server only + //Arma server only private short verifySignatures = 2; // 0 = Disabled ; 1 = Deprecated Activated ; 2 = Activated (Default) private bool drawingInMap = true; private short disableVoN; // 0 = VoN activated ; 1 = VoN Disabled @@ -87,7 +90,7 @@ public class ServerCfg : INotifyPropertyChanged private string serverCfgContent; - + #region Server Options public string PasswordAdmin @@ -139,7 +142,7 @@ public int MaxPlayers RaisePropertyChanged("MaxPlayers"); } } - + public string Motd { get => string.Join("\n", motd); @@ -344,6 +347,16 @@ public int LobbyIdleTimeout } } + public int QueueSizeLogG + { + get => queueSizeLogG; + set + { + queueSizeLogG = value; + RaisePropertyChanged("QueueSizeLogG"); + } + } + public bool AutoSelectMission { get => autoSelectMission; @@ -612,7 +625,7 @@ public string Difficulty RaisePropertyChanged("Difficulty"); } } - + public List Missions { get => _missions; @@ -630,7 +643,7 @@ public List Missions } } #endregion - + #region Performances public bool MaxMemOverride { @@ -769,6 +782,7 @@ public string ProcessFile() + $"persistent = {persistent};\t\t\t\t\t// If 1, missions still run on even after the last player disconnected.\r\n" + $"timeStampFormat = \"{timeStampFormat}\";\t\t\t// Set the timestamp format used on each report line in server-side RPT file. Possible values are \"none\" (default),\"short\",\"full\".\r\n" + $"BattlEye = {battlEye};\t\t\t\t\t// Server to use BattlEye system\r\n" + + $"queueSizeLogG = {queueSizeLogG}; \t\t\t\t\t// // if a specific players message queue is larger than 1MB and \#monitor\ is running, dump his messages to a logfile for analysis \r\n" + "\r\n" + "// TIMEOUTS\r\n" + $"disconnectTimeout = {disconnectTimeout}; // Time to wait before disconnecting a user which temporarly lost connection. Range is 5 to 90 seconds.\r\n" @@ -796,7 +810,7 @@ public string ProcessFile() + "\r\n" + $"{MissionContentOverride}\t\t\t\t// An empty Missions class means there will be no mission rotation\r\n" + "\r\n" - + "missionWhitelist[] = {};\r\n" + + "missionWhitelist[] = {};\r\n" + "// An empty whitelist means there is no restriction on what missions' available" + "\r\n" + "\r\n" diff --git a/FASTER/Models/ServerCfg.cs b/FASTER/Models/ServerCfg.cs index 27b0b3d7..c6300b7a 100644 --- a/FASTER/Models/ServerCfg.cs +++ b/FASTER/Models/ServerCfg.cs @@ -47,7 +47,7 @@ public class ServerCfg : INotifyPropertyChanged private bool autoSelectMission = true; private bool randomMissionOrder = true; - //Arma server only + //Arma server only private short verifySignatures = 0; // 0 = Disabled (FASTER Default); 1 = Deprecated Activated ; 2 = Activated (Arma Default) private bool drawingInMap = true; private short disableVoN; // 0 = VoN activated ; 1 = VoN Disabled @@ -56,6 +56,7 @@ public class ServerCfg : INotifyPropertyChanged private bool skipLobby; //Overritten by mission parameters private string logFile = "server_console.log"; private short battlEye = 1; // 0 = Disabled ; 1 = Enabled + private int queueSizeLogG = 1000000; // If a specific players message queue is larger than 1MB and #monitor is running, dump his messages to a logfile for analysis private string timeStampFormat = "short"; // Possible values = "none", "short", "full" private short persistent; private bool requiredBuildChecked; @@ -86,7 +87,7 @@ public class ServerCfg : INotifyPropertyChanged private string serverCfgContent; - + #region Server Options public string PasswordAdmin @@ -138,7 +139,7 @@ public int MaxPlayers RaisePropertyChanged("MaxPlayers"); } } - + public string Motd { get => string.Join("\n", motd); @@ -343,6 +344,16 @@ public int LobbyIdleTimeout } } + public int QueueSizeLogG + { + get => queueSizeLogG; + set + { + queueSizeLogG = value; + RaisePropertyChanged("QueueSizeLogG"); + } + } + public bool AutoSelectMission { get => autoSelectMission; @@ -611,7 +622,7 @@ public string Difficulty RaisePropertyChanged("Difficulty"); } } - + public List Missions { get => _missions; @@ -620,24 +631,24 @@ public List Missions //Removing previous triggers _missions.ForEach(m => m.PropertyChanged -= Item_PropertyChanged); - bool isEqual = _missions.Count == value.Count - && !( from mission in value - let local = _missions.FirstOrDefault(m => m.Path == mission.Path) - where local == null || local.MissionChecked != mission.MissionChecked + bool isEqual = _missions.Count == value.Count + && !( from mission in value + let local = _missions.FirstOrDefault(m => m.Path == mission.Path) + where local == null || local.MissionChecked != mission.MissionChecked select mission ).Any(); - + if (!isEqual) { _missions = value; RaisePropertyChanged("Missions"); } - + //Adding the trigger to count checked mods _missions.ForEach(m => m.PropertyChanged += Item_PropertyChanged); } } #endregion - + #region Performances public bool MaxMemOverride { @@ -780,6 +791,7 @@ public string ProcessFile() + $"persistent = {persistent};\t\t\t\t\t// If 1, missions still run on even after the last player disconnected.\r\n" + $"timeStampFormat = \"{timeStampFormat}\";\t\t\t// Set the timestamp format used on each report line in server-side RPT file. Possible values are \"none\" (default),\"short\",\"full\".\r\n" + $"BattlEye = {battlEye};\t\t\t\t\t// Server to use BattlEye system\r\n" + + $"queueSizeLogG = {queueSizeLogG}; \t\t\t\t\t// // if a specific players message queue is larger than 1MB and \#monitor\ is running, dump his messages to a logfile for analysis \r\n" + "\r\n" + "// TIMEOUTS\r\n" + $"disconnectTimeout = {disconnectTimeout}; // Time to wait before disconnecting a user which temporarly lost connection. Range is 5 to 90 seconds.\r\n" @@ -807,7 +819,7 @@ public string ProcessFile() + "\r\n" + $"{MissionContentOverride}\t\t\t\t// An empty Missions class means there will be no mission rotation\r\n" + "\r\n" - + "missionWhitelist[] = {};\r\n" + + "missionWhitelist[] = {};\r\n" + "// An empty whitelist means there is no restriction on what missions available" + "\r\n" + "\r\n" diff --git a/FASTER/Views/Profile.xaml b/FASTER/Views/Profile.xaml index ab8ad549..04229fdb 100644 --- a/FASTER/Views/Profile.xaml +++ b/FASTER/Views/Profile.xaml @@ -1,11 +1,11 @@ - - - - + - +