使用说明

项目简介

本项目是一个基于 Model Context Protocol (MCP) 的服务器实现,专门用于管理 Counter-Strike 2 (CS2) 游戏服务器。它允许用户通过支持 MCP 协议的客户端(如 Cursor 或配置后的 GitHub Copilot)使用自然语言指令来远程控制和监控 CS2 服务器。

主要功能点

  • 自然语言管理CS2服务器: 通过自然语言指令即可管理服务器,无需记忆复杂的 RCON 命令。
  • RCON命令执行: 支持执行任何 CS2 服务器的 RCON 命令。
  • 服务器状态监控: 可以获取服务器的实时状态信息,包括玩家列表、地图信息等。
  • SSE通信: 使用 Server-Sent Events (SSE) 技术实现与客户端的实时通信。
  • Docker部署: 提供 Docker 镜像,方便快捷部署。

安装步骤

  1. 安装 Python 环境: 确保已安装 Python 3.8 或更高版本。
  2. 安装项目: 克隆或下载仓库代码后,在项目根目录下运行以下命令安装:
    pip install -e .

服务器配置

MCP 客户端需要配置 MCP 服务器的连接信息。以下是针对 Cursor 或其他 MCP 客户端的配置示例('~/.cursor/mcp.json' 或客户端相应的配置文件),请根据实际情况修改:

{
  "mcpServers": {
    "cs2server": {
      "url": "http://localhost:8080/cs2server/sse",
      "command": "rcon-mcp",
      "args": [],
      "serverName": "CS2 RCON MCP Server",
      "description": "管理 CS2 服务器",
      "environmentVariables": [
        {"name": "HOST", "label": "CS2 服务器 IP", "description": "您的 CS2 服务器 IP 地址"},
        {"name": "SERVER_PORT", "label": "CS2 服务器端口", "description": "您的 CS2 服务器 RCON 端口"},
        {"name": "RCON_PASSWORD", "label": "RCON 密码", "description": "您的 CS2 服务器 RCON 密码"}
      ]
    }
  }
}

配置参数说明:

  • '"url"': MCP 服务器的 SSE 连接地址,默认为 'http://localhost:8080/cs2server/sse'。
  • '"command"': 启动 MCP 服务器的命令,这里设置为 'rcon-mcp',对应项目的入口点。
  • '"args"': 启动命令的参数,本项目无需额外参数,保持为空列表 '[]' 即可。
  • '"serverName"': 在 MCP 客户端中显示的服务名称,可以自定义。
  • '"description"': 服务的描述信息,方便在客户端中识别。
  • '"environmentVariables"': 重要,MCP 客户端需要用户配置的环境变量,这些变量会被传递给 MCP 服务器,用于连接 CS2 服务器。
    • '"HOST"': CS2 服务器的 IP 地址。
    • '"SERVER_PORT"': CS2 服务器的 RCON 端口。
    • '"RCON_PASSWORD"': CS2 服务器的 RCON 密码。

注意: 请务必在 MCP 客户端中正确配置上述环境变量,否则 MCP 服务器将无法连接到您的 CS2 服务器。

基本使用方法

  1. 启动 MCP 服务器: 在安装好项目并配置好环境变量后,运行以下命令启动服务器:
    python -m rcon_mcp
    或者,如果您使用 Docker 部署,请参考仓库 README 中的 Docker 运行指南。
  2. 配置 MCP 客户端: 根据上述 “服务器配置” 部分,配置您的 MCP 客户端(如 Cursor)。
  3. 使用自然语言指令: 在 MCP 客户端中,您可以使用自然语言指令来管理 CS2 服务器。例如:
    • “添加 5 个机器人并开始 dust2 地图的竞技模式”
    • “服务器当前状态如何?有多少玩家在线?现在是什么地图?”
    • “重启游戏”
    • “切换地图到 inferno”

更多可用命令,请参考仓库 README 或 'src/rcon_mcp/commands.py' 文件中 'RCONCommands.get_available_commands()' 方法的定义。

信息

分类

开发者工具