bruh
This commit is contained in:
@@ -332,19 +332,6 @@ namespace KCM.LoadSaveOverrides
|
|||||||
Main.helper.Log($"Setting kingdom name to: {kingdomNames[Main.PlayerSteamID]}");
|
Main.helper.Log($"Setting kingdom name to: {kingdomNames[Main.PlayerSteamID]}");
|
||||||
TownNameUI.inst.SetTownName(kingdomNames[Main.PlayerSteamID]);
|
TownNameUI.inst.SetTownName(kingdomNames[Main.PlayerSteamID]);
|
||||||
|
|
||||||
// Force transition to PlayingMode to enable villager movement
|
|
||||||
try
|
|
||||||
{
|
|
||||||
Main.helper.Log("MultiplayerSaveContainer.Unpack: Setting PlayingMode");
|
|
||||||
GameState.inst.SetNewMode(GameState.inst.playingMode);
|
|
||||||
Main.helper.Log("MultiplayerSaveContainer.Unpack: PlayingMode set successfully");
|
|
||||||
}
|
|
||||||
catch (Exception e)
|
|
||||||
{
|
|
||||||
Main.helper.Log("MultiplayerSaveContainer.Unpack: Failed to set PlayingMode");
|
|
||||||
Main.helper.Log(e.ToString());
|
|
||||||
}
|
|
||||||
|
|
||||||
return obj;
|
return obj;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
48
Main.cs
48
Main.cs
@@ -290,26 +290,6 @@ namespace KCM
|
|||||||
{
|
{
|
||||||
helper?.Log("VillagerSystem.enabled = " + VillagerSystem.inst.enabled);
|
helper?.Log("VillagerSystem.enabled = " + VillagerSystem.inst.enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Force transition to PlayingMode to enable villager movement
|
|
||||||
try
|
|
||||||
{
|
|
||||||
if (GameState.inst != null)
|
|
||||||
{
|
|
||||||
helper?.Log("RunPostLoadRebuild: Current GameState mode: " + TryGetGameModeName());
|
|
||||||
if (GameState.inst.playingMode != null)
|
|
||||||
{
|
|
||||||
helper?.Log("RunPostLoadRebuild: Setting PlayingMode");
|
|
||||||
GameState.inst.SetNewMode(GameState.inst.playingMode);
|
|
||||||
helper?.Log("RunPostLoadRebuild: PlayingMode set successfully");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
catch (Exception ex)
|
|
||||||
{
|
|
||||||
helper?.Log("RunPostLoadRebuild: Failed to set PlayingMode");
|
|
||||||
helper?.Log(ex.ToString());
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
@@ -499,6 +479,22 @@ namespace KCM
|
|||||||
{
|
{
|
||||||
lastVillagerProbeMs = now;
|
lastVillagerProbeMs = now;
|
||||||
|
|
||||||
|
// Proactively check and fix loadTickDelay every 2 seconds
|
||||||
|
int villagerDelay = GetLoadTickDelayOrMinusOne(VillagerSystem.inst);
|
||||||
|
int unitDelay = GetLoadTickDelayOrMinusOne(UnitSystem.inst);
|
||||||
|
int jobDelay = GetLoadTickDelayOrMinusOne(JobSystem.inst);
|
||||||
|
int playerDelay = GetLoadTickDelayOrMinusOne(Player.inst);
|
||||||
|
|
||||||
|
if (villagerDelay <= 0 || unitDelay <= 0 || jobDelay <= 0 || playerDelay <= 0)
|
||||||
|
{
|
||||||
|
Main.helper.Log("LoadTickDelay refresh: delays were " +
|
||||||
|
playerDelay + "/" + unitDelay + "/" + jobDelay + "/" + villagerDelay + ", resetting to 1");
|
||||||
|
SetLoadTickDelay(Player.inst, 1);
|
||||||
|
SetLoadTickDelay(UnitSystem.inst, 1);
|
||||||
|
SetLoadTickDelay(JobSystem.inst, 1);
|
||||||
|
SetLoadTickDelay(VillagerSystem.inst, 1);
|
||||||
|
}
|
||||||
|
|
||||||
Villager v = null;
|
Villager v = null;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@@ -548,11 +544,15 @@ namespace KCM
|
|||||||
GetLoadTickDelayOrMinusOne(VillagerSystem.inst));
|
GetLoadTickDelayOrMinusOne(VillagerSystem.inst));
|
||||||
|
|
||||||
// Try to fix stalled systems by resetting loadTickDelay
|
// Try to fix stalled systems by resetting loadTickDelay
|
||||||
if (GetLoadTickDelayOrMinusOne(VillagerSystem.inst) == -1 ||
|
int villagerDelay = GetLoadTickDelayOrMinusOne(VillagerSystem.inst);
|
||||||
GetLoadTickDelayOrMinusOne(UnitSystem.inst) == -1 ||
|
int unitDelay = GetLoadTickDelayOrMinusOne(UnitSystem.inst);
|
||||||
GetLoadTickDelayOrMinusOne(JobSystem.inst) == -1)
|
int jobDelay = GetLoadTickDelayOrMinusOne(JobSystem.inst);
|
||||||
|
int playerDelay = GetLoadTickDelayOrMinusOne(Player.inst);
|
||||||
|
|
||||||
|
if (villagerDelay <= 0 || unitDelay <= 0 || jobDelay <= 0 || playerDelay <= 0)
|
||||||
{
|
{
|
||||||
Main.helper.Log("VillagerStallDetect: Attempting to fix stalled systems");
|
Main.helper.Log("VillagerStallDetect: Attempting to fix stalled systems (delays: " +
|
||||||
|
playerDelay + "/" + unitDelay + "/" + jobDelay + "/" + villagerDelay + ")");
|
||||||
SetLoadTickDelay(Player.inst, 1);
|
SetLoadTickDelay(Player.inst, 1);
|
||||||
SetLoadTickDelay(UnitSystem.inst, 1);
|
SetLoadTickDelay(UnitSystem.inst, 1);
|
||||||
SetLoadTickDelay(JobSystem.inst, 1);
|
SetLoadTickDelay(JobSystem.inst, 1);
|
||||||
|
|||||||
@@ -577,18 +577,14 @@ namespace KCM.StateManagement.Sync
|
|||||||
|
|
||||||
private static void BroadcastVillagerSnapshot()
|
private static void BroadcastVillagerSnapshot()
|
||||||
{
|
{
|
||||||
// TEMPORARILY DISABLED: VillagerSnapshot causes packet overflow errors
|
if (!KCServer.IsRunning)
|
||||||
// TODO: Fix villager synchronization properly
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
// if (!KCServer.IsRunning)
|
if (KCServer.server.ClientCount == 0)
|
||||||
// return;
|
return;
|
||||||
|
|
||||||
// if (KCServer.server.ClientCount == 0)
|
if (Villager.villagers == null || Villager.villagers.Count == 0)
|
||||||
// return;
|
return;
|
||||||
|
|
||||||
// if (Villager.villagers == null || Villager.villagers.Count == 0)
|
|
||||||
// return;
|
|
||||||
|
|
||||||
List<Guid> guids = new List<Guid>();
|
List<Guid> guids = new List<Guid>();
|
||||||
List<Vector3> positions = new List<Vector3>();
|
List<Vector3> positions = new List<Vector3>();
|
||||||
|
|||||||
Reference in New Issue
Block a user