85 lines
1.5 KiB
Go
85 lines
1.5 KiB
Go
package conf
|
||
|
||
import (
|
||
"encoding/json"
|
||
"io"
|
||
"os"
|
||
|
||
"server/pkg/github.com/name5566/leaf/log"
|
||
)
|
||
|
||
var Server struct {
|
||
AppID int
|
||
AppPath string
|
||
LogLevel string
|
||
LogPath string
|
||
WSAddr string
|
||
CertFile string
|
||
KeyFile string
|
||
TCPAddr string
|
||
MaxConnNum int
|
||
ConsolePort int
|
||
ProfilePath string
|
||
|
||
MySqlAddr string
|
||
MySqlUsr string
|
||
MySqlPort string
|
||
MySqlPwd string
|
||
DbName string
|
||
|
||
RedisAddr string
|
||
RedisPort string
|
||
RedisPwd string
|
||
RedisDb int
|
||
|
||
RedisWriteAddr string // 主写地址(host:port 或 单独 host, 仍兼容旧 RedisAddr/RedisPort)
|
||
RedisReadAddrs string // 只读地址,逗号分隔(host:port,...)
|
||
RedisMasterName string // 哨兵模式下的 master 名称
|
||
RedisConnType string // "Direct" 或 "Sentinel"
|
||
|
||
GameName string
|
||
ServerType string
|
||
|
||
ServerID int
|
||
HttpPort string
|
||
ServerOpenTime string
|
||
ServerName string
|
||
|
||
ListenAddr string
|
||
CenterAddr string
|
||
CenterNode int
|
||
|
||
RemoteAddr string
|
||
GameConfPath string
|
||
TELOGDIR string
|
||
GoogleVerify bool
|
||
Partition int
|
||
KafkaHost string
|
||
KafkaPort string
|
||
Version string
|
||
CountryCode string
|
||
IdVerify bool
|
||
}
|
||
|
||
func init() {
|
||
filePath := "conf/server.json"
|
||
if len(os.Args) == 2 {
|
||
if os.Args[1] != "" {
|
||
filePath = os.Args[1]
|
||
}
|
||
}
|
||
file, err := os.Open(filePath)
|
||
if err != nil {
|
||
panic(err)
|
||
}
|
||
defer file.Close()
|
||
data, err := io.ReadAll(file)
|
||
if err != nil {
|
||
log.Fatal("%v", err)
|
||
}
|
||
err = json.Unmarshal(data, &Server)
|
||
if err != nil {
|
||
log.Fatal("%v", err)
|
||
}
|
||
}
|