diff --git a/src/main/java/Sdf1_login/WebManager.java b/src/main/java/Sdf1_login/WebManager.java index 67eeb2a..8b74614 100644 --- a/src/main/java/Sdf1_login/WebManager.java +++ b/src/main/java/Sdf1_login/WebManager.java @@ -1603,6 +1603,12 @@ public class WebManager { } catch (Exception e) { /* 静默 */ } }); } + // ★ PHP→Java变更轮询(管理员在PHP改了配置/领地,Java及时拉取) + if (initialSyncComplete) { + submitNormalDbTask("TimerA-pollAdminChanges", () -> { + try { pollAdminChanges(); } catch (Exception e) { /* 静默 */ } + }); + } } // 自调度下一轮(3~5秒,快速响应登录请求,错峰避免锁库) @@ -3110,6 +3116,16 @@ public class WebManager { } break; } + case "config_change": { + String configKey = String.valueOf(changeData.getOrDefault("key", "")); + String configValue = String.valueOf(changeData.getOrDefault("value", "")); + if (!configKey.isEmpty()) { + areaProtect.setAreaConfigValue(configKey, configValue); + plugin.getLogger().info("[Web通信] PHP端更新全局配置: " + configKey + " = " + configValue); + hadChange = true; + } + break; + } default: plugin.getLogger().fine("[Web通信] 未知变更类型: " + changeType); }