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.
Files changed (2) hide show
  1. package/lib/index.js +13 -9
  2. 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>延迟</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 === "在线" ? `${server.latency}ms` : "-"}</td>
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
- latency: 0,
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
- latency: 0,
420
- status: "离线"
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) {
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "koishi-plugin-cs2-server-query",
3
3
  "description": "自用,不推荐下载",
4
- "version": "1.6.0",
4
+ "version": "1.7.0",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
7
7
  "files": [