Blame view

common/conf.go 3.51 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"
02894885   zhangqijia   fix: del etcd. ad...
9
  	"pro2d/pb"
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
10
  	"strings"
ee23102d   zhangqijia   支持mongo, grpc接服务器
11
12
13
14
  )
  
  type RedisConf struct {
  	Address string `json:"address"`
b499527e   zhangqijia   feat: 消息包用aes加密
15
16
  	Auth    string `json:"auth"`
  	DB      int    `json:"db"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
17
18
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
19
  type MongoConf struct {
b499527e   zhangqijia   feat: 消息包用aes加密
20
21
22
23
24
25
26
  	User     string `yaml:"user"`
  	Password string `yaml:"password"`
  	Host     string `yaml:"host"`
  	Port     int    `yaml:"port"`
  	TimeOut  int    `yaml:"timeout"`
  	MaxNum   int    `yaml:"maxnum"`
  	DBName   string `yaml:"dbname"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
27
28
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
29
  type SConf struct {
101d1cc1   zhangqijia   feat: 一个基于redis的自...
30
  	ID             int64      `yaml:"id"`
b499527e   zhangqijia   feat: 消息包用aes加密
31
32
33
  	Name           string     `yaml:"name"`
  	IP             string     `yaml:"ip"`
  	Port           int        `yaml:"port"`
b499527e   zhangqijia   feat: 消息包用aes加密
34
  	DebugPort      int        `yaml:"debugport"`
c47aa250   zhangqijia   feat: 增加GM相关接口。详情...
35
36
  	GMPort         int        `yaml:"gm"`
  	Encipher       bool       `yaml:"encipher"`
b499527e   zhangqijia   feat: 消息包用aes加密
37
38
39
40
  	MongoConf      *MongoConf `yaml:"mongo"`
  	RedisConf      *RedisConf `yaml:"redis"`
  	WorkerPoolSize int        `yaml:"pool_size"`
  	PluginPath     string     `yaml:"plugin_path"`
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
41
42
43
  }
  
  type LogConsole struct {
b499527e   zhangqijia   feat: 消息包用aes加密
44
45
  	Level string `yaml:"level" json:"level"`
  	Color bool   `yaml:"color" json:"color"`
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
46
47
48
  }
  
  type LogFile struct {
b499527e   zhangqijia   feat: 消息包用aes加密
49
50
51
52
53
54
55
  	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"`
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
56
57
58
  }
  
  type LogConn struct {
b499527e   zhangqijia   feat: 消息包用aes加密
59
60
61
62
63
  	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"`
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
64
65
66
  }
  
  type LogConf struct {
b499527e   zhangqijia   feat: 消息包用aes加密
67
68
69
70
  	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接服务器
71
72
  }
  
54b3f133   zhangqijia   add connector int...
73
  type TestClient struct {
b499527e   zhangqijia   feat: 消息包用aes加密
74
75
76
  	Ip    string `yaml:"ip"`
  	Port  int    `yaml:"port"`
  	Count int    `yaml:"count"`
54b3f133   zhangqijia   add connector int...
77
78
  }
  
02894885   zhangqijia   fix: del etcd. ad...
79
80
81
82
  type GameService struct {
  	ServiceInfo []*pb.ServiceInfo `yaml:"server_list"`
  }
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
83
  type ServerConf struct {
3445674b   zhangqijia   fix: del
84
85
86
87
88
89
90
91
92
  	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"`
  	LogConf      *LogConf     `yaml:"logconf" json:"logconf"`
  	TestClient   *TestClient  `yaml:"test_client"`
  	GameService  *GameService `yaml:"server_list"`
ee23102d   zhangqijia   支持mongo, grpc接服务器
93
94
  }
  
b499527e   zhangqijia   feat: 消息包用aes加密
95
  var (
f415f471   zhangqijia   fix: roleID自增加上限制...
96
97
  	GlobalConf  ServerConf
  	GlobalSconf *SConf
eb417b0b   zhangqijia   reactor mongo
98
  )
9644352a   zhangqijia   登录服改为http,游戏服改为长连...
99
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
100
  func init() {
02894885   zhangqijia   fix: del etcd. ad...
101
102
103
104
105
106
107
  	configFile, err := ioutil.ReadFile("conf/conf.yml")
  	if err != nil {
  		fmt.Printf("conf read faild: %v", err)
  		return
  	}
  
  	servList, err := ioutil.ReadFile("conf/serverlist.yml")
ee23102d   zhangqijia   支持mongo, grpc接服务器
108
  	if err != nil {
02894885   zhangqijia   fix: del etcd. ad...
109
  		fmt.Printf("serverlist read faild: %v\n", err)
ee23102d   zhangqijia   支持mongo, grpc接服务器
110
111
  		return
  	}
02894885   zhangqijia   fix: del etcd. ad...
112
  
ee23102d   zhangqijia   支持mongo, grpc接服务器
113
114
  	//初始化配置
  	if err = yaml.Unmarshal(configFile, &GlobalConf); err != nil {
02894885   zhangqijia   fix: del etcd. ad...
115
116
117
118
119
120
121
  		fmt.Printf("config.yml unmarshal faild: %v\n", err)
  		return
  	}
  
  	//游戏服务列表
  	if err = yaml.Unmarshal(servList, &GlobalConf.GameService); err != nil {
  		fmt.Printf("serverlist.yml unmarshal faild: %v\n", err)
ee23102d   zhangqijia   支持mongo, grpc接服务器
122
123
  		return
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
124
  
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
125
126
127
128
129
  	c, err := json.Marshal(&GlobalConf.LogConf)
  	if err != nil {
  		fmt.Errorf("log conf %v", err)
  		return
  	}
ee23102d   zhangqijia   支持mongo, grpc接服务器
130
  	//初始化日志
2964317a   zhangqijia   feat: docker安装部署
131
  	err = logger.SetLogger(string(c), fmt.Sprintf("logs/%s", strings.ToLower(GlobalConf.GameConf.Name)))
cad2b7f3   zhangqijia   reactor: 重构目录, 重构...
132
133
134
135
  	if err != nil {
  		fmt.Errorf("log conf %v", err)
  		return
  	}
b499527e   zhangqijia   feat: 消息包用aes加密
136
  }