MergeServerDefine.lua 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  1. --合服
  2. --_G.lua_mongo 提供的接口
  3. --[=[
  4. find()
  5. md5()
  6. id()
  7. next()
  8. client()
  9. remove()
  10. index()
  11. auth()
  12. count()
  13. update()
  14. ]=]--
  15. --备份和恢复
  16. --[=[
  17. 备份
  18. mongodump --db 要备份的数据库名字 --out 备份文件存放目录
  19. 如: mongodump --db ckwy_fy_S350002 --out /server/dumpDB/
  20. 将备份文件恢复
  21. mongorestore --db 数据库存放目录 备份文件目录
  22. mongorestore --db=ckwy_fy_S350077 --drop /server/bin3/dumpDB/ckwy_fy_S350077 --增加 --drop参数,会先删除数据库,再恢复
  23. mongorestore --db=ckwy_fy_S350078 --drop /server/bin3/dumpDB/ckwy_fy_S350078
  24. ]=]--
  25. --[=[
  26. --1.使用 newUniqueTag 代替 account
  27. --2. 合并数据逻辑
  28. ]=]--
  29. KEY_CIYUAN_MOZHU = "ciyuanMoZhu" -- 次元魔蛛的key
  30. KEY_FIREWORKBONUS_TIME = "fireWorksBonusTime" -- 烟花加成时间
  31. KEY_MERGE_TIME = "mergeServerTime" -- 合服时间
  32. ---------------------同名-------------
  33. NEW_NAME = "银月的青锋使" -- 玩家同名时的新名字 .. num
  34. MAIL_ID = 7013 -- 同名玩家改名后补偿邮件的ID
  35. MAIL_NUM = 500 -- 邮件补偿古玉数量
  36. ------------日志----------------------
  37. SUCC_TAG = "succ"
  38. ERR_TAG = "err"
  39. CHANGENAME_TAG = "changeName"
  40. --要进行数据合并的数据库列表, 每个value中第一个为目标数据库,其他为源数据库
  41. --!!! 当前项目 ckwy_fy_S350002 是1服的数据库, ckwy_fy_S350003 是2服的数据库, ckwy_fy_S350004 是3服的数据库, 以此类推...
  42. MERGE_DB_TB = {
  43. {"ckwy_fy_S350002", "ckwy_fy_S350003"},
  44. {"ckwy_fy_S350004", "ckwy_fy_S350005"},
  45. {"ckwy_fy_S350006", "ckwy_fy_S350007"},
  46. {"ckwy_fy_S350008", "ckwy_fy_S350009"},
  47. {"ckwy_fy_S350010", "ckwy_fy_S350011"},
  48. {"ckwy_fy_S350012", "ckwy_fy_S350013"},
  49. {"ckwy_fy_S350014", "ckwy_fy_S350015"},
  50. {"ckwy_fy_S350016", "ckwy_fy_S350017"},
  51. {"ckwy_fy_S350018", "ckwy_fy_S350019"},
  52. {"ckwy_fy_S350020", "ckwy_fy_S350021"},
  53. }
  54. --所有要处理的集合
  55. COLLECTIONS = {
  56. ".char", -- 角色表, 可以直接插入
  57. ".mail" , -- 邮件,可以直接插入
  58. ".common", -- 通用数据(开服时间)
  59. ".friend", -- 好友数据库表, 可以直接插入
  60. ".boss_data", -- boss记录表, 可以直接插入
  61. ".union", -- 工会数据表, 可以直接插入
  62. ".jjc", -- 单人竞技场, 可以直接插入
  63. ".combat_video", -- 战斗录像[本地记录 个人记录 单人竞技场 通天塔 王者争霸 战役记录],可以直接插入
  64. ".drill_data", -- 圣树试炼/过关斩将,可以直接插入
  65. ".union_war", -- 公会战,可以直接插入
  66. ".union_war_record", -- 公会战记录, 可以直接插入
  67. ".the_stars", -- 星空争霸, 可以直接插入
  68. ".abs_billboard", -- 绝对时间排行榜记录, 可以直接插入
  69. ".middle_act_group", -- 跨服活动分组记录, 暂时没使用,不管
  70. ".battle_shark", -- 战役通关战报
  71. ".tower", -- 全服通天塔 信息, 可以直接插入
  72. ".hero_pingfen", -- 英雄评分信息用于排名, 可以直接插入
  73. ".jjcGodWar", -- 众神之战 ,可以直接插入
  74. ".jjcGodWar_record", -- 众神之战记录 ,可以直接插入
  75. ".chat_record", -- 好友聊天记录 ,可以直接插入
  76. ".jjcLadder", -- 天梯争霸 ,可以直接插入
  77. ".jjcLadder_record", -- 天梯争霸记录 ,可以直接插入
  78. ".yjTreasure", -- 遗迹探宝 , 可以直接插入
  79. ".yjTreasure_rank", -- 遗迹探宝排行
  80. ".yjTreasure_role", -- 遗迹探宝角色信息 , 可以直接插入
  81. ".valley", -- 荣耀峡谷/龙族战场 ,可以直接插入
  82. ".valley_record", -- 荣耀峡谷/龙族战场记录, 可以直接插入
  83. ".war_report", -- 战报[跨服记录 冠军联赛 王者争霸 天梯 切磋 系列排名存储记录], 可以直接插入
  84. ".openServer_billboard", -- 开服排行类活动,可以直接插入
  85. ".lost_temple", -- 神庙
  86. ".common_rank", -- 通用排行榜,可以直接插入
  87. }
  88. --源数据库中不需要插入目标数据库的集合列表
  89. --[=[
  90. middle_act_group 暂时没用到这个集合,所以也只用目标数据库的集合
  91. the_stars 战神殿, 只保留宿主服的记录
  92. battle_shark 主线闯关录像, 只用宿主服的
  93. ]=]--
  94. NO_INSERT_COLLECTIONS = {
  95. --[".common"] = 1,
  96. [".middle_act_group"] = 1,
  97. [".the_stars"] = 1,
  98. [".battle_shark"] = 1,
  99. [".jjcGodWar"] = 1,
  100. --[".jjcGodWar_record"] = 1,
  101. [".tower"] = 1,
  102. }
  103. --用到char 集合中的 _id 字段的集合, 如果 char 集合中的 _id 有修改, 则这些集合中的 _id 也需要修改
  104. NEED_CHANGE_COLLECTIONS = {
  105. [".friend"] = '1',
  106. [".mail"] = '1',
  107. [".union"] = '1',
  108. [".the_stars"] = '1',
  109. [".jjc"] = '1',
  110. [".combat_video"] = '1',
  111. }