koishi-plugin-cs2-server-query 1.6.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.js +13 -9
- package/package.json +1 -1
package/lib/index.js
CHANGED
|
@@ -210,7 +210,7 @@ function apply(ctx, config) {
|
|
|
210
210
|
<th>服务器名称</th>
|
|
211
211
|
<th>地图</th>
|
|
212
212
|
<th>玩家</th>
|
|
213
|
-
<th
|
|
213
|
+
<th>地图存在时间</th>
|
|
214
214
|
<th>状态</th>
|
|
215
215
|
<th>IP 地址</th>
|
|
216
216
|
</tr>
|
|
@@ -218,6 +218,7 @@ function apply(ctx, config) {
|
|
|
218
218
|
const translation = mapTranslations2[server.map];
|
|
219
219
|
const difficulty = translation?.difficulty;
|
|
220
220
|
const difficultyColor = difficulty ? difficultyColors[difficulty] : "#000000";
|
|
221
|
+
const mapDuration = server.status === "在线" ? Math.floor((Date.now() - server.mapChangeTime) / 6e4) : 0;
|
|
221
222
|
return `
|
|
222
223
|
<tr>
|
|
223
224
|
<td>${index + 1}</td>
|
|
@@ -228,7 +229,7 @@ function apply(ctx, config) {
|
|
|
228
229
|
${difficulty ? `<span class="difficulty" style="background-color: ${difficultyColor};">${difficulty}</span>` : ""}
|
|
229
230
|
</td>
|
|
230
231
|
<td>${server.status === "在线" ? `${server.players}/${server.maxPlayers}` : "-"}</td>
|
|
231
|
-
<td>${server.status === "在线" ? `${
|
|
232
|
+
<td>${server.status === "在线" ? `${mapDuration}分钟` : "-"}</td>
|
|
232
233
|
<td class="status-${server.status === "在线" ? "online" : "offline"}">${server.status}</td>
|
|
233
234
|
<td><code>${server.ip}</code></td>
|
|
234
235
|
</tr>
|
|
@@ -328,7 +329,6 @@ function apply(ctx, config) {
|
|
|
328
329
|
server.map = info.map;
|
|
329
330
|
server.players = info.players;
|
|
330
331
|
server.maxPlayers = info.maxPlayers;
|
|
331
|
-
server.latency = 0;
|
|
332
332
|
server.status = "在线";
|
|
333
333
|
} catch (err) {
|
|
334
334
|
server.status = "离线";
|
|
@@ -351,6 +351,9 @@ function apply(ctx, config) {
|
|
|
351
351
|
for (const server of group.servers) {
|
|
352
352
|
try {
|
|
353
353
|
const info = await (0, import_steam_server_query.queryGameServerInfo)(server.ip);
|
|
354
|
+
if (server.map !== info.map) {
|
|
355
|
+
server.mapChangeTime = Date.now();
|
|
356
|
+
}
|
|
354
357
|
server.name = info.name || server.name;
|
|
355
358
|
server.map = info.map;
|
|
356
359
|
server.players = info.players;
|
|
@@ -402,9 +405,10 @@ connect ${server.ip}`;
|
|
|
402
405
|
map: info.map,
|
|
403
406
|
players: info.players,
|
|
404
407
|
maxPlayers: info.maxPlayers,
|
|
405
|
-
|
|
406
|
-
status: "在线"
|
|
408
|
+
status: "在线",
|
|
407
409
|
// 默认状态为在线
|
|
410
|
+
mapChangeTime: Date.now()
|
|
411
|
+
// 初始化地图更换时间
|
|
408
412
|
});
|
|
409
413
|
saveData();
|
|
410
414
|
return `服务器 "${serverName}" (${ip}) 已成功添加到社区 "${groupName}" 中。`;
|
|
@@ -416,8 +420,9 @@ connect ${server.ip}`;
|
|
|
416
420
|
map: "未知",
|
|
417
421
|
players: 0,
|
|
418
422
|
maxPlayers: 0,
|
|
419
|
-
|
|
420
|
-
|
|
423
|
+
status: "离线",
|
|
424
|
+
mapChangeTime: Date.now()
|
|
425
|
+
// 初始化地图更换时间
|
|
421
426
|
});
|
|
422
427
|
saveData();
|
|
423
428
|
return `服务器 "${serverName}" (${ip}) 已添加到社区 "${groupName}" 中,但当前状态为离线。`;
|
|
@@ -437,7 +442,6 @@ connect ${server.ip}`;
|
|
|
437
442
|
server.map = info.map;
|
|
438
443
|
server.players = info.players;
|
|
439
444
|
server.maxPlayers = info.maxPlayers;
|
|
440
|
-
server.latency = 0;
|
|
441
445
|
server.status = "在线";
|
|
442
446
|
saveData();
|
|
443
447
|
return `服务器 ${serverIndex} 的IP地址已从 ${oldIP} 替换为 ${newIP},并成功更新服务器信息。`;
|
|
@@ -447,7 +451,6 @@ connect ${server.ip}`;
|
|
|
447
451
|
server.map = "未知";
|
|
448
452
|
server.players = 0;
|
|
449
453
|
server.maxPlayers = 0;
|
|
450
|
-
server.latency = 0;
|
|
451
454
|
server.status = "离线";
|
|
452
455
|
saveData();
|
|
453
456
|
return `服务器 ${serverIndex} 的IP地址已从 ${oldIP} 替换为 ${newIP},但当前状态为离线。`;
|
|
@@ -728,6 +731,7 @@ ${subscriptionList}`;
|
|
|
728
731
|
const info = await (0, import_steam_server_query.queryGameServerInfo)(server.ip);
|
|
729
732
|
const newMap = info.map;
|
|
730
733
|
if (server.map !== newMap) {
|
|
734
|
+
server.mapChangeTime = Date.now();
|
|
731
735
|
server.map = newMap;
|
|
732
736
|
const relevantSubscriptions = subscriptions.filter((sub) => sub.groupName === group.name);
|
|
733
737
|
for (const sub of relevantSubscriptions) {
|