上一篇中使用的是mcpi,但这个只能操作方块,搭建地图。没法操控生成人物。
mcpi
的本质是一个方块操作 的遥控器。而要添加真正的角色,我们需要一个服务器管理 的遥控器。最标准、最强大的方法就是使用 RCON (Remote Console) 协议。
核心方法:使用 RCON 发送 /summon
命令
RCON 允许你从一个外部程序(比如你的 Python 脚本)连接到 Minecraft 服务器,并像服务器管理员一样执行任何控制台命令。而添加角色最核心的命令就是 /summon
。
这种方法的优势是:
- 功能极其强大 : 你可以召唤 Minecraft 中任何实体,从村民、僵尸到末影龙、盔甲架。
- 深度定制 : 使用 NBT 标签,你可以为生成的角色添加自定义名称、装备、属性、AI行为等,这是
mcpi
完全无法做到的。 - 通用标准: RCON 是大多数 Minecraft 服务器(包括官方版、Spigot、Paper等)都支持的标准功能。
操作步骤
第1步:在你的服务器上启用 RCON
这是最关键的一步。你需要修改服务器的配置文件 server.properties
:

-
打开你的 Minecraft 服务器文件夹。
-
找到并用文本编辑器打开
server.properties
文件。 -
找到并修改以下三行:
enable-rcon=true # 将 false 改为 true 来启用RCON rcon.port=25575 # RCON的端口,保持默认即可 rcon.password=your_secret_password # 设置一个你自己的安全密码
-
保存文件并重启你的 Minecraft 服务器,让配置生效。
第2步:在 Python 中安装 RCON 库
我们需要一个库来帮助我们处理 RCON 连接。mcrcon
是一个非常好的选择,它简单易用。
在你的终端或命令提示符中运行以下命令来安装它:
pip install mcrcon

第3步:编写 Python 代码来添加角色
现在,我们可以编写 Python 代码来连接服务器并发送 /summon
命令了。
示例1:生成一个简单的僵尸
这个例子会在玩家当前位置生成一个普通的僵尸。
python
from mcrcon import MCRcon
# --- 服务器连接信息 ---
# 替换成你自己的服务器IP、RCON端口和密码
SERVER_IP = "127.0.0.1" # 如果服务器和脚本在同一台电脑上,就用这个
RCON_PORT = 25575
RCON_PASSWORD = "your_secret_password" # 必须和你 server.properties 中设置的一致
# --- 连接到服务器 ---
try:
with MCRcon(SERVER_IP, RCON_PASSWORD, port=RCON_PORT) as mcr:
print("已成功连接到服务器 RCON。")
# 使用 @p 选择器,代表"最近的玩家"
# ~ ~ ~ 代表玩家的当前坐标
command = "summon minecraft:zombie ~ ~ ~"
print(f"正在执行命令: {command}")
resp = mcr.command(command)
print("服务器响应:", resp)
except Exception as e:
print(f"连接或执行命令时出错: {e}")
方法 | 设置复杂度 | 功能强度 | 推荐度 | 备注 |
---|---|---|---|---|
RCON | 低 | 非常高 | ★★★★★ | 最佳选择。只需修改配置文件,就能解锁几乎所有服务器功能。 |
mcpi |
低 | 低 | ★☆☆☆☆ | 只能操作方块,无法添加或控制实体。 |
Jython插件 | 高 | 极限 | ★★★☆☆ | 适合希望深度集成、响应游戏内事件的专业开发者。 |
自定义插件 | 非常高 | 极限 | ★★☆☆☆ | 适合有特定需求,且同时精通 Java 和 Python 的开发者。 |
学习和使用 RCON 是最直接、最有效、最值得投入时间的方法。它将为你打开一扇全新的大门,让你用 Python 真正地"导演"你的 Minecraft 世界。