moar logs
This commit is contained in:
parent
16a6cc9c76
commit
9734c68724
@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"serverLocation": "E:\\spt\\Server",
|
"serverLocation": "E:\\spt\\Server",
|
||||||
"threads": 20,
|
"threads": 10,
|
||||||
"threadPoolingTimeoutMs": 1000,
|
"threadPoolingTimeoutMs": 1000,
|
||||||
"jsonSerializer": "DotNet",
|
"jsonSerializer": "DotNet",
|
||||||
"manualGarbageCollectionCalls": false,
|
"manualGarbageCollectionCalls": false,
|
||||||
|
@ -42,11 +42,13 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
|
|||||||
|
|
||||||
Runners.Clear();
|
Runners.Clear();
|
||||||
// BSG changed the map data so static containers are now dynamic, so we need to scan all dumps for the static containers.
|
// BSG changed the map data so static containers are now dynamic, so we need to scan all dumps for the static containers.
|
||||||
|
LoggerFactory.GetInstance().Log("Queuing dumps for static data processing", LogLevel.Info);
|
||||||
foreach (var dumped in dumps)
|
foreach (var dumped in dumps)
|
||||||
{
|
{
|
||||||
Runners.Add(
|
Runners.Add(
|
||||||
Task.Factory.StartNew(() =>
|
Task.Factory.StartNew(() =>
|
||||||
{
|
{
|
||||||
|
LoggerFactory.GetInstance().Log($"Processing static data for file {dumped.BasicInfo.FileName}", LogLevel.Info);
|
||||||
var data = _jsonSerializer.Deserialize<RootData>(File.ReadAllText(dumped.BasicInfo.FileName));
|
var data = _jsonSerializer.Deserialize<RootData>(File.ReadAllText(dumped.BasicInfo.FileName));
|
||||||
// the if statement below will keep track of how many dumps we have for each map
|
// the if statement below will keep track of how many dumps we have for each map
|
||||||
lock (mapDumpCounterLock)
|
lock (mapDumpCounterLock)
|
||||||
@ -62,6 +64,7 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
|
|||||||
{
|
{
|
||||||
if (!staticContainers.ContainsKey(data.Data.Name))
|
if (!staticContainers.ContainsKey(data.Data.Name))
|
||||||
{
|
{
|
||||||
|
LoggerFactory.GetInstance().Log($"Doing first time process for map {data.Data.Name} of real static data", LogLevel.Info);
|
||||||
var mapStaticLoot = StaticLootProcessor.CreateRealStaticContainers(data);
|
var mapStaticLoot = StaticLootProcessor.CreateRealStaticContainers(data);
|
||||||
staticContainers[mapStaticLoot.Item1] = mapStaticLoot.Item2;
|
staticContainers[mapStaticLoot.Item1] = mapStaticLoot.Item2;
|
||||||
}
|
}
|
||||||
@ -102,6 +105,7 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
|
|||||||
}
|
}
|
||||||
|
|
||||||
Task.WaitAll(Runners.ToArray());
|
Task.WaitAll(Runners.ToArray());
|
||||||
|
LoggerFactory.GetInstance().Log("All static data processing threads finished", LogLevel.Info);
|
||||||
// Aggregate and calculate the probability of a static container
|
// Aggregate and calculate the probability of a static container
|
||||||
mapStaticContainersAggregated.ToDictionary(
|
mapStaticContainersAggregated.ToDictionary(
|
||||||
kv => kv.Key,
|
kv => kv.Key,
|
||||||
@ -117,29 +121,34 @@ public class MultithreadSteppedDumpProcessor : IDumpProcessor
|
|||||||
// Static containers
|
// Static containers
|
||||||
output.Add(OutputFileType.StaticContainer, staticContainers);
|
output.Add(OutputFileType.StaticContainer, staticContainers);
|
||||||
|
|
||||||
|
LoggerFactory.GetInstance().Log("Processing ammo distribution", LogLevel.Info);
|
||||||
// Ammo distribution
|
// Ammo distribution
|
||||||
output.Add(
|
output.Add(
|
||||||
OutputFileType.StaticAmmo,
|
OutputFileType.StaticAmmo,
|
||||||
StaticLootProcessor.CreateAmmoDistribution(dumpProcessData.ContainerCounts)
|
StaticLootProcessor.CreateAmmoDistribution(dumpProcessData.ContainerCounts)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
LoggerFactory.GetInstance().Log("Processing static loot distribution", LogLevel.Info);
|
||||||
// Static loot distribution
|
// Static loot distribution
|
||||||
output.Add(
|
output.Add(
|
||||||
OutputFileType.StaticLoot,
|
OutputFileType.StaticLoot,
|
||||||
StaticLootProcessor.CreateStaticLootDistribution(dumpProcessData.ContainerCounts)
|
StaticLootProcessor.CreateStaticLootDistribution(dumpProcessData.ContainerCounts)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
LoggerFactory.GetInstance().Log("Processing loose loot distribution", LogLevel.Info);
|
||||||
// Loose loot distribution
|
// Loose loot distribution
|
||||||
var looseLootDistribution = LooseLootProcessor.CreateLooseLootDistribution(
|
var looseLootDistribution = LooseLootProcessor.CreateLooseLootDistribution(
|
||||||
dumpProcessData.MapCounts,
|
dumpProcessData.MapCounts,
|
||||||
dumpProcessData.LooseLootCounts
|
dumpProcessData.LooseLootCounts
|
||||||
);
|
);
|
||||||
|
|
||||||
|
LoggerFactory.GetInstance().Log("Collecting loose loot distribution information", LogLevel.Info);
|
||||||
var loot = dumpProcessData.MapCounts
|
var loot = dumpProcessData.MapCounts
|
||||||
.Select(mapCount => mapCount.Key)
|
.Select(mapCount => mapCount.Key)
|
||||||
.ToDictionary(mi => mi, mi => looseLootDistribution[mi]);
|
.ToDictionary(mi => mi, mi => looseLootDistribution[mi]);
|
||||||
|
|
||||||
output.Add(OutputFileType.LooseLoot, loot);
|
output.Add(OutputFileType.LooseLoot, loot);
|
||||||
|
LoggerFactory.GetInstance().Log("Dump processing fully completed!", LogLevel.Info);
|
||||||
return output;
|
return output;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user