Blame view

common/conf.go 3.03 KB
765431a4   zhangqijia   增加schema接口, 抽象 mo...
1
  package common
ee23102d   zhangqijia   支持mongo, grpc接服务器
2
3
  
  import (
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
4
  	"encoding/json"
ee23102d   zhangqijia   支持mongo, grpc接服务器
5
  	"fmt"
ee23102d   zhangqijia   支持mongo, grpc接服务器
6
7
  	"gopkg.in/yaml.v3"
  	"io/ioutil"
765431a4   zhangqijia   增加schema接口, 抽象 mo...
8
  	"pro2d/common/logger"
436e0af4   zhangqijia   reactor: dir; Ac...
9
  	"pro2d/common/snow"
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
10
  	"strings"
ee23102d   zhangqijia   支持mongo, grpc接服务器
11
12
13
14
15
16
17
18
  )
  
  type RedisConf struct {
  	Address string `json:"address"`
  	Auth 	string `json:"auth"`
  	DB 		int 		`json:"db"`
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
19
  type Etcd struct {
286f6dbe   zhangqijia   etcd 保存服务信息
20
21
  	Endpoints []string `json:"endpoints"`
  	DialTimeout int		`json:"dialtimeout"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
22
23
24
25
26
27
28
  }
  
  type MongoConf struct {
  	User 		string		`yaml:"user"`
  	Password 	string		`yaml:"password"`
  	Host  		string		`yaml:"host"`
  	Port 		int			`yaml:"port"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
29
30
  	TimeOut  	int			`yaml:"timeout"`
  	MaxNum  	int			`yaml:"maxnum"`
765431a4   zhangqijia   增加schema接口, 抽象 mo...
31
  	DBName      string		`yaml:"dbname"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
32
33
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
34
  type SConf struct {
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
35
36
37
38
  	ID 		string 	`yaml:"id"`
  	Name 	string 	`yaml:"name"`
  	IP   	string 	`yaml:"ip"`
  	Port 	int 	`yaml:"port"`
765431a4   zhangqijia   增加schema接口, 抽象 mo...
39
40
  	DebugPort		int 	 `yaml:"debugport"`
  	MongoConf   	*MongoConf  `yaml:"mongo"`
29a163be   zhangqijia   fix: CreateReq ui...
41
  	RedisConf   	*RedisConf  `yaml:"redis"`
5d9cf01c   zhangqijia   plugin 热更
42
43
  	WorkerPoolSize int `yaml:"pool_size"`
  	PluginPath string `yaml:"plugin_path"`
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
  }
  
  type LogConsole struct {
  	Level string 	`yaml:"level" json:"level"`
  	Color bool		`yaml:"color" json:"color"`
  }
  
  type LogFile struct {
  	Level 		string	`yaml:"level" json:"level"`
  	Daily 		bool	`yaml:"daily" json:"daily"`
  	Maxlines 	int		`yaml:"maxlines" json:"maxlines"`
  	Maxsize 	int		`yaml:"maxsize" json:"maxsize"`
  	Maxdays 	int		`yaml:"maxdays" json:"maxdays"`
  	Append 		bool	`yaml:"append" json:"append"`
  	Permit 		string	`yaml:"permit" json:"permit"`
  }
  
  type LogConn struct {
  	Net 			string	`yaml:"net" json:"net"`
  	Addr 			string	`yaml:"addr" json:"addr"`
  	Level 			string	`yaml:"level" json:"level"`
  	Reconnect 		bool	`yaml:"reconnect" json:"reconnect"`
  	ReconnectOnMsg 	bool	`yaml:"reconnectOnMsg" json:"reconnectOnMsg"`
  }
  
  type LogConf struct {
765431a4   zhangqijia   增加schema接口, 抽象 mo...
70
71
72
73
  	TimeFormat 	string      `yaml:"TimeFormat" json:"TimeFormat"`
  	LogConsole 	*LogConsole `yaml:"Console" json:"Console"`
  	LogFile		*LogFile   `yaml:"File" json:"File"`
  	LogConn		*LogConn   `yaml:"Conn" json:"Conn"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
74
75
  }
  
54b3f133   zhangqijia   add connector int...
76
77
78
79
80
81
  type TestClient struct {
  	Ip string `yaml:"ip"`
  	Port int`yaml:"port"`
  	Count int `yaml:"count"`
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
82
  type ServerConf struct {
765431a4   zhangqijia   增加schema接口, 抽象 mo...
83
84
85
86
87
88
  	ID 				string `yaml:"id"`
  	Name 			string   `yaml:"name"`
  	WorkerID    	int64    `yaml:"workerid"`
  	DatacenterID 	int64    `yaml:"datacenterid"`
  	AccountConf 	*SConf    `yaml:"server_account"`
  	GameConf		*SConf   `yaml:"server_game"`
765431a4   zhangqijia   增加schema接口, 抽象 mo...
89
  	LogConf  		*LogConf  `yaml:"logconf" json:"logconf"`
54b3f133   zhangqijia   add connector int...
90
  	TestClient		*TestClient `yaml:"test_client"`
765431a4   zhangqijia   增加schema接口, 抽象 mo...
91
  	Etcd 			*Etcd    `yaml:"etcd"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
92
93
  }
  
eb417b0b   zhangqijia   reactor mongo
94
95
  var(
  	GlobalConf ServerConf
436e0af4   zhangqijia   reactor: dir; Ac...
96
  	SnowFlack  *snow.Snowflake
eb417b0b   zhangqijia   reactor mongo
97
  )
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
98
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
99
100
101
102
103
104
105
106
107
108
109
110
  func init() {
  	configFile, err := ioutil.ReadFile("conf/conf.yaml")
  	if err != nil {
  		fmt.Printf("conf faild: %v", err)
  		return
  	}
  	//初始化配置
  	if err = yaml.Unmarshal(configFile, &GlobalConf); err != nil {
  		fmt.Printf("yaml unmarshal faild: %v", err)
  		return
  	}
  
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
111
112
113
114
115
  	c, err := json.Marshal(&GlobalConf.LogConf)
  	if err != nil {
  		fmt.Errorf("log conf %v", err)
  		return
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
116
  	//初始化日志
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
117
118
119
120
121
  	err = logger.SetLogger(string(c), strings.ToLower(GlobalConf.GameConf.Name))
  	if err != nil {
  		fmt.Errorf("log conf %v", err)
  		return
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
122
123
  
  	//初始化雪花算法
436e0af4   zhangqijia   reactor: dir; Ac...
124
  	SnowFlack = snow.NewSnowflake(GlobalConf.WorkerID, GlobalConf.DatacenterID)
ee23102d   zhangqijia   支持mongo, grpc接服务器
125
  }