diff --git a/admin.php b/admin.php
index cb46973..f2d8b49 100644
--- a/admin.php
+++ b/admin.php
@@ -2635,8 +2635,13 @@ async function apiCall(action, params = {}, method = 'GET') {
async function loadUserGroups(el) {
el.innerHTML = '
加载中...
';
try {
- const res = await apiCall('list_user_groups');
+ const [res, configRes] = await Promise.all([
+ apiCall('list_user_groups'),
+ fetch('api/land_api.php?action=get_config&secret=sdf1_web_comm_2026_ypshidifu').then(r => r.json()).catch(() => ({config:{}}))
+ ]);
const groups = res.groups || [];
+ const homeCfg = (configRes.config && configRes.config.max_home_per_player) || '5';
+ window._homeCfgData = homeCfg;
let html = '';
html += '
👥 用户组管理
';
@@ -2651,6 +2656,12 @@ async function loadUserGroups(el) {
${groups.length}
用户组总数
`;
+ // 全局传送点(home)上限卡片
+ html += `
+
${escAdmHtml(String(homeCfg))}
+
全局传送点上限(home)
+
+
`;
html += '';
// 用户组列表
@@ -2701,6 +2712,35 @@ async function loadUserGroups(el) {
}
}
+function showHomeConfig() {
+ const homeCfg = window._homeCfgData || '5';
+ const html = `
+
⚙️ 全局传送点上限配置
+
+
+
+
+
说明:该值为全局默认上限。若用户组配置了独立的Home上限(>0),则用户组上限覆盖此值;若用户组Home上限=0,则跟随此全局值;若用户组Home上限=-1,则该组玩家无限制。
+
+
`;
+ showModal('全局传送点上限', '', null, html);
+}
+
+async function saveHomeConfig() {
+ const maxHome = document.getElementById('cfgMaxHome')?.value || '5';
+ try {
+ await fetch('api/land_api.php?action=update_config', {
+ method: 'POST',
+ headers: {'Content-Type': 'application/x-www-form-urlencoded'},
+ body: 'key=max_home_per_player&value=' + encodeURIComponent(maxHome) + '&secret=sdf1_web_comm_2026_ypshidifu'
+ });
+ document.querySelector('.modal-close')?.click();
+ loadUserGroups(document.getElementById('C'));
+ } catch(e) {
+ glassAlert('保存失败: ' + e.message);
+ }
+}
+
function showAddUserGroup() {
const html = `
+ 新建用户组