add one log indicator for games (Pluto IW5) that don't log to mods folder even when fs_game is specified.
This commit is contained in:
@ -1177,12 +1177,12 @@ namespace IW4MAdmin
|
||||
GameDirectory = EventParser.Configuration.GameDirectory ?? "",
|
||||
ModDirectory = game.Value ?? "",
|
||||
LogFile = logfile.Value,
|
||||
IsWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows)
|
||||
IsWindows = RuntimeInformation.IsOSPlatform(OSPlatform.Windows),
|
||||
IsOneLog = RconParser.IsOneLog
|
||||
};
|
||||
LogPath = GenerateLogPath(logInfo);
|
||||
ServerLogger.LogInformation("Game log information {@logInfo}", logInfo);
|
||||
|
||||
|
||||
if (!File.Exists(LogPath) && ServerConfig.GameLogServerUrl == null)
|
||||
{
|
||||
Console.WriteLine(loc["SERVER_ERROR_DNE"].FormatExt(LogPath));
|
||||
@ -1223,12 +1223,12 @@ namespace IW4MAdmin
|
||||
public static string GenerateLogPath(LogPathGeneratorInfo logInfo)
|
||||
{
|
||||
string logPath;
|
||||
string workingDirectory = logInfo.BasePathDirectory;
|
||||
var workingDirectory = logInfo.BasePathDirectory;
|
||||
|
||||
bool baseGameIsDirectory = !string.IsNullOrWhiteSpace(logInfo.BaseGameDirectory) &&
|
||||
var baseGameIsDirectory = !string.IsNullOrWhiteSpace(logInfo.BaseGameDirectory) &&
|
||||
logInfo.BaseGameDirectory.IndexOfAny(Utilities.DirectorySeparatorChars) != -1;
|
||||
|
||||
bool baseGameIsRelative = logInfo.BaseGameDirectory.FixDirectoryCharacters()
|
||||
var baseGameIsRelative = logInfo.BaseGameDirectory.FixDirectoryCharacters()
|
||||
.Equals(logInfo.GameDirectory.FixDirectoryCharacters(), StringComparison.InvariantCultureIgnoreCase);
|
||||
|
||||
// we want to see if base game is provided and it 'looks' like a directory
|
||||
@ -1237,7 +1237,7 @@ namespace IW4MAdmin
|
||||
workingDirectory = logInfo.BaseGameDirectory;
|
||||
}
|
||||
|
||||
if (string.IsNullOrWhiteSpace(logInfo.ModDirectory))
|
||||
if (string.IsNullOrWhiteSpace(logInfo.ModDirectory) || logInfo.IsOneLog)
|
||||
{
|
||||
logPath = Path.Combine(workingDirectory, logInfo.GameDirectory, logInfo.LogFile);
|
||||
}
|
||||
|
@ -41,5 +41,11 @@ namespace IW4MAdmin.Application.Misc
|
||||
/// indicates if running on windows
|
||||
/// </summary>
|
||||
public bool IsWindows { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// indicates that the game does not log to the mods folder (when mod is loaded),
|
||||
/// but rather always to the fs_basegame directory
|
||||
/// </summary>
|
||||
public bool IsOneLog { get; set; }
|
||||
}
|
||||
}
|
||||
|
@ -75,11 +75,12 @@ namespace IW4MAdmin.Application.RConParsers
|
||||
public bool CanGenerateLogPath { get; set; } = true;
|
||||
public string Name { get; set; } = "Call of Duty";
|
||||
public string RConEngine { get; set; } = "COD";
|
||||
public bool IsOneLog { get; set; }
|
||||
|
||||
public async Task<string[]> ExecuteCommandAsync(IRConConnection connection, string command)
|
||||
{
|
||||
var response = await connection.SendQueryAsync(StaticHelpers.QueryType.COMMAND, command);
|
||||
return response.Skip(1).ToArray();
|
||||
return response.Where(item => item != Configuration.CommandPrefixes.RConResponse).ToArray();
|
||||
}
|
||||
|
||||
public async Task<Dvar<T>> GetDvarAsync<T>(IRConConnection connection, string dvarName, T fallbackValue = default)
|
||||
|
Reference in New Issue
Block a user