代码拉取完成,页面将自动刷新
================================================================ 功能亮点: 更新更全面的网页版统计信息(可统计单个地图或全图, 页面内容可自定义) 详尽的实时战况(双方HP, 每枪命中多少伤害, 是否穿墙, 是否爆头, 是否击杀等) 数据采集和插件本身分离(换图等均不影响服务器) 得分、评级、战力三排行(计算方式均可自定义) 兼容有论坛和无论坛模式(修改个别文件即可) 杀敌徽章和音效: 多杀、爆头、穿墙、穿墙爆头、刀杀等 右上角向导信息(默认显示统计信息, 可自定义) 第一人称观战时显示被观察者信息(可自定义) 实现从网页到游戏的数据传输(猜猜这意味着什么?) 网页显示服务器实时状态 支持多个命令(top等命令本身也可自定义): 按Y输入 top 显示排行榜(可切换地图或全图) 按Y输入 as 显示本局实时排名战况 按Y输入 ms 显示我的战况和统计详情(可切换地图或全图) 按Y输入 hs 显示被观察者的战况和统计详情(可切换地图或全图) 按Y输入 #123456 注册用户(仅限无论坛模式) 按Y输入 *123456 修改密码 按Y输入 !cser 修改签名 STEAM正版用户自动登录(无论坛模式、或论坛注册用户已关联好steamid) STEAM正版用户自动注册(仅限无论坛模式) ================================================================ 文件说明: -------------------------------- |-center | |-as_*.py ------------------ 数据中心核心, 可用记事本打开编辑配置项, 接收并存储数据, 可向指定服务器发送命令, 其他功能待扩展 | |-as_tables.sql ------------ 数据库表, 建库后导入使用, 包含内容见下文 | |-as_views.sql ------------- 数据库视图, 建库后导入使用, 包含内容见下文 | | 表 as_users: 用户信息, 记录用户姓名、头像、签名、注册时间、登录时间, 可以换成论坛等其他系统的用户表 | 表 as_fights: 实时战况 | | 表 as_map_ranking: 地图排名数据 | 表 as_map_bombs: 地图炸弹数据 | 表 as_map_rounds: 地图回合数据 | 表 as_map_weapons: 地图各武器数据 | 表 as_map_bodyhits: 地图各武器命中部位数据 | 视图 as_map_weapons_sum: 地图全武器数据 | 视图 as_map_bodyhits_sum: 地图全武器命中部位数据 | 视图 as_map_stats: 地图所有数据 | | 表 as_all_ranking: 全图排名数据 | 视图 as_all_bombs: 全图炸弹数据 | 视图 as_all_rounds: 全图回合数据 | 视图 as_all_weapons: 全图各武器数据 | 视图 as_all_bodyhits: 全图各武器命中部位数据 | 视图 as_all_weapons_sum: 全图全武器数据 | 视图 as_all_bodyhits_sum: 全图全武器命中部位数据 | 视图 as_all_stats: 全图所有数据 | |-web -------------------------- 网页展示部分, 使用IIS等web服务器挂载目录, 请将网址配置在as.cfg文件中, 建议把文件夹移动到网站目录 | |-cstrike |-gfx resource sound sprites ----- 插件资源文件 |-addons/amxmodx | |-configs | |-as.cfg --------------- 插件参数设置, 网站地址配置等 | |-data | |-myip.txt ------------- 自定义ip地址数据 | |-wry.dat -------------- 纯真IP数据库 | |-lang | |-as.txt ----------- 插件语言设置(个别消息内容部分(即等号=后面)如果添加减号-开头, 则不显示该条消息, 例如: USAGE = -使用说明) | |-modules | |-as_amxx.dll ---------- 插件核心, 采集和发布数据, 提供多个forward和native | |-ipseeker_amxx.dll ---- ip地址查询模块 | |-plugins | |-as.amxx -------------- 插件命令和功能, 并提供第一视角观察时显示被观察者信息 | |-as_custom.amxx ------- 登录、改密码、改签名、得分、评级、战力计算模块, 附源码, 可自定义 | |-scripting |-as_custom.sma -------- 登录、改密码、改签名、得分、评级、战力计算模块源码 |-include |-as.inc ----------- 插件提供的头文件, 供编写自定义插件使用 -------------------------------- ================================================================ 请不要使用记事本修改文件(会导致文件格式被修改成UTF-8 BOM, 正确的应该是UTF8), 建议使用notepad++ 安装说明:(我在软件目录放了一些需要的安装包) 0. 写在前面 建议用win7或win10或server系统的自带的IIS + PHP + mariadb进行部署 非win7或win10或server的老系统, 因为我没测试过, 建议用wampserver进行部署 如果需要使用"网页到游戏的数据传输", 请安装php_zmq这个扩展 1.复制cstrike下各文件夹到游戏安装目录的cstrike对应文件夹中(省事一点直接复制cstrike, 会自动合并同名文件夹的) 2.在modules.ini 的third party modules部分添加 as 3.在plugins.ini 最后添加 as.amxx debug as_custom.amxx debug 4.数据存储部分需要安装 Python 3.7.x 或 3.8.x 安装时记得勾上add to path, 如果忘了请手动添加2个内容[安装路径和Scripts路径]到环境变量path 安装模块, 在命令行执行以下内容(可跳过, 现在as.py会自动判断并安装所需模块了, linux因权限问题还需手动) pip3 install requests dbutils pymysql pyzmq --upgrade -i https://mirrors.aliyun.com/pypi/simple/ 5.建立数据库(我的环境mariadb-10.3.11-winx64), 强烈推荐使用MariaDB(本项目实测效率比MySQL高好多) 然后依次导入as_tables.sql和as_views.sql文件, 如使用navicat导入的话, 记得导入后F5刷新下 6.运行as.py开始接收并保存数据到数据库 如果报错, 用记事本打开as.py, 修改数据库连接信息(地址、端口、用户、密码、库名、字符集) 7.安装web服务程序(以Windows系统自带的IIS为例), 记得先添加php文件格式支持(自行百度) 打开IIS管理器, 在网站默认站点中添加虚拟目录 别名: as 物理路径: 选择web文件夹 8.添加php文件格式支持(自行百度) 添加php_zmq支持, 相关的文件在软件目录内有(这3行可选操作, 仅console.php和servers.php用到这个库) 复制libzmq.dll到php安装目录, 比如d:\php(如果是用apache等其他web服务程序, 就放到执行文件对应的路径, 比如apache\bin) 复制php_zmq.dll到php安装目录\ext文件夹, 比如d:\php\ext php.ini查找放开注释或添加以下内容(新手首次安装, 嫌麻烦的话可以直接用我的php.ini, 复制到C:\Windows目录) extension_dir = "ext" extension=gd2 extension=mbstring extension=mysqli extension=zmq 9.设置部分参考图片 设置1.png 设置2.png 设置3.png 设置4-1.png 设置4-2.png 设置5.png 使用: 运行as.py采集数据 运行服务器1 运行服务器2 运行服务器3 ... PS: 登录部分请自行修改as_custom.sma ================================================================ 更新日志: ---------------------------------------------------------------- 20210101 修正一处bug 20201208 新增linux版本 新增获取排名总数 新增as_custom的say命令改名功能 新增as_custom的数据库掉线自动重连 新增as_custom的可自定义声音和徽章 修正servers.php的计分板 修正玩家被kick时未清空数据的bug 修正as_custom的中文引起的sql回调问题 改进as.py的清理效率 ---------------------------------------------------------------- 20201101 修改穿墙判定(一枪穿多人时命中每人的部位更准确) as.inc新增获取排名总数 as.cfg新增参数as_sync_interval, 设置数据同步的周期用于死亡竞赛同步数据 as_custom.sma添加自定义观察者信息示例 添加amxmodx 1.9.0的版本支持 修正as.amxx和as_custom.amxx几处bug 20201015 添加MVP、助攻(伤害助攻和闪光灯助攻)、KAST数据 添加残局获胜(1vs1、1vs2、1vs3、1vs4、1vs5)数据 as.py增加calc命令, 用于计算公式修改后, 重新计算并更新数据 新增as.cfg配置项as_assist_damage, 设置助攻所需的伤害 新增as.cfg配置项as_traded_delay, 设置判定换人的延迟 修正as_socket_filter未能正确生效的问题, 并扩展了filter的内容 强化修正中文名乱码问题, 详情见as_custom.sma rws的计算公式有所修改, 详情见as_custom.sma as.inc新增as_player_assist助攻回调 as_tables.sql和as_views.sql添加mvp、assist、kast等内容 PS: 数据更新部分参考上个版本的方法, 因mvp、助攻、kast数据与游戏局数相关, 算上之前没有统计的局数会导致总体数值较差, 这边建议直接放弃旧的数据 ---------------------------------------------------------------- 20200901 添加新的数据维度mode(即游戏模式, 例如休闲、竞技等), 不同模式各自统计 添加RWS战力排行, 可在as_custom.sma中的native_calc_rws函数中自定义算法 升级zmq版本到4.3.2, 现在hlds和as.py放不同机子不会报Protocol wrong type错误了 修正按TAB键右上角广告牌无法正确出现的问题 修正as_custom.sma注册时名字中文乱码问题, 加上了强制set names 'utf8'; 修正as_custom.sma禁止玩家改名 添加未参战玩家更换队伍并马上死后, 统计数据改为观战者 添加论坛模式, STEAM正版用户自动登录(需先在论坛里关联好STEAMID) 添加网页上的RWS战力数据 as.cfg添加as_valid控制数据统计手动开关(方便比赛服热身时不记录) 现在as_tutor_flag、as_badge_flag、as_badge_sound_flag关闭时不再缓冲相应文件 PS: 因as_tables.sql有更新, 请自行做好数据备份与导出导入 推荐做法(以navicat为例): 1.备份数据: 右键数据库, 转储SQL文件, 结构和数据 2.导出表: 右键表, 导出向导, SQL脚本, 勾选8个表, 下一步, 下一步, 下一步, 开始 3.导入as_tables.sql和as_views.sql 4.导入步骤2中的每个sql ---------------------------------------------------------------- 1.3+ (相比上个版本更新文件: 修改as_amxx.dll、新增as.py、删除as.ini、as.pyc) 新增自动清理功能(表as_fights), 可自定义清理频率和保留的记录数, 详情见as.py 新增数据库配置项: 字符集, 建议采用utf8mb4, 历史原因这里就保持utf8不修改了 数据库采用连接池方式 合并as.ini和as.pyc到as.py 删除'版本未生效'的提示 PS: 如有兴趣, 请自行操作: (其实极个别生僻字的出现概率不大, utf8够用了) 建库时选择utf8mb4 as_tables.sql中搜索utf8修改成utf8mb4 as_views.sql中搜索utf8修改成utf8mb4 core.php搜索utf8修改成utf8mb4 as_custom.sma中搜索utf8修改成utf8mb4, 记得重新编译替换as_custom.amxx ---------------------------------------------------------------- 1.3 改进了数据传输部分, 由旧的2通道(一收一发)改成新的4通道(数据发、数据收、命令发、命令收) 新增服务器状态显示功能, 详情见servers.php(请自行修改其中的内外网IP转换部分) 新增数据包过滤功能, 减少通信数据量, 详情见as.cfg中的as_socket_filter 新增一个防止刷分的参数, 详情见as.cfg中的as_player_limit 新增点击top.php标题可以按该分类进行排序 修正一处fights.php时间戳有误的bug(重要修正) ---------------------------------------------------------------- 1.2 新增从网页到游戏的数据传输, 并提供演示, 抛砖引玉, 用这个还可以做什么? 大家发挥一下自己的想象力 分离出weapons.php, 改成iframe的方式嵌入stats.php中, 并新增点击标题可以按该分类进行排序 修改网页配色, 替换网页的武器图片 新增禁止用户同时多处登录 PS: weapons.php 和 fights.php 都可以单独查看, 分别表示所有玩家的武器数据统计和全服战况 ---------------------------------------------------------------- 1.1 release 新增数据同步 新增游戏中注册(仅限无论坛模式)、登录、修改密码、修改签名 添加网页界面top stats fights 添加say命令 top as allstats ms mystats hs hisstats, 可自定义 添加多杀、爆头杀敌、穿墙杀敌等语音和图标提示(仿CF) 添加右上方信息面板(向导) ---------------------------------------------------------------- 1.0d 添加as.ini配置文件, as.py编译成as.pyc as.pyc添加命令功能, 数据收集改成多线程方式 ---------------------------------------------------------------- 1.0c 修正死亡竞赛模式时, 每次杀敌都触发一血的bug 规范化as_amxx.dll和as.py之间的通讯报文 扩展as.py, 注明所有报文参数说明 ---------------------------------------------------------------- 1.0b 修正获取中文名时乱码的bug ---------------------------------------------------------------- 1.0a 初版AllStats, 核心采用module的方式编写
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。