server.lua 6.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. server_mode = true
  2. fight_log = true--服务器战斗getResult().fight_log返回战斗日志
  3. if server_mode then
  4. -- package.path = package.path .. [[;]] .. GetLuaPath() .. [[/?.lua;]]
  5. end
  6. -- 重写打印
  7. Log = function(...) end
  8. LogWarning = function(...) end
  9. LogError = function(...) end
  10. local json = require('battle/utils/json')
  11. require('battle/battle_main')
  12. local btcore = btcore
  13. local btlog = btlog
  14. -- 重写打印
  15. btlog.error = function() end
  16. btlog.warn = function() end
  17. btlog.info = function() end
  18. btlog.debug = function() end
  19. btlog.log = function() end
  20. function serverBattleStart(jsonBattleInfo)
  21. -- ServerZLog("", "preflog", "before start battle json decode")
  22. local battleInfo = json:decode(jsonBattleInfo)
  23. -- ServerZLog("", "preflog", "after start battle json decode")
  24. battleMainInit(battleInfo)
  25. btcore.inst:startBattle()
  26. end
  27. local TickInterval = BTConst.TickInterval
  28. function serverBattleUpdate()
  29. local btcoreinst = btcore.inst
  30. if not btcoreinst then
  31. return
  32. end
  33. if btcoreinst.starting then
  34. btcoreinst:update(TickInterval)
  35. end
  36. end
  37. function serverBattleEnd(reason)
  38. battleMainEnd(reason)
  39. end
  40. function getBattleResult()
  41. -- ServerZLog("", "preflog", "before get battle result json decode")
  42. local ret = json:encode(btcore.inst:getResult())
  43. -- ServerZLog("", "preflog", "after get battle result json decode")
  44. return ret
  45. end
  46. function isServerBattleEnding()
  47. return btcore.inst.ending
  48. end
  49. function serverPreloadAllConfig()
  50. btcore.table.preloadAllConfig()
  51. end
  52. function serverSaveLockstepLog(fightUuid, logData)
  53. if SaveLockstepLog then
  54. SaveLockstepLog(fightUuid, logData)
  55. end
  56. end
  57. function callBattleResult(req)
  58. -- Log(req)
  59. -- local req = ('{"fightUuid":"9cb05ebd-30b8-492f-9946-77571473d88f","mode":11,"stage_id":102057,"run_speed":0,"seed":1544248913,"is_auto_skill":true,"is_replay":false,"left":[{"uuid":"33569706-4a1b-4472-9b91-78b2203f2958","cfgid":1001312,"tid":1,"level":80,"quality":5,"power":21287.0,"attr_info":{"CRIT":0.2,"ATK":2911.0,"DEF":665.0,"HP":27558.0,"MIMU":0.06,"Dodge":45.0,"Speed":6.0,"POWER":21287.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"Force":21287.0,"Decreases":50.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":101312101,"level":1}],"3":[{"cfgid":101312201,"level":2},{"cfgid":101312301,"level":1},{"cfgid":101312401,"level":1}]}},{"uuid":"1bbbd3d2-4bda-4233-a774-bacec4a2e368","cfgid":1004309,"tid":2,"level":80,"quality":5,"power":16203.0,"attr_info":{"CRIT":0.17,"ATK":2296.0,"DEF":414.0,"HP":22069.0,"Dodge":30.0,"Speed":5.0,"POWER":16203.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":16203.0,"Decreases":50.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":104309101,"level":1}],"3":[{"cfgid":104309201,"level":2},{"cfgid":104309301,"level":1},{"cfgid":104309401,"level":1}]}},{"uuid":"d43aba8e-4a43-49bc-9a76-e69912931347","cfgid":1004201,"tid":3,"level":80,"quality":5,"power":9455.0,"attr_info":{"CRIT":0.05,"ATK":1309.0,"DEF":234.0,"HP":15743.0,"Dodge":4.0,"POWER":9455.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":9455.0,"Decreases":50.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":104201101,"level":2}],"3":[{"cfgid":104201201,"level":2},{"cfgid":104201301,"level":1}]}},{"uuid":"71a935b6-8d77-4e6a-8118-7d9f3c6c5124","cfgid":1003201,"tid":4,"level":80,"quality":3,"power":13639.0,"attr_info":{"CRIT":0.05,"ATK":1758.0,"DEF":541.0,"HP":17206.0,"Hit":96.0,"PIMU":0.09,"Dodge":15.0,"SeCure":50.0,"Speed":2.0,"POWER":13639.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"MIMU":0.0,"Force":13639.0,"Decreases":50.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":103201101,"level":2}],"3":[{"cfgid":103201201,"level":2},{"cfgid":103201301,"level":1}]}}],"right":[{"uuid":null,"cfgid":1001201,"tid":11,"level":11,"quality":3,"power":1222.0,"attr_info":{"CRIT":0.05,"ATK":101.0,"DEF":23.0,"HP":1852.0,"POWER":1222.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":1222.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":101201101,"level":1}],"3":[{"cfgid":101201201,"level":1}]}},{"uuid":null,"cfgid":1001203,"tid":12,"level":11,"quality":3,"power":1223.0,"attr_info":{"CRIT":0.05,"ATK":114.0,"DEF":21.0,"HP":1646.0,"POWER":1223.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":1223.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":101203101,"level":1}],"3":[{"cfgid":101203201,"level":1}]}},{"uuid":null,"cfgid":1002202,"tid":13,"level":11,"quality":3,"power":1226.0,"attr_info":{"CRIT":0.05,"ATK":114.0,"DEF":21.0,"HP":1675.0,"POWER":1226.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":1226.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":102202101,"level":1}],"3":[{"cfgid":102202201,"level":1}]}},{"uuid":null,"cfgid":1003202,"tid":14,"level":11,"quality":3,"power":1223.0,"attr_info":{"CRIT":0.05,"ATK":135.0,"DEF":20.0,"HP":1293.0,"POWER":1223.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":1223.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":103202101,"level":1}],"3":[{"cfgid":103202201,"level":1}]}},{"uuid":null,"cfgid":1004201,"tid":15,"level":11,"quality":5,"power":2158.0,"attr_info":{"CRIT":0.05,"ATK":257.0,"DEF":45.0,"HP":3129.0,"POWER":2158.0,"DMGDeep":0.0,"Cure":0.0,"BeCure":0.0,"DMGReduce":0.0,"PIMU":0.0,"MIMU":0.0,"Force":2158.0},"skill_info":{"ultimate":{"cfgid":0,"level":0},"skill":[],"roguelike":[],"artifact":[]},"skill_list":{"2":[{"cfgid":104201101,"level":1}],"3":[{"cfgid":104201201,"level":1}]}}],"version":0,"max_time":90,"operation_list":[],"extdata":{"garland":{"left":1,"right":1},"relic_id_list":{"left":{"1":0},"right":{"1":0}},"team_hpmp":{"left":{"hp_r":1.0,"mp_r":0.0},"right":{"hp_r":1.0,"mp_r":0.0}},"hero_hpmp":{"":{"hp_r":1.0,"mp_r":0.0}},"result":0,"difficulty_level":0,"stage_dynamic_difficulty":0,"real_config":null,"common":{}}}')
  60. -- serverPreloadAllConfig()
  61. serverBattleStart(req)
  62. -- Log(isServerBattleEnding())
  63. while not isServerBattleEnding() do
  64. -- Log("Updating")
  65. serverBattleUpdate()
  66. end
  67. -- Log(isServerBattleEnding())
  68. serverBattleEnd(nil)
  69. local result = getBattleResult()
  70. -- Log(result)
  71. return result
  72. end