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

Python3运行RCON脚本无服务器响应问题求助(原脚本支持Python2)

Python3 适配RCON脚本无响应问题解决方法

问题核心

Python2与Python3的字符串处理逻辑存在差异:Python2中字符串默认是字节流(bytes),而Python3中字符串为Unicode编码的str类型。原脚本直接传递str给socket.send,服务器接收的是错误编码的数据,因此无响应。

修改后的适配代码

import socket
import time

host = "192.168.1.12"  # 服务器IP
port = 28960  # 服务器端口
rcon_password = "rconhere"  # RCON密码
command = "say"  # 执行命令
messages = ['message1', 'message2', 'message3', 'message5']  # 消息列表

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.connect((host, port))
i = 0
while True:
    print("Sending..")
    # 将格式化后的字符串编码为bytes类型,满足Python3 socket.send的要求
    send_content = f"\xFF\xFF\xFF\xFFrcon {rcon_password} {command} {messages[i%len(messages)]}\0"
    sock.send(send_content.encode('utf-8'))
    i += 1
    time.sleep(60)

关键改动说明

  • 对要发送的内容调用encode('utf-8'),将Python3的str类型转换为socket.send所需的bytes类型
  • 保留原RCON协议要求的前缀\xFF\xFF\xFF\xFF和末尾的\0空字符,确保符合RCON通信规范

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:18:21