init_nodes.lua 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. --[[
  2. Descripttion:节点初始化
  3. version:
  4. Author: Neo,Huang
  5. Date: 2022-07-04 14:58:30
  6. LastEditors: Neo,Huang
  7. LastEditTime: 2022-07-04 14:59:34
  8. --]]
  9. require "skynet.manager"
  10. local skynet = require("skynet")
  11. local snax = require("snax")
  12. local cluster = require("cluster")
  13. local modules = require("modules")
  14. local machine = require("machine")
  15. local constDb = require("db")
  16. local constNodes = require("nodes")
  17. local root = {}
  18. -- 节点端口
  19. local function l_get_node_port(nodeName, portName)
  20. if constNodes[nodeName] == nil or constNodes[nodeName][portName] == nil then
  21. return
  22. end
  23. return constNodes[nodeName][portName]
  24. end
  25. -- 控制台
  26. function root:init_console()
  27. machine.init()
  28. -- 服务管家
  29. skynet.uniqueservice("srvSteward")
  30. skynet.newservice("debug_console", l_get_node_port(skynet.getenv("nodeName"), "debugPort") or 9300)
  31. -- if not skynet.getenv "daemon" then
  32. -- skynet.newservice("console")
  33. -- end
  34. end
  35. -- 日志
  36. function root:init_logger()
  37. skynet.newservice("srvLoggerMgr")
  38. skynet.uniqueservice("statisticLogSrv")
  39. end
  40. -- 数据库
  41. function root:init_mysql()
  42. local handle = snax.uniqueservice("srvMysqlMgr")
  43. handle.req.init("game", constDb["mysql"]["game"])
  44. -- 初始数据库表
  45. if skynet.getenv("nodeName") == "master" then
  46. modules:init_db_tables()
  47. end
  48. end
  49. -- redis
  50. function root:init_redis()
  51. local handle = snax.uniqueservice("srvRedisMgr")
  52. handle.req.init("game", constDb["redis"]["game"])
  53. end
  54. -- 配置
  55. function root:init_config()
  56. skynet.uniqueservice("srvConfig")
  57. end
  58. -- 集群
  59. function root:init_cluster()
  60. cluster.open(skynet.getenv("nodeName"))
  61. end
  62. return root