# EventServer Python版本 这是一个Python 2.7版本的游戏事件接收与记录服务器,用于接收游戏客户端发送的事件数据并记录到本地文件中。 ## 功能特性 - TCP网络服务,接收游戏客户端/服务器事件 - 支持多种事件协议(二进制事件、字符串事件) - 客户端登录/登出/心跳管理 - 灵活的文件写入策略(按天/按小时/按大小/单文件) - 线程安全的数据处理 - 实时状态监控 ## 文件结构 ``` EventServerPY/ ├── main.py # 主程序入口 ├── config.py # 配置文件管理 ├── protocol.py # 网络协议定义 ├── server.py # TCP服务器 ├── clients_manager.py # 客户端管理 ├── file_manager.py # 文件写入管理 ├── packet_processor.py # 数据包处理 └── Config.ini # 配置文件 ``` ## 配置说明 Config.ini 配置文件说明: ```ini [WriteFile] WriteMode=1 ; 1=按天, 2=按小时, 3=按大小, 4=单文件 MaxFileSize=1024 ; 最大文件大小(KB),仅WriteMode=3时有效 LogFilePath=.\EventLogs ; 日志文件路径 [Network] ListenPort=60000 ; 监听端口 ``` ## 启动方式 ```bash python main.py ``` ## 数据格式 事件数据以JSON格式写入日志文件: ```json { "event_id": "1001", "data": "event_data_string", "timestamp": "2026-02-01 12:00:00", "cid": 1 } ``` ## 协议说明 ### 协议头 (2字节) - Cmd: 主命令 (1字节) - SubCmd: 子命令 (1字节) ### 主要协议 - `0x01 0x01` - 登录 - `0x01 0x02` - 登出 - `0x01 0x03` - 事件发送 - `0x01 0x04` - 心跳 - `0x01 0x05` - 字符串事件发送 ## 注意事项 1. 确保Python版本为2.7 2. 确保有足够的磁盘空间存储日志文件 3. 端口60000需要在防火墙中开放 4. 建议使用命令行启动以便查看实时日志 ## 状态监控 服务器每5秒显示一次状态: - Connections: 当前连接数 - Queue: 待处理数据包数量 - Success: 成功写入次数(增量/总计) - Fail: 失败写入次数(增量/总计)