游戏更新维护serverlist服务器列表替换python脚本

本文介绍了一个使用Python编写的脚本,用于游戏服务器的更新维护。脚本根据传入的参数(start或stop)执行不同的操作,如替换ipconfig.txt文件,实现游戏服务的启动或停止状态切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在做一些项目更新维护时,可能需要手动将服务器状态切换到维护;维护完,再将服务器状态还原。如果用python脚本去完成的话。

脚本如下:

vi change.py

#!/use/bin/env python
# -- coding:utf-8 --

import sys,os,re

if len(sys.argv) != 2:
print ‘argv Error! Usage:%s (file|status)’%(sysy.argv[0])
sys.exit()

GAME_DIR = ‘/back/’ #原文件目录
START_DIR = ‘/back/start/’ #原文件中转存放目录
STOP_DIR = ‘/back/stop/’ #替换文件目录
STATUS = sys.argv[1].strip()

def jjstop():
cmd1 = ‘cp -p -f %s/ipconfig.txt %s’%(GAME_DIR,START_DIR)
cmd2 = ‘cp -p -f %s/ipconfig.txt %s’%(STOP_DIR,GAME_DIR)
os.popen(cmd1)
os.popen(cmd2)
print ‘::::::::::::::::::::: \n change stop ipconfig success! \n::::::::::::::::::::’

def jjstart():
cmd = ‘cp -rp %s/ipconfig.txt %s’%(START_DIR,GAME_DIR)
os.popen(cmd)
print ‘::::::::::::::::::::: \n change start ipconfig success! \n::::::::::::::::::::’

if re.search(‘start’,STATUS):
jjstart()
elif re.search(‘stop’,STATUS):
jjstop()
else:
print ‘Status Type Error!’


**维护命令:
[root@ip-172-31-33-93 ~]# python change.py stop
:::::::::::::::::::::
change stop ipconfig success!
::::::::::::::::::::
[root@ip-172-31-33-93 ~]# more /back/ipconfig.txt
stop

**维护完成命令:
[root@ip-172-31-33-93 ~]# python change.py start
:::::::::::::::::::::
change start ipconfig success!
::::::::::::::::::::
[root@ip-172-31-33-93 ~]# more /back/ipconfig.txt
start

–binghan li

树莓派(Raspberry Pi)通过MQTT协议连接CAN总线并转发数据,通常会使用Python库如`paho-mqtt`处理MQTT通信和`canmatrix-python`处理CAN报文。下面是一个简单的示例,假设你已经有了安装好的`canmatrix`和`paho-mqtt`库: ```python import paho.mqtt.client as mqtt from canmatrix import Matrix # 导入CAN相关的模块 # MQTT设置 mqtt_host = "your_mqtt_server_ip" mqtt_port = 1883 mqtt_topic_can = "can_bus/data" # 接收CAN报文的主题 mqtt_topic_forwarded = "mqtt/topic/to/send" # 发送MQTT消息的主题 # CAN初始化 can_db = Matrix("your_can_database.csv") # 加载CAN数据库文件 def on_message(client, userdata, message): # 处理接收到的MQTT消息 can_msg = process_mqtt_message(message.payload) if can_msg is not None: publish_can_msg(can_msg) def publish_can_msg(msg): # 转换CAN报文为MQTT消息格式 mqtt_msg = { "id": msg.frame_id, "data": list(msg.data), "timestamp": str(msg.timestamp) } client.publish(mqtt_topic_forwarded, json.dumps(mqtt_msg)) # MQTT客户端连接 client = mqtt.Client() client.on_message = on_message client.connect(mqtt_host, mqtt_port) # 订阅接收CAN报文主题 client.subscribe(mqtt_topic_can) # 开始循环监听 client.loop_forever() def process_mqtt_message(data): # 实现处理接收到的MQTT原始数据并转化为CAN消息的功能,这里只是一个简化版本,实际应用中需要解析CAN帧 try: can_msg_id = int(data.split(":")[0]) can_data = [int(byte) for byte in data.split(":")[1].split(",")] return Matrix.Frame(id=can_msg_id, data=can_data) except Exception as e: print(f"Error processing MQTT message: {e}") return None ``` 这个脚本创建了一个MQTT客户端订阅CAN报文,并在接收到报文后将其转换为MQTT消息发送出去。注意你需要替换`your_mqtt_server_ip`、`your_can_database.csv`以及相应的主题等信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值