1. 为什么你需要Python RCON脚本?
作为一个游戏服务器管理员,最头疼的事情莫过于同时管理多个不同游戏的服务器。比如早上要给《我的世界》玩家发公告,下午要重启《求生之路2》的服务器,晚上还要查看《方舟生存进化》的在线人数。如果每个游戏都要用不同的管理工具,那简直是场噩梦。
我刚开始管理服务器时也是这样,直到发现了Python的rcon库。这个神奇的库可以让我用同一套代码管理不同游戏的服务器,省去了切换各种管理工具的麻烦。实测下来,用Python脚本管理服务器比手动操作效率提升了至少5倍,特别是需要批量执行命令的时候。
RCON(Remote Console)协议是很多游戏服务器都支持的一种远程管理协议。它允许管理员通过TCP连接发送命令到游戏服务器,就像在服务器控制台直接输入命令一样。不过不同游戏使用的RCON协议实现可能不同,主要分为Source RCON和BattlEye RCON两种。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 环境准备与基础配置
2.1 安装必要的Python库
首先确保你已经安装了Python 3.6或更高版本。然后只需要一个简单的pip命令就能安装rcon库:
bash复制pip install rcon
这个库同时支持Source RCON和BattlEye RCON协议,所以不需要安装其他额外的包。我建议使用虚拟环境来管理依赖,这样可以避免与其他项目的依赖冲突:
bash复制python -m venv rcon_env
source rcon_env/bin/activate # Linux/macOS
rcon_env\Scripts\activate # Windows
pip install rcon
2.2 服务器端配置
在使用RCON之前,你需要在游戏服务器上启用RCON功能并设置密码。以《我的世界》服务器为例,在server.properties文件中需要设置:
code复制enable-rcon=true
rcon.password=your_secure_password
rcon.port=25575
《求生之路2》服务器则需要在启动参数中添加:
code复制+rcon_password "your_password" +hostport 27015
安全提示:RCON密码一定要设置得足够复杂,因为如果被破解,攻击者可以完全控制你的服务器。我建议使用至少16位的随机密码,包含大小写字母、数字和特殊符号。
3. 基础RCON连接实战
3.1 连接Source引擎服务器
Source RCON适用于《我的世界》(Java版1.9pre4之后)、《求生之路2》、《CS:GO》、《Garry's Mod》等游戏。下面是一个完整的连接示例:
python复制from rcon.source import Client
HOST = '127.0.0.1' # 服务器IP
PORT = 25575 # RCON端口
PASSWORD = 'your_password' # RCON密码
def send_rcon_command(command):
try:
with Client(HOST, PORT, PASSWORD, timeout=5.0) as client:
response = client.run(command)
return response
except Exception as e:
print(f"连接失败: {e}")
return None
# 示例:获取服务器状态
status = send_rcon_command('status')
print(status)
# 示例:向所有玩家广播消息
broadcast = send_rcon_command('say 服务器将在5分钟后重启,请做好准备!')
这个基础脚本已经可以完成90%的日常管理工作了。我经常用它来执行重启服务器、踢出玩家、发送公告等操作。
3.2 连接BattlEye服务器
BattlEye RCON用于《方舟生存进化》、《绝地求生》、《彩虹六号》等游戏。连接方式略有不同:
python复制from rcon.battleye import Client
def battleye_rcon(command
