init_nodes.lua 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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. end
  39. -- 数据库
  40. function root:init_mysql()
  41. local handle = snax.uniqueservice("srvMysqlMgr")
  42. handle.req.init("game", constDb["mysql"]["game"])
  43. -- 初始数据库表
  44. if skynet.getenv("nodeName") == "master" then
  45. modules:init_db_tables()
  46. end
  47. end
  48. -- redis
  49. function root:init_redis()
  50. local handle = snax.uniqueservice("srvRedisMgr")
  51. handle.req.init("game", constDb["redis"]["game"])
  52. end
  53. -- 配置
  54. function root:init_config()
  55. skynet.uniqueservice("srvConfig")
  56. end
  57. -- 集群
  58. function root:init_cluster()
  59. cluster.open(skynet.getenv("nodeName"))
  60. end
  61. return root