You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Minecraft Server Status命令失效,App Commands实现遇阻求助

Minecraft Server Status命令无响应及App Commands实现失败排查

问题概述

  • 使用Minecraft Server Status命令无任何输出,提示命令无响应
  • 调整相关设置后问题仍未解决
  • 尝试通过App Commands实现该功能也以失败告终

排查步骤

一、基础连通性验证

  • 确认MC服务器可用性:直接使用Minecraft客户端尝试连接目标服务器,排除服务器本身离线的可能
  • 测试端口连通性:在运行命令的主机上执行以下命令,检查是否能访问服务器默认端口(25565):
    telnet <服务器IP> 25565
    # 或使用nc工具
    nc -zv <服务器IP> 25565
    
  • 核对命令参数:检查命令中填写的服务器IP、端口是否正确,是否遗漏必填参数

二、命令本身的问题排查

  • 查看日志输出:检查命令执行时的系统日志或应用日志,是否有被忽略的错误信息
  • 直接测试API调用:如果命令依赖第三方状态查询API,执行以下命令测试接口可用性:
    curl -s "<服务器IP>:<端口>/status"
    # 或使用公开状态API示例
    curl -s "https://api.mcsrvstat.us/2/<服务器IP>:<端口>"
    

三、App Commands实现排查

假设你的App Commands代码(以Discord.js为例)如下:

const { SlashCommandBuilder } = require('@discordjs/builders');
const mc = require('minecraft-server-util');

module.exports = {
  data: new SlashCommandBuilder()
    .setName('mcstatus')
    .setDescription('查询Minecraft服务器状态')
    .addStringOption(option =>
      option.setName('ip')
        .setDescription('服务器IP地址')
        .setRequired(true)),
  async execute(interaction) {
    const ip = interaction.options.getString('ip');
    try {
      const status = await mc.status(ip);
      await interaction.reply(`服务器在线 | 玩家数:${status.players.online}/${status.players.max}`);
    } catch (error) {
      await interaction.reply('无法获取服务器状态');
    }
  },
};

针对这类代码的排查点:

  • 检查依赖包:确认minecraft-server-util等相关包已正确安装,执行npm list minecraft-server-util验证
  • 完善错误处理:修改代码打印具体错误信息,定位失败原因:
    catch (error) {
      console.error('状态查询失败:', error);
      await interaction.reply(`错误详情:${error.message}`);
    }
    
  • 确认权限与注册:确保机器人拥有发送消息的权限,且App Commands已正确注册到目标服务器
  • 设置超时参数:如果服务器响应缓慢,添加超时配置避免无响应:
    const status = await mc.status(ip, { timeout: 5000 }); // 设置5秒超时
    

四、其他潜在原因

  • 防火墙/代理拦截:检查运行命令或App的主机是否有防火墙拦截出站请求,或代理配置导致无法连接服务器
  • MC服务器设置:确认服务器server.properties中已开启enable-query=true,否则第三方工具无法获取状态信息

内容的提问来源于stack exchange,提问作者Kret873

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 12:37:37