以下表格列出了官方文档中明确提及的大区代号和大区名称:
大区代号 | 大区名称 | 描述 | 大区主数据库 |
---|---|---|---|
1 | cain | 卡恩 | taiwan_cain |
2 | diregie | 狄瑞吉 | taiwan_diregie |
3 | siroco | 希洛克 | taiwan_siroco |
4 | prey | 普雷 | taiwan_prey |
5 | casillas | 卡西利亚斯 | taiwan_casillas |
6 | hilder | 赫尔德 | taiwan_hilder |
然而,目前市面上主流的PVF
只有160MB左右,并且仅开放了希洛克大区
。因此,我们将SERVER_GROUP的默认值设置为3(代表希洛克大区)。
此外,大多数服务端以及GM工具连接的是cain数据库。为了适配这种情况,我们可以通过设置环境变量SERVER_GROUP_DB=cain来明确指定使用卡恩数据库。否则可能会造成部分GM工具无法使用等问题。
第一优先级,当配置了PUBLIC_IP时,其他的低优先级的外网IP配置均失效。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
PUBLIC_IP | 当前机器IP地址 | '' |
第二优先级,当配置了AUTO_PUBLIC_IP时,其他的低优先级的外网IP配置均失效。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
AUTO_PUBLIC_IP | 自动获取公网地址 | true/false | false |
第三优先级,该设置将自动获取域名的IP地址作为服务的外网访问地址。若要使用域名的IP地址解析作为服务的公网IP,请设置DDNS_ENABLE=true,并指定DDNS_DOMAIN为您的域名,此时其他低优先级的外网IP配置均失效。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
DDNS_ENABLE | DDNS开关 | true/false | false |
DDNS_DOMAIN | DDNS域名 | '' |
最低优先级,会使用Netbird虚拟IP作为外网IP,缺点是所有客户端均需要加入Netbird虚拟网络。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
NB_MANAGEMENT_URL | Netbird服务器地址 | '' | |
NB_SETUP_KEY | Netbird初始化KEY | '' |
在这里配置当前大区的数据库root账号以及game账号密码。在没有配置主数据库以及大区数据库的情况下,会自动使用容器内部MYSQL数据库。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
SERVER_GROUP | 大区编号 | 1-6范围的数字 | 3 |
SERVER_GROUP_DB | 大区数据库 | 所有大区名称 | '' |
OPEN_CHANNEL | 开启的频道 | 支持配置范围,配置之间用逗号分隔,例如:1-11,12,22-25,51-55 | '11,52' |
DNF_DB_ROOT_PASSWORD | DNF数据库root密码[当使用独立数据库时,root密码用于初始化数据以及game账号自动化创建、授权] | '' | |
DNF_DB_GAME_PASSWORD | DNF数据库game密码[必须8位] | '' |
配置访问Supervisor进程管理页面所需的用户名密码。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
WEB_USER | supervisor web页面用户名 | root | |
WEB_PASS | supervisor web页面密码 | 123456 |
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
GM_ACCOUNT | GM管理员账号 | 不能有特殊字符 | gmuser |
GM_PASSWORD | GM管理员密码 | 不能有特殊字符 | gmpass |
GM_CONNECT_KEY | GM连接KEY[自定以密钥请使用网关生成的密钥,因为密钥有格式限制,不符合格式的密钥会导致登录器一致卡在网关连接那里] | 763WXRBW3PFTC3IXPFWH | |
GM_LANDER_VERSION | GM登录器版本 | 20180307 |
为了简化配置,主数据库和大区数据库的game密码必须一致。game账号密码通过环境变量DNF_DB_GAME_PASSWORD设置,大区数据库root密码通过环境变量DNF_DB_ROOT_PASSWORD配置。
环境变量名称 | 描述 | 可选参数 | 默认值 |
---|---|---|---|
SERVER_GROUP | 大区编号 | 1-6范围的数字 | 3 |
SERVER_GROUP_DB | 大区数据库 | 所有大区名称 | '' |
MAIN_BRIDGE_IP | 主大区 BRIDGE_IP | 主大区的PUBLIC_IP地址 | 127.0.0.1 |
MAIN_MYSQL_HOST | 主数据库IP地址 | '' | |
MAIN_MYSQL_PORT | 主数据库端口号 | '' | |
MAIN_MYSQL_ROOT_PASSWORD | 主数据库ROOT账号密码 | '' | |
MAIN_MYSQL_GAME_ALLOW_IP | 主数据库GAME账号ALLOW IP | '' | |
MYSQL_HOST | 大区数据库的IP地址 | '' | |
MYSQL_PORT | 大区数据库的端口号 | '' | |
MYSQL_GAME_ALLOW_IP | 大区数据库GAME账号ALLOW IP | '' |
默认情况下,系统会创建并连接到相应大区的数据库。若需要连接到其他大区的数据库,需设置环境变量SERVER_GROUP_DB为相应大区的名称(例如cain/diregie/siroco)。在这种情况下,服务内部也会连接到 taiwan_cain/taiwan_diregie/taiwan_siroco 等大区的数据库。
当你有多台云服务器可以分别在不同的云服务器运行三个大区。
或者你只有一台云服务器也可以同时开启三个大区,参考如下部署方式:
如果发现连接频道时网络中断的问题,大概率是GEO拦截,需要从频道的log中找到拦截的IP地址,并修改data/daily_job/user_daily_script.sh脚本, 添加白名单并重启服务。当发生拦截时,会产生类似以下的日志:
[16:02:51] bool RestrictGeolocation::isAllow(std::string, std::string)(90): [Taiwan, GeoIP] Fail Account:18000000, IP:192.168.48.1, CountryCode:
上述日志被拦截的IP地址为192.168.48.1,则添加如下命令。
mysql -h $CUR_MAIN_DB_HOST -P $CUR_MAIN_DB_PORT -u game -p$DNF_DB_GAME_PASSWORD <<EOF
insert into d_taiwan.geo_allow values ('192.168.48.1', "*", "2016-04-09 23:53:04");
EOF
大区编号 | 协议 | 端口号 |
---|---|---|
1 | TCP | 7100 |
1 | UDP | 7100 |
2 | TCP | 7200 |
2 | UDP | 7200 |
3 | TCP | 7300 |
3 | UDP | 7300 |
N | TCP | 7N00 |
N | UDP | 7N00 |
其中N为1-6之间的数字。
大区编号 | 协议 | 端口号 |
---|---|---|
1 | TCP | 2111-2113 |
1 | UDP | 2111-2113 |
2 | TCP | 2211-2213 |
2 | UDP | 2211-2213 |
3 | TCP | 2311-2313 |
3 | UDP | 2311-2313 |
N | TCP | 2N11-2N13 |
N | UDP | 2N11-2N13 |
其中N为1-6之间的数字。
大区编号 | 频道 | 协议 | 端口号 |
---|---|---|---|
1 | 6 | TCP | 10006 |
1 | 6 | UDP | 11006 |
1 | 7 | TCP | 10007 |
1 | 7 | UDP | 11007 |
1 | 11-39 | TCP | 10011-10039 |
1 | 11-39 | UDP | 11011-11039 |
1 | 52-56 | TCP | 10052-10056 |
1 | 52-56 | UDP | 11052-11056 |
2 | 6 | TCP | 20006 |
2 | 6 | UDP | 21006 |
2 | 7 | TCP | 20007 |
2 | 7 | UDP | 21007 |
2 | 11-39 | TCP | 20011-20039 |
2 | 11-39 | UDP | 21011-21039 |
2 | 52-56 | TCP | 20052-20056 |
2 | 52-56 | UDP | 21052-21056 |
3 | 6 | TCP | 30006 |
3 | 6 | UDP | 31006 |
3 | 7 | TCP | 30007 |
3 | 7 | UDP | 31007 |
3 | 11-39 | TCP | 30011-30039 |
3 | 11-39 | UDP | 31011-31039 |
3 | 52-56 | TCP | 30052-30056 |
3 | 52-56 | UDP | 31052-31056 |
N | 6 | TCP | N0006 |
N | 6 | UDP | N1006 |
N | 7 | TCP | N0007 |
N | 7 | UDP | N1007 |
N | 11-39 | TCP | N0011-N0039 |
N | 11-39 | UDP | N1011-N1039 |
N | 52-56 | TCP | N0052-N0056 |
N | 52-56 | UDP | N1052-N1056 |
其中N为1-6之间的数字。目前发现cain服没有52频道。数据库数据或PVF可能需要更近一步适配,欢迎大家提PR。