test.json 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. {
  2. "@desc": "外网test环境配置,请勿随意改动",
  3. "include": [],
  4. "env": "test",
  5. "debug": true,
  6. "print_level": "debug",
  7. "cluster": {
  8. "discovery": {
  9. "mode": "nats",
  10. "@mode1": "mode=default,从profile-{x}.json读取node节点的配置数据",
  11. "@mode2": "mode=nats,通过nats->master_node_id获取已注册的节点",
  12. "@mode3": "mode=etcd,通过etcd同步已注册节点"
  13. },
  14. "nats": {
  15. "master_node_id": "master-1",
  16. "prefix": "test",
  17. "address": "nats://nats:4222,nats://nats-1:4223,nats://nats-2:4224",
  18. "reconnect_delay": 1,
  19. "max_reconnects": 0,
  20. "request_timeout": 2,
  21. "user": "",
  22. "password": "",
  23. "pool_size": 16,
  24. "is_stats": false
  25. }
  26. },
  27. "data_config": {
  28. "parser": "json",
  29. "data_source": "file",
  30. "@data_source": "file:配置从文件读取, redis:配置从redis读取",
  31. "file": {
  32. "file_path": "../data/",
  33. "ext_name": ".json",
  34. "reload_time": 3000
  35. },
  36. "redis": {
  37. "address": "redis:6379",
  38. "password": "H+5QfwG0jE3C@Plvgikb",
  39. "db": 0,
  40. "prefix_key": "data_config",
  41. "subscribe_key": "data_config_change"
  42. }
  43. },
  44. "node": {
  45. "gate": [
  46. {
  47. "enable": true,
  48. "node_id": "gate-1",
  49. "address": ":30001",
  50. "__settings__": {
  51. "heartbeat": 120,
  52. "ref_logger": "debug_file_log",
  53. "redis_id_list": {
  54. "guid_redis_id": "redis-global",
  55. "center_redis_id": "redis-global"
  56. }
  57. }
  58. }
  59. ],
  60. "game": [
  61. {
  62. "enable": true,
  63. "node_id": "^\\d+$",
  64. "__settings__": {
  65. "ref_logger": "debug_file_log",
  66. "redis_id_list": {
  67. "guid_redis_id": "redis-global",
  68. "center_redis_id": "redis-global",
  69. "game_redis_id": "redis-game",
  70. "chat_redis_id": "redis-global"
  71. },
  72. "mongo_id_list": {
  73. "mongo_id": "mongo-f1-game"
  74. },
  75. "battle_validation": false
  76. }
  77. }
  78. ],
  79. "web": [
  80. {
  81. "enable": true,
  82. "node_id": "web-1",
  83. "address": ":80",
  84. "__settings__": {
  85. "ref_logger": "debug_file_log",
  86. "redis_id_list": {
  87. "guid_redis_id": "redis-global",
  88. "center_redis_id": "redis-global"
  89. },
  90. "allow_register": true
  91. }
  92. }
  93. ],
  94. "master": [
  95. {
  96. "enable": true,
  97. "node_id": "master-1",
  98. "__settings__": {
  99. "ref_logger": "debug_file_log"
  100. }
  101. }
  102. ],
  103. "center": [
  104. {
  105. "enable": true,
  106. "node_id": "center-1",
  107. "__settings__": {
  108. "ref_logger": "debug_file_log",
  109. "mongo_id_list": {
  110. "mongo_id": "mongo-f1-center"
  111. },
  112. "redis_id_list": {
  113. "guid_redis_id": "redis-global",
  114. "center_redis_id": "redis-global"
  115. }
  116. }
  117. }
  118. ],
  119. "pay": [
  120. {
  121. "enable": true,
  122. "node_id": "pay-1",
  123. "__settings__": {
  124. "ref_logger": "debug_file_log",
  125. "redis_id_list": {
  126. "guid_redis_id": "redis-global",
  127. "center_redis_id": "redis-global"
  128. },
  129. "mongo_id_list": {
  130. "mongo_id": "mongo-f1-pay"
  131. },
  132. "auto_pay": true
  133. }
  134. }
  135. ],
  136. "ops": [
  137. {
  138. "enable": true,
  139. "node_id": "^ops-\\d+$",
  140. "address": ":18081",
  141. "__settings__": {
  142. "ref_logger": "debug_file_log"
  143. }
  144. }
  145. ],
  146. "chat": [
  147. {
  148. "enable": true,
  149. "node_id": "^chat-\\d+$",
  150. "__settings__": {
  151. "ref_logger": "debug_file_log",
  152. "redis_id_list": {
  153. "guid_redis_id": "redis-global",
  154. "chat_redis_id": "redis-global",
  155. "game_redis_id": "redis-global"
  156. }
  157. }
  158. }
  159. ],
  160. "map": [
  161. {
  162. "enable": true,
  163. "node_id": "^map-\\d+$",
  164. "__settings__": {
  165. "ref_logger": "debug_file_log",
  166. "redis_id_list": {
  167. "guid_redis_id": "redis-global",
  168. "game_redis_id": "redis-global"
  169. },
  170. "mongo_id_list": {
  171. "mongo_id": "mongo-f1-map"
  172. }
  173. }
  174. }
  175. ],
  176. "record": [
  177. {
  178. "enable": true,
  179. "node_id": "^record-\\d+$",
  180. "__settings__": {
  181. "ref_logger": "debug_file_log"
  182. }
  183. }
  184. ]
  185. },
  186. "db_queue": {
  187. "save_ticker": 3,
  188. "save_count": 1000,
  189. "stop_save_count": 10000,
  190. "print_save_log": false,
  191. "tables": []
  192. },
  193. "redis": [
  194. {
  195. "redis_id": "redis-global",
  196. "address": "redis:6379",
  197. "password": "H+5QfwG0jE3C@Plvgikb",
  198. "db": 0,
  199. "pool_size": 64,
  200. "desc": "全局"
  201. },
  202. {
  203. "redis_id": "redis-game",
  204. "address": "redis:6379",
  205. "password": "H+5QfwG0jE3C@Plvgikb",
  206. "db": 0,
  207. "pool_size": 64,
  208. "desc": "游戏"
  209. }
  210. ],
  211. "mongo": {
  212. "db_game_group": [
  213. {
  214. "enable": true,
  215. "db_id": "mongo-f1-game",
  216. "db_name": "f1-game",
  217. "uri": "mongodb://f1user:3#GPU?MJcKbY2&fYbgplnckfU@mongodb:27017",
  218. "timeout": 3000
  219. }
  220. ],
  221. "db_center_group": [
  222. {
  223. "enable": true,
  224. "db_id": "mongo-f1-center",
  225. "db_name": "f1-center",
  226. "uri": "mongodb://f1user:3#GPU?MJcKbY2&fYbgplnckfU@mongodb:27017",
  227. "timeout": 3000
  228. }
  229. ],
  230. "db_pay_group": [
  231. {
  232. "enable": true,
  233. "db_id": "mongo-f1-pay",
  234. "db_name": "f1-pay",
  235. "uri": "mongodb://f1user:3#GPU?MJcKbY2&fYbgplnckfU@mongodb:27017",
  236. "timeout": 3000
  237. }
  238. ],
  239. "db_map_group": [
  240. {
  241. "enable": true,
  242. "db_id": "mongo-f1-map",
  243. "db_name": "f1-map",
  244. "uri": "mongodb://f1user:3#GPU?MJcKbY2&fYbgplnckfU@mongodb:27017",
  245. "timeout": 3000
  246. }
  247. ]
  248. },
  249. "rate_limiter": [
  250. {
  251. "enable": true,
  252. "rate_id": "ip_rate",
  253. "interval": 1,
  254. "capacity": 60,
  255. "quantum": 60,
  256. "clean_ticker_interval": 10,
  257. "clean_before_minute": 5,
  258. "error_code": 205
  259. }
  260. ],
  261. "sessions": {
  262. "redis_id": "redis-global"
  263. },
  264. "gen-pool": {
  265. "redis_id": "redis-global"
  266. },
  267. "battle_record": {
  268. "enable": true,
  269. "mode": "file",
  270. "@mode": "file:文件存储, cloud:云存储",
  271. "file": {
  272. "suffixKey": ".bin",
  273. "succeedPathKey": "../battle_record/succeed",
  274. "failedPathKey": "../battle_record/failed"
  275. },
  276. "cloud": {
  277. "url": "",
  278. "secretKey": ""
  279. }
  280. },
  281. "logger": {
  282. "debug_file_log": {
  283. "level": "debug",
  284. "stack_level": "error",
  285. "enable_write_file": true,
  286. "enable_console": false,
  287. "max_age": 7,
  288. "time_format": "15:04:05.000",
  289. "print_caller": true,
  290. "rotation_time": 86400,
  291. "@rotation_time": [
  292. "3600(秒):每小时分割日志",
  293. "86400(秒):每天分割日志"
  294. ],
  295. "file_link_path": "logs/%nodeid.log",
  296. "file_path_format": "logs/%nodeid_%Y%m%d%H%M.log"
  297. }
  298. }
  299. }