用户工具

站点工具


simulation

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
simulation [2019/05/28 18:13] shenmosimulation [2019/06/11 15:00] (当前版本) shenmo
行 1: 行 1:
 ======模拟测试====== ======模拟测试======
 +
 +
  
 =====额外笔记===== =====额外笔记=====
  
  --- //[[shenmo@riceman.com.cn|沈默]] 2019/05/28 18:08//  --- //[[shenmo@riceman.com.cn|沈默]] 2019/05/28 18:08//
 +
 +
 +**group执行顺序:**
 +
 +* 先执行一轮[[generated::simulation_config]], 然后在time forward。 所以资源会出现还未消化的情况
 +
 +* 表格id顺序就是 执行顺序
  
  
行 18: 行 27:
 {{:pasted:20190528-181229.png}} {{:pasted:20190528-181229.png}}
  
-每次执行[[generated::GMExcuteSimulationGroup]]指令之后会重置 627 的状态。所以需要每次重新赋值+每次执行[[generated::GMSimulationGroupExcute]]指令之后会重置 627 的状态。所以需要每次重新赋值
  
-客户端控制台的循环方法+**客户端控制台的循环方法**
  
 |Wait(10)|等待10秒| |Wait(10)|等待10秒|
行 60: 行 69:
 |ShopBuy|商店购买|shop_config.id,num | |ShopBuy|商店购买|shop_config.id,num |
 |HeroTeamApply|阵容更换|无| |HeroTeamApply|阵容更换|无|
 +
 +//在服务器的ReportHelper.php中已经提供了道具和反馈的翻译功能,也可以进行关闭//
 +
 +
 +====网页====
 +
 +测试入口:[[http://116.62.174.73:8081/Web/PlayGround.php]]
 +
 +**单个模拟**
 +
 +单个模拟测试用 [[generated::GMSimulationExcute]] GM执行单条模拟指令
 +
 +{{:pasted:20190528-181709.png}}
 +
 +输出表格是: 一条[[generated::simulation_detail_log_info]]
 +
 +**整组模拟**
 +
 +整组模拟的时候用 [[generated::GMSimulationGroupExcute]] GM执行一组模拟指令
 +
 +整组模拟的第二个参数 day
 +
 +有两个特殊用法
 +
 +//0.1: 表示只执行一轮模拟,并timeforward \\
 +0.2: 表示执行型议论模拟,并且不timeforward//
 +
 +输出表格是: 一大堆[[generated::simulation_detail_log_info]] 
 +和 一轮一条 [[generated::simulation_log_info]] ,其中每天的最后一次是快照
 +
 +{{:pasted:20190528-182638.png}}
  
 =====枚举=====  =====枚举===== 
行 128: 行 168:
  
 [[generated::GMSimulationGroupExcute]] GM执行一组模拟指令 [[generated::GMSimulationGroupExcute]] GM执行一组模拟指令
 +
 +=====计划任务=====
 +
 +
 +[[generated:player_simulation_info]] 新增了控制字段, 只要 schedule_mode >0 就可以让这个号开启计划任务
 +
 +|schedule_mode |计划任务执行 0不执行 1一次执行一轮(看间隔) 2一次执行一天(看间隔) 3按时间点执行(不进行timeforward)|
 +|schedule_interval |计划任务间隔(分钟) |
 +|schedule_last_time |上一次执行计划任务的时间 |
 +|schedule_condition |计划任务执行条件CONDITION,比如到达多少天就不再执行|
 +|schedule_count |计划任务执行次数 |
 +
 +**同样有枚举**
 +
 +|628|GM_SIMULATION_SCHEDULE_MODE|模拟测试计划任务模式 0不执行  1一次执行一轮 2一次执行一天 3按时间点执行(不进行timeforward)|[[generated:player_simulation_info]]|schedule_mode|
 +|629|GM_SIMULATION_SCHEDULE_INTERVAL|模拟测试计划任务间隔(分钟)|[[generated:player_simulation_info]]|schedule_interval|
 +|630|GM_SIMULATION_SCHEDULE_COUNT|模拟测试计划任务执行次数|[[generated:player_simulation_info]]|schedule_count|
 +|631|GM_SIMULATION_SCHEDULE_COUNT_LIMIT|模拟测试计划任务执行最大次数|[[generated:player_simulation_info]]|debug_array|
 +
 +使用Set(628,2) Set(629,5) 就表示五分钟跑一天, 如果需要Log要通过Set(627,4)/Set(627,3)来配合
 +
 +===代码备忘===
 +
 +代码部分主要是SimlationHandle.php
 +
 +同样需要配置[[generated:timer_config]], 并新增了[[generated:SERVER_TIMER_ACTION]]的枚举
 +
 +//TODO:有个技术点是 再起一个进程调用SimlationHandle.php 还在研究中//
    
simulation.1559038434.txt.gz · 最后更改: 2019/05/28 18:13 由 shenmo