Skip to content

启动模式


解析多种启动方式的优先级参数解析

参数优先级

命令行参数 > 环境变量 > 配置文件 > 默认内部配置

参数解析

参数定义参数名称必须具体描述
ServerType服务器类型启动的服务器类型.从枚举ServerType中获取.
APMPortAPM监控端口不配置将不会启动.配置建议29091
IsDebug是否是Debug模式打印消息的开关.不开将不会记录
IsDebugSend是否打印发送的消息内容打印发送消息的内容.必须在开始IsDebug 的情况下生效
IsDebugReceive是否打印接收的消息内容打印接收消息的内容.必须在开始IsDebug 的情况下生效
ServerId服务器ID服务器ID.每个服唯一.
SaveDataInterval数据落地的间隔数据存档的时间间隔.单位毫秒.建议配置5分钟
InnerIp监听的IP监听的本地IP.建议配置0.0.0.0127.0.0.1
InnerPort本地端口监听的本地端口
OuterIp外部IP给外部访问的IP.只有发现中心启用的时候才有效
OuterPort外部端口给外部访问的端口.只有发现中心启用的时候才有效
HttpCodeHTTP代码HTTP的内部代码.建议配置为:inner_httpcode
HttpUrlHTTP地址HTTP的管理地址
HttpPortHTTP端口HTTP的管理端口
HttpsPortHttps端口HTTPS的管理端口,目前保留
WsPortWebSocket 端口WebSocket 端口.不配置将不会启动WebSocket 服务
WssPortWebSocket 加密端口WebSocket 加密端口.不配置将不会启动WebSocket 服务
WssCertFilePathWebSocket 加密端口的证书WebSocket 加密证书地址
MinModuleId最小的处理消息模块ID游戏逻辑模块的最小消息模块ID,从10-30000
MaxModuleId最大的处理消息模块ID游戏逻辑模块的最大消息模块ID,从10-30000,建议配置成一样.如果是单服务器.则配置范围为最大
DataBaseUrl数据库连接地址数据库的连接字符串地址
DataBaseName数据库的名称数据库的名称
Language服务器的语言.服务器可能在不同的国家或者不同地区的玩家服务.可能依照这个来区分.目前没有实际用途
DataCenter数据中心,保留数据中心.
DiscoveryCenterIp发现中心IP或地址连接到发现中心的地址.只有在多进程完备的情况下生效
DiscoveryCenterPort发现中心端口连接到发现中心的端口.只有在多进程完备的情况下生效
DBIp数据库IP或地址数据服务器地址.只有在多进程完备的情况下生效
DBPort数据库端口数据服务器端口.只有在多进程完备的情况下生效

最佳实践

命令行参数(主要是在本地或命令行方式启动)

使用方式.

shell

GameFrameX.Launcher.exe --ServerType Game --ServerId 9000 --APMPort 29090 --InnerIp 127.0.0.1 --InnerPort 29001 --OuterIp 127.0.0.1 --OuterPort 29010 --MinModuleId 1 --MaxModuleId 9999 --WsPort 29110 --DiscoveryCenterIp 127.0.0.1 --DiscoveryCenterPort 21001 --HttpCode inner_httpcode --DataBaseUrl "mongodb+srv://gameframex:xxx@gameframex.db.mongodb.net/?retryWrites=true&w=majority" --DataBaseName gameframex

环境变量(主要是给Docker使用)

yaml
services:
  server.game:
    image: registry.cn-shenzhen.aliyuncs.com/gameframex/server.launcher:1.0.0
    container_name: game
    ports:
      - 20001:20001
      - 8898:8898
      - 25001:25001
    environment:
      - ServerType=Game
      - ServerId=000
      - APMPort=9090
      - InnerIp=127.0.0.1
      - InnerPort=9001
      - OuterIp=127.0.0.1
      - OuterPort=9010
      - MinModuleId=
      - MaxModuleId=999
      - WsPort=9110
      - DiscoveryCenterIp=127.0.0.1
      - DiscoveryCenterPort=1001
      - HttpCode=inner_httpcode
      - DataBaseUrl="mongodb+srv://gameframex:xxx@gameframex.db.mongodb.net/?retryWrites=true&w=majority"
      - DataBaseName=gameframex
    volumes:
      - "./running/hotfix:/app/hotfix"
      - "./running/json:/app/json"

配置文件

文件路径GameFrameX.Launcher/Configs/app_config.json

json
{
  "IsDebug": true,
  "ServerId": 1001,
  "ServerType": "All",
  "ServerName": "gfx_server",
  "LocalIp": "127.0.0.1",
  "TcpPort": 8898,
  "HttpCode": "inner_httpcode",
  "HttpPort": 20001,
  "WsPort": 25001,
  "WssPort": 0,
  "WssCertFilePath": "certs/cert.pem",
  "GrpcPort": 30001,
  "SDKType": 0,
  "DataBaseUrl": "mongodb+srv://gameframex:xxx@gameframex.db.mongodb.net/?retryWrites=true&w=majority",
  "DataBaseName": "gameframex"
}