mirror of
https://github.com/FlourishingWorld/hk4e.git
synced 2026-02-04 14:22:26 +08:00
完善docker配置文件
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -25,6 +25,8 @@ bin
|
|||||||
protocol/proto
|
protocol/proto
|
||||||
gate/client_proto/proto
|
gate/client_proto/proto
|
||||||
gate/client_proto/client_proto_gen.go
|
gate/client_proto/client_proto_gen.go
|
||||||
|
gs/api/*.pb.go
|
||||||
|
node/api/*.pb.go
|
||||||
|
|
||||||
# Log file
|
# Log file
|
||||||
*.log
|
*.log
|
||||||
|
|||||||
35
README.md
35
README.md
@@ -7,12 +7,39 @@
|
|||||||
* Go >= 1.18
|
* Go >= 1.18
|
||||||
* Protoc >= 3.21
|
* Protoc >= 3.21
|
||||||
* Protoc Gen Go >= 1.28
|
* Protoc Gen Go >= 1.28
|
||||||
|
* Docker >= 20.10
|
||||||
|
* Docker Compose >= 1.29
|
||||||
|
|
||||||
> 1. 首次需要安装工具 `make dev_tool`
|
## 快速启动
|
||||||
> 2. 生成协议 `make gen_natsrpc && make gen_proto`
|
|
||||||
> 3. 生成配置表 `make gen_csv`
|
|
||||||
|
|
||||||
## 快速运行
|
* 首次需要安装工具
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make dev_tool
|
||||||
|
```
|
||||||
|
|
||||||
|
* 生成协议
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make gen_natsrpc # 生成natsrpc协议
|
||||||
|
make gen_proto # 生成客户端协议
|
||||||
|
make gen_client_proto # 生成客户端协议代理(非必要)
|
||||||
|
```
|
||||||
|
|
||||||
|
* 构建
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make build # 构建服务器二进制文件
|
||||||
|
make docker_build # 构建镜像
|
||||||
|
```
|
||||||
|
|
||||||
|
* 启动
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make gen_csv # 生成配置表
|
||||||
|
# 启动前请先确保各服务器的配置文件正确
|
||||||
|
docker-compose up -d # 启动服务器
|
||||||
|
```
|
||||||
|
|
||||||
#### 第三方组件
|
#### 第三方组件
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ http_port = 8080
|
|||||||
|
|
||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ client_proto_proxy_enable = false
|
|||||||
|
|
||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ gate_tcp_mq_port = 33333
|
|||||||
|
|
||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ http_port = 9001
|
|||||||
|
|
||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ gacha_history_server = "https://hk4e.flswld.com/api/v1"
|
|||||||
|
|
||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[logger]
|
[logger]
|
||||||
level = "DEBUG"
|
level = "DEBUG"
|
||||||
mode = "BOTH"
|
mode = "CONSOLE"
|
||||||
track = true
|
track = true
|
||||||
max_size = 10485760
|
max_size = 10485760
|
||||||
|
|
||||||
|
|||||||
147
docker-compose.yaml
Normal file
147
docker-compose.yaml
Normal file
@@ -0,0 +1,147 @@
|
|||||||
|
version: '3'
|
||||||
|
services:
|
||||||
|
node_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/node:1.0.0
|
||||||
|
container_name: node
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/node/bin/application.toml:/node/application.toml
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '1.00'
|
||||||
|
memory: 128M
|
||||||
|
dispatch_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/dispatch:1.0.0
|
||||||
|
container_name: dispatch
|
||||||
|
ports:
|
||||||
|
- "8080:8080/tcp"
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/dispatch/bin/application.toml:/dispatch/application.toml
|
||||||
|
- ./docker/dispatch/bin/key:/dispatch/key
|
||||||
|
- ./docker/dispatch/bin/static:/dispatch/static
|
||||||
|
depends_on:
|
||||||
|
- node_services
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '1.00'
|
||||||
|
memory: 128M
|
||||||
|
gate_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/gate:1.0.0
|
||||||
|
container_name: gate
|
||||||
|
ports:
|
||||||
|
- "22222:22222/udp"
|
||||||
|
- "33333:33333/tcp"
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/gate/bin/application.toml:/gate/application.toml
|
||||||
|
- ./docker/gate/bin/key:/gate/key
|
||||||
|
- ./gate/client_proto/proto/client_cmd.csv:/gate/client_cmd.csv
|
||||||
|
depends_on:
|
||||||
|
- dispatch_services
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '4.00'
|
||||||
|
memory: 1024M
|
||||||
|
fight_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/fight:1.0.0
|
||||||
|
container_name: fight
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/fight/bin/application.toml:/fight/application.toml
|
||||||
|
- ./gate/client_proto/proto/client_cmd.csv:/fight/client_cmd.csv
|
||||||
|
depends_on:
|
||||||
|
- gate_services
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '1.00'
|
||||||
|
memory: 128M
|
||||||
|
pathfinding_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/pathfinding:1.0.0
|
||||||
|
container_name: pathfinding
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/pathfinding/bin/application.toml:/pathfinding/application.toml
|
||||||
|
depends_on:
|
||||||
|
- fight_services
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '4.00'
|
||||||
|
memory: 1024M
|
||||||
|
gs_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/gs:1.0.0
|
||||||
|
container_name: gs
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/gs/bin/application.toml:/gs/application.toml
|
||||||
|
- ./gdconf/game_data_config:/gs/game_data_config
|
||||||
|
- ./gate/client_proto/proto/client_cmd.csv:/gs/client_cmd.csv
|
||||||
|
depends_on:
|
||||||
|
- pathfinding_services
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '4.00'
|
||||||
|
memory: 4096M
|
||||||
|
gm_services:
|
||||||
|
restart: always
|
||||||
|
image: flswld/gm:1.0.0
|
||||||
|
container_name: gm
|
||||||
|
ports:
|
||||||
|
- "9001:9001/tcp"
|
||||||
|
environment:
|
||||||
|
TZ: Asia/Shanghai
|
||||||
|
GOLANG_PROTOBUF_REGISTRATION_CONFLICT: ignore
|
||||||
|
volumes:
|
||||||
|
- /etc/localtime:/etc/localtime
|
||||||
|
- /etc/timezone:/etc/timezone
|
||||||
|
- /usr/share/zoneinfo:/usr/share/zoneinfo
|
||||||
|
- ./docker/gm/bin/application.toml:/gm/application.toml
|
||||||
|
depends_on:
|
||||||
|
- gs_services
|
||||||
|
deploy:
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
cpus: '1.00'
|
||||||
|
memory: 128M
|
||||||
@@ -1,56 +0,0 @@
|
|||||||
// Code generated by protoc-gen-natsrpc. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// - protoc-gen-natsrpc v0.5.0
|
|
||||||
// source: api.proto
|
|
||||||
|
|
||||||
package api
|
|
||||||
|
|
||||||
import (
|
|
||||||
context "context"
|
|
||||||
fmt "fmt"
|
|
||||||
natsrpc "github.com/byebyebruce/natsrpc"
|
|
||||||
nats_go "github.com/nats-io/nats.go"
|
|
||||||
proto "google.golang.org/protobuf/proto"
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ = new(context.Context)
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = natsrpc.Version
|
|
||||||
var _ = nats_go.Version
|
|
||||||
|
|
||||||
// GM 服务
|
|
||||||
type GMNATSRPCServer interface {
|
|
||||||
Cmd(ctx context.Context, req *CmdRequest) (*CmdReply, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RegisterGMNATSRPCServer register GM service
|
|
||||||
func RegisterGMNATSRPCServer(server *natsrpc.Server, s GMNATSRPCServer, opts ...natsrpc.ServiceOption) (natsrpc.IService, error) {
|
|
||||||
return server.Register("hk4e.gs.api.GM", s, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// GM 服务
|
|
||||||
type GMNATSRPCClient interface {
|
|
||||||
Cmd(ctx context.Context, req *CmdRequest, opt ...natsrpc.CallOption) (*CmdReply, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
type _GMNATSRPCClient struct {
|
|
||||||
c *natsrpc.Client
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewGMNATSRPCClient
|
|
||||||
func NewGMNATSRPCClient(enc *nats_go.EncodedConn, opts ...natsrpc.ClientOption) (GMNATSRPCClient, error) {
|
|
||||||
c, err := natsrpc.NewClient(enc, "hk4e.gs.api.GM", opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
ret := &_GMNATSRPCClient{
|
|
||||||
c: c,
|
|
||||||
}
|
|
||||||
return ret, nil
|
|
||||||
}
|
|
||||||
func (c *_GMNATSRPCClient) Cmd(ctx context.Context, req *CmdRequest, opt ...natsrpc.CallOption) (*CmdReply, error) {
|
|
||||||
rep := &CmdReply{}
|
|
||||||
err := c.c.Request(ctx, "Cmd", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
228
gs/api/api.pb.go
228
gs/api/api.pb.go
@@ -1,228 +0,0 @@
|
|||||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// protoc-gen-go v1.26.0
|
|
||||||
// protoc v3.7.0
|
|
||||||
// source: api.proto
|
|
||||||
|
|
||||||
package api
|
|
||||||
|
|
||||||
import (
|
|
||||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
|
||||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
|
||||||
reflect "reflect"
|
|
||||||
sync "sync"
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
|
||||||
// Verify that this generated code is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
|
||||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
|
||||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
|
||||||
)
|
|
||||||
|
|
||||||
type CmdRequest struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
FuncName string `protobuf:"bytes,1,opt,name=func_name,json=funcName,proto3" json:"func_name,omitempty"`
|
|
||||||
Param []string `protobuf:"bytes,2,rep,name=param,proto3" json:"param,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdRequest) Reset() {
|
|
||||||
*x = CmdRequest{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_api_proto_msgTypes[0]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdRequest) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*CmdRequest) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *CmdRequest) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_api_proto_msgTypes[0]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use CmdRequest.ProtoReflect.Descriptor instead.
|
|
||||||
func (*CmdRequest) Descriptor() ([]byte, []int) {
|
|
||||||
return file_api_proto_rawDescGZIP(), []int{0}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdRequest) GetFuncName() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.FuncName
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdRequest) GetParam() []string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Param
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
|
||||||
type CmdReply struct {
|
|
||||||
state protoimpl.MessageState
|
|
||||||
sizeCache protoimpl.SizeCache
|
|
||||||
unknownFields protoimpl.UnknownFields
|
|
||||||
|
|
||||||
Code int32 `protobuf:"varint,1,opt,name=code,proto3" json:"code,omitempty"` // 0 表示成功
|
|
||||||
Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdReply) Reset() {
|
|
||||||
*x = CmdReply{}
|
|
||||||
if protoimpl.UnsafeEnabled {
|
|
||||||
mi := &file_api_proto_msgTypes[1]
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdReply) String() string {
|
|
||||||
return protoimpl.X.MessageStringOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
func (*CmdReply) ProtoMessage() {}
|
|
||||||
|
|
||||||
func (x *CmdReply) ProtoReflect() protoreflect.Message {
|
|
||||||
mi := &file_api_proto_msgTypes[1]
|
|
||||||
if protoimpl.UnsafeEnabled && x != nil {
|
|
||||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
|
||||||
if ms.LoadMessageInfo() == nil {
|
|
||||||
ms.StoreMessageInfo(mi)
|
|
||||||
}
|
|
||||||
return ms
|
|
||||||
}
|
|
||||||
return mi.MessageOf(x)
|
|
||||||
}
|
|
||||||
|
|
||||||
// Deprecated: Use CmdReply.ProtoReflect.Descriptor instead.
|
|
||||||
func (*CmdReply) Descriptor() ([]byte, []int) {
|
|
||||||
return file_api_proto_rawDescGZIP(), []int{1}
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdReply) GetCode() int32 {
|
|
||||||
if x != nil {
|
|
||||||
return x.Code
|
|
||||||
}
|
|
||||||
return 0
|
|
||||||
}
|
|
||||||
|
|
||||||
func (x *CmdReply) GetMessage() string {
|
|
||||||
if x != nil {
|
|
||||||
return x.Message
|
|
||||||
}
|
|
||||||
return ""
|
|
||||||
}
|
|
||||||
|
|
||||||
var File_api_proto protoreflect.FileDescriptor
|
|
||||||
|
|
||||||
var file_api_proto_rawDesc = []byte{
|
|
||||||
0x0a, 0x09, 0x61, 0x70, 0x69, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x67, 0x73, 0x2e,
|
|
||||||
0x61, 0x70, 0x69, 0x22, 0x3f, 0x0a, 0x0a, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
|
||||||
0x74, 0x12, 0x1b, 0x0a, 0x09, 0x66, 0x75, 0x6e, 0x63, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
|
|
||||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x66, 0x75, 0x6e, 0x63, 0x4e, 0x61, 0x6d, 0x65, 0x12, 0x14,
|
|
||||||
0x0a, 0x05, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x05, 0x70,
|
|
||||||
0x61, 0x72, 0x61, 0x6d, 0x22, 0x38, 0x0a, 0x08, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x70, 0x6c, 0x79,
|
|
||||||
0x12, 0x12, 0x0a, 0x04, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x04,
|
|
||||||
0x63, 0x6f, 0x64, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18,
|
|
||||||
0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x32, 0x33,
|
|
||||||
0x0a, 0x02, 0x47, 0x4d, 0x12, 0x2d, 0x0a, 0x03, 0x43, 0x6d, 0x64, 0x12, 0x12, 0x2e, 0x67, 0x73,
|
|
||||||
0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
|
||||||
0x10, 0x2e, 0x67, 0x73, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x43, 0x6d, 0x64, 0x52, 0x65, 0x70, 0x6c,
|
|
||||||
0x79, 0x22, 0x00, 0x42, 0x11, 0x5a, 0x0f, 0x68, 0x6b, 0x34, 0x65, 0x2f, 0x67, 0x73, 0x2f, 0x61,
|
|
||||||
0x70, 0x69, 0x3b, 0x61, 0x70, 0x69, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
|
||||||
}
|
|
||||||
|
|
||||||
var (
|
|
||||||
file_api_proto_rawDescOnce sync.Once
|
|
||||||
file_api_proto_rawDescData = file_api_proto_rawDesc
|
|
||||||
)
|
|
||||||
|
|
||||||
func file_api_proto_rawDescGZIP() []byte {
|
|
||||||
file_api_proto_rawDescOnce.Do(func() {
|
|
||||||
file_api_proto_rawDescData = protoimpl.X.CompressGZIP(file_api_proto_rawDescData)
|
|
||||||
})
|
|
||||||
return file_api_proto_rawDescData
|
|
||||||
}
|
|
||||||
|
|
||||||
var file_api_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
|
||||||
var file_api_proto_goTypes = []interface{}{
|
|
||||||
(*CmdRequest)(nil), // 0: gs.api.CmdRequest
|
|
||||||
(*CmdReply)(nil), // 1: gs.api.CmdReply
|
|
||||||
}
|
|
||||||
var file_api_proto_depIdxs = []int32{
|
|
||||||
0, // 0: gs.api.GM.Cmd:input_type -> gs.api.CmdRequest
|
|
||||||
1, // 1: gs.api.GM.Cmd:output_type -> gs.api.CmdReply
|
|
||||||
1, // [1:2] is the sub-list for method output_type
|
|
||||||
0, // [0:1] is the sub-list for method input_type
|
|
||||||
0, // [0:0] is the sub-list for extension type_name
|
|
||||||
0, // [0:0] is the sub-list for extension extendee
|
|
||||||
0, // [0:0] is the sub-list for field type_name
|
|
||||||
}
|
|
||||||
|
|
||||||
func init() { file_api_proto_init() }
|
|
||||||
func file_api_proto_init() {
|
|
||||||
if File_api_proto != nil {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
if !protoimpl.UnsafeEnabled {
|
|
||||||
file_api_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*CmdRequest); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
file_api_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
|
|
||||||
switch v := v.(*CmdReply); i {
|
|
||||||
case 0:
|
|
||||||
return &v.state
|
|
||||||
case 1:
|
|
||||||
return &v.sizeCache
|
|
||||||
case 2:
|
|
||||||
return &v.unknownFields
|
|
||||||
default:
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type x struct{}
|
|
||||||
out := protoimpl.TypeBuilder{
|
|
||||||
File: protoimpl.DescBuilder{
|
|
||||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
|
||||||
RawDescriptor: file_api_proto_rawDesc,
|
|
||||||
NumEnums: 0,
|
|
||||||
NumMessages: 2,
|
|
||||||
NumExtensions: 0,
|
|
||||||
NumServices: 1,
|
|
||||||
},
|
|
||||||
GoTypes: file_api_proto_goTypes,
|
|
||||||
DependencyIndexes: file_api_proto_depIdxs,
|
|
||||||
MessageInfos: file_api_proto_msgTypes,
|
|
||||||
}.Build()
|
|
||||||
File_api_proto = out.File
|
|
||||||
file_api_proto_rawDesc = nil
|
|
||||||
file_api_proto_goTypes = nil
|
|
||||||
file_api_proto_depIdxs = nil
|
|
||||||
}
|
|
||||||
@@ -1,121 +0,0 @@
|
|||||||
// Code generated by protoc-gen-natsrpc. DO NOT EDIT.
|
|
||||||
// versions:
|
|
||||||
// - protoc-gen-natsrpc v0.5.0
|
|
||||||
// source: api.proto
|
|
||||||
|
|
||||||
package api
|
|
||||||
|
|
||||||
import (
|
|
||||||
context "context"
|
|
||||||
fmt "fmt"
|
|
||||||
natsrpc "github.com/byebyebruce/natsrpc"
|
|
||||||
nats_go "github.com/nats-io/nats.go"
|
|
||||||
proto "google.golang.org/protobuf/proto"
|
|
||||||
)
|
|
||||||
|
|
||||||
var _ = new(context.Context)
|
|
||||||
var _ = proto.Marshal
|
|
||||||
var _ = fmt.Errorf
|
|
||||||
var _ = natsrpc.Version
|
|
||||||
var _ = nats_go.Version
|
|
||||||
|
|
||||||
// 节点服务器注册发现服务
|
|
||||||
type DiscoveryNATSRPCServer interface {
|
|
||||||
// 服务器启动注册获取appid
|
|
||||||
RegisterServer(ctx context.Context, req *RegisterServerReq) (*RegisterServerRsp, error)
|
|
||||||
// 服务器关闭取消注册
|
|
||||||
CancelServer(ctx context.Context, req *CancelServerReq) (*NullMsg, error)
|
|
||||||
// 服务器在线心跳保持
|
|
||||||
KeepaliveServer(ctx context.Context, req *KeepaliveServerReq) (*NullMsg, error)
|
|
||||||
// 获取负载最小的服务器的appid
|
|
||||||
GetServerAppId(ctx context.Context, req *GetServerAppIdReq) (*GetServerAppIdRsp, error)
|
|
||||||
// 获取区服密钥信息
|
|
||||||
GetRegionEc2B(ctx context.Context, req *NullMsg) (*RegionEc2B, error)
|
|
||||||
// 获取负载最小的网关服务器的地址和端口
|
|
||||||
GetGateServerAddr(ctx context.Context, req *GetGateServerAddrReq) (*GateServerAddr, error)
|
|
||||||
// 获取全部网关服务器信息列表
|
|
||||||
GetAllGateServerInfoList(ctx context.Context, req *NullMsg) (*GateServerInfoList, error)
|
|
||||||
// 获取主游戏服务器的appid
|
|
||||||
GetMainGameServerAppId(ctx context.Context, req *NullMsg) (*GetMainGameServerAppIdRsp, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
// RegisterDiscoveryNATSRPCServer register Discovery service
|
|
||||||
func RegisterDiscoveryNATSRPCServer(server *natsrpc.Server, s DiscoveryNATSRPCServer, opts ...natsrpc.ServiceOption) (natsrpc.IService, error) {
|
|
||||||
return server.Register("hk4e.node.api.Discovery", s, opts...)
|
|
||||||
}
|
|
||||||
|
|
||||||
// 节点服务器注册发现服务
|
|
||||||
type DiscoveryNATSRPCClient interface {
|
|
||||||
// 服务器启动注册获取appid
|
|
||||||
RegisterServer(ctx context.Context, req *RegisterServerReq, opt ...natsrpc.CallOption) (*RegisterServerRsp, error)
|
|
||||||
// 服务器关闭取消注册
|
|
||||||
CancelServer(ctx context.Context, req *CancelServerReq, opt ...natsrpc.CallOption) (*NullMsg, error)
|
|
||||||
// 服务器在线心跳保持
|
|
||||||
KeepaliveServer(ctx context.Context, req *KeepaliveServerReq, opt ...natsrpc.CallOption) (*NullMsg, error)
|
|
||||||
// 获取负载最小的服务器的appid
|
|
||||||
GetServerAppId(ctx context.Context, req *GetServerAppIdReq, opt ...natsrpc.CallOption) (*GetServerAppIdRsp, error)
|
|
||||||
// 获取区服密钥信息
|
|
||||||
GetRegionEc2B(ctx context.Context, req *NullMsg, opt ...natsrpc.CallOption) (*RegionEc2B, error)
|
|
||||||
// 获取负载最小的网关服务器的地址和端口
|
|
||||||
GetGateServerAddr(ctx context.Context, req *GetGateServerAddrReq, opt ...natsrpc.CallOption) (*GateServerAddr, error)
|
|
||||||
// 获取全部网关服务器信息列表
|
|
||||||
GetAllGateServerInfoList(ctx context.Context, req *NullMsg, opt ...natsrpc.CallOption) (*GateServerInfoList, error)
|
|
||||||
// 获取主游戏服务器的appid
|
|
||||||
GetMainGameServerAppId(ctx context.Context, req *NullMsg, opt ...natsrpc.CallOption) (*GetMainGameServerAppIdRsp, error)
|
|
||||||
}
|
|
||||||
|
|
||||||
type _DiscoveryNATSRPCClient struct {
|
|
||||||
c *natsrpc.Client
|
|
||||||
}
|
|
||||||
|
|
||||||
// NewDiscoveryNATSRPCClient
|
|
||||||
func NewDiscoveryNATSRPCClient(enc *nats_go.EncodedConn, opts ...natsrpc.ClientOption) (DiscoveryNATSRPCClient, error) {
|
|
||||||
c, err := natsrpc.NewClient(enc, "hk4e.node.api.Discovery", opts...)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
ret := &_DiscoveryNATSRPCClient{
|
|
||||||
c: c,
|
|
||||||
}
|
|
||||||
return ret, nil
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) RegisterServer(ctx context.Context, req *RegisterServerReq, opt ...natsrpc.CallOption) (*RegisterServerRsp, error) {
|
|
||||||
rep := &RegisterServerRsp{}
|
|
||||||
err := c.c.Request(ctx, "RegisterServer", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) CancelServer(ctx context.Context, req *CancelServerReq, opt ...natsrpc.CallOption) (*NullMsg, error) {
|
|
||||||
rep := &NullMsg{}
|
|
||||||
err := c.c.Request(ctx, "CancelServer", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) KeepaliveServer(ctx context.Context, req *KeepaliveServerReq, opt ...natsrpc.CallOption) (*NullMsg, error) {
|
|
||||||
rep := &NullMsg{}
|
|
||||||
err := c.c.Request(ctx, "KeepaliveServer", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) GetServerAppId(ctx context.Context, req *GetServerAppIdReq, opt ...natsrpc.CallOption) (*GetServerAppIdRsp, error) {
|
|
||||||
rep := &GetServerAppIdRsp{}
|
|
||||||
err := c.c.Request(ctx, "GetServerAppId", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) GetRegionEc2B(ctx context.Context, req *NullMsg, opt ...natsrpc.CallOption) (*RegionEc2B, error) {
|
|
||||||
rep := &RegionEc2B{}
|
|
||||||
err := c.c.Request(ctx, "GetRegionEc2B", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) GetGateServerAddr(ctx context.Context, req *GetGateServerAddrReq, opt ...natsrpc.CallOption) (*GateServerAddr, error) {
|
|
||||||
rep := &GateServerAddr{}
|
|
||||||
err := c.c.Request(ctx, "GetGateServerAddr", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) GetAllGateServerInfoList(ctx context.Context, req *NullMsg, opt ...natsrpc.CallOption) (*GateServerInfoList, error) {
|
|
||||||
rep := &GateServerInfoList{}
|
|
||||||
err := c.c.Request(ctx, "GetAllGateServerInfoList", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
func (c *_DiscoveryNATSRPCClient) GetMainGameServerAppId(ctx context.Context, req *NullMsg, opt ...natsrpc.CallOption) (*GetMainGameServerAppIdRsp, error) {
|
|
||||||
rep := &GetMainGameServerAppIdRsp{}
|
|
||||||
err := c.c.Request(ctx, "GetMainGameServerAppId", req, rep, opt...)
|
|
||||||
return rep, err
|
|
||||||
}
|
|
||||||
1044
node/api/api.pb.go
1044
node/api/api.pb.go
File diff suppressed because it is too large
Load Diff
@@ -25,7 +25,7 @@ func NewHandle(messageQueue *mq.MessageQueue) (r *Handle) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (h *Handle) run() {
|
func (h *Handle) run() {
|
||||||
for i := 0; i < 4; i++ {
|
for i := 0; i < 1; i++ {
|
||||||
go func() {
|
go func() {
|
||||||
for {
|
for {
|
||||||
netMsg := <-h.messageQueue.GetNetMsg()
|
netMsg := <-h.messageQueue.GetNetMsg()
|
||||||
|
|||||||
Reference in New Issue
Block a user