更新时间:2017-3-7

安装准备


服务器检查

1. 请检查操作系统内核参数是否进行过必要优化。 2. 请检查是否已经安装了过旧版本的Nginx、NodeJS、Mysql、Redis。 3. 请检查iptable或云防火墙是否开放tcp 80、3306、6379、40000端口。 4. 请检查SElinux是否已经关闭。 5. 请检查您的服务器能否正常使用Yum安装程序。

信息准备

1. 请记录您服务器的内外网IP地址。 2. 请确认您为SDK服务器准备的域名。

适应场景


单台服务器部署

单台服务器部署适合测试环境或周活跃用户数少于100万人。可使用服务端自动安装脚本进行快速部署。 服务器建议配置: 4核CPU、8G内存、50G数据磁盘/data 架构图: SDK服务器结构.png

多台服务器负载部署

多台服务器负载均衡部署适合线上环境,及周活跃人数大于100万用户。需要手动完成分布式部署调试工作,如您需要获取官方VIP技术支持请联系商务咨询。 服务器建议配置: 服务器 4核CPU、8G内存、50G数据磁盘/data。2台以上按需增加。 Mysql 2核CPU、4G内存、50G存储。建议直接购买带主被容灾切换的Mysql兼容云数据库。 Redis 1G内存。建议直接购买带主被容灾切换的Redis兼容云数据库。 负载均衡 100MB带宽,按量计费。

软件标准


Linux CentOS 7.2 64位 NodeJS v6.9.5 Mysql 5.6 Redis 3.2.3 Nginx 1.8.1

自动安装包


自动安装包目录结构说明

/data/typesdk_server/ 默认安装文件目录

/data/typesdk_server/nginx_html/ 远程开关文件目录

/data/typesdk_server/redis_data/ redis数据文件目录

/data/typesdk_server/SdkServer_free_git/ 服务端代码

/data/typesdk_server/SdkServer_free_git/bin/ 服务端启动代码目录

/data/typesdk_server/SdkServer_free_git/channel/ 渠道固定配置目录

/data/typesdk_server/SdkServer_free_git/logic/ 渠道聚合逻辑代码

/data/typesdk_server/SdkServer_free_git/routes/ 服务端routes方法


/data/typesdk_server/GameServerDemo 官方Demo服务端

/data/typesdk_server/Tools/ 软件包

自动安装脚本

自动安装包可以快速在单台服务器上进行部署,安装包内有一键自动安装脚本.\typesdk_serverSdk\SdkServer_free_git\install_allinone.sh,在确保网络畅通以及以测试为目的的情况下可直接使用,运行后完成allinone服务器的部署和启动。

默认密码

redis密码:typesdk.com mysql密码:typesdk.com

使用端口

安装完成后请检查TCP:80;40000;3306;6379等是否都已经开通

验证安装结果

打开浏览器访问以下几个接口和远程开关文件

服务器接口

http://服务器IP地址/1001/3/Login http://服务器IP地址/1001/3/Pay 将返回参数或签名错误

远程开关文件

http://服务器IP地址/config/1001/3/config.txt http://服务器IP地址/getIp

错误排查

都访问出现就说明server已经部署完成,如遇到超时错误请检查服务器防火墙或云防火墙。如遇到500请查看pm2 logs中错误日志。

同步渠道配置


服务端需要进行游戏及渠道参数同步后才能正常运行。 了解如何

同步打包工具和服务端参数

远程开关文件


SDK启动后将访问一个位于网络位置的开关文件,以控制SDK功能启停,并提供必要的配置参数。虽然因为格式相同,不同渠道包都可使用同一个远程配置开关文件,但根据经验建议为每个游戏不同渠道配置不同的远程开关文件地址,便于单独管理某个游戏某个渠道的登录、支付、日志开关功能。

如何在打包工具中设置开关文件URL

在打包工具点开“管理->游戏管理->选择接入渠道->参数配置”,修改其中“switchconfig_url”项目值,

例如:http://demo.typesdk.com:30003/getConfig/1001/3/config.txt

开关文件如何发布

如您使用TypeSDK聚合接入服务端一键安装脚本安装,开关文件位于/data/typesdk_server/nginx_html/目录中。 如您手动安装,请在Nginx站点或CDN中配置一个容易识别的位置存放远程开关文件。

格式说明

{
"profile_verison": "1.0.1", //配置文件版本,如果不需要二次开发,请保持
"itemListUrl": "http://demo.typesdk.com:40000/1001/200/getChannelConfig", //商品列表获取地址
"other": {
"pay_mode": "debug", //支付模式,增加此项目支付金额变为1元。
"pushservice": "1", //本地消息推送开关,1开启 0关闭
"open_log": "1", //开启日志输出
"open_pay": "1", //开启支付功能
"crash_url": "demo.typesdk.com", //奔溃日志收集 FTP服务器地址
"crash_port": "21", //奔溃日志收集 FTP服务器端口
"user_name": "crash", //奔溃日志收集 FTP服务器用户名
"user_pass_word": "crashlog" //奔溃日志收集 FTP服务器密码
},
"crash_profile": {
"collect_model_regular": "all", //奔溃日志收集 未使用
"collect_sdk_regular": "all", //奔溃日志收集 未使用
"catch_tag": [
"Unity" //奔溃日志收集 筛选日志,关键字
],
"is_open": "1" //奔溃日志收集开关 1开启 0关闭
},
"payment_profile": {
"sdk_open_regular": "all",
"sdk_open_list": [],
"is_appstorepay_open": "1"
},
"white_id": {
"getip": "http://demo.typesdk.com:30003/getIp", //客户端本机外网地址查询地址
}
}

相关服务启动方法


redis

启动 systemctl start redis.service

停止 systemctl stop redis.service

nginx

启动 systemctl start nginx.service

停止 systemctl stop nginx.service

Mysql

启动 systemctl start mysqld.service

停止 systemctl stop mysql.service

TypeSDK Server

启动 pm2 start www

停止 pm2 stop www

进程 pm2 list

日志 pm2 logs

Demo Server

启动 pm2 start GameServerDemo

停止 pm2 stop GameServerDemo

服务端成果输出


恭喜您已经完成了TypeSDK聚合渠道接入服务端安装工作,现在您需要准备以下内容并提供给与您协作接入TypeSDK的人员。

1、 远程开关文件URL地址列表

打包工具中配置需要填写switchconfig_url需要此列表信息。

约定远程开关文件URL格式:

http://[your.sdk.cdn]/getConfig/[cp_id]/[channel_id]/config.txt

远程开关文件URL范例:

360远程开关文件URL http://sdk.typesdk.com/config/1001/3/config.txt

阿里UC远程开关文件URL http://sdk.typesdk.com/config/1001/301/config.txt

2、 登录验证接口URL地址列表

游戏服务端需要通过拼接URL,将渠道用户登录请求结果发送至聚合服务器相对应渠道接口进行验证。 登录地址URL格式:

http://[服务器IP地址]/[cp_id]/[channel_id]/Login

登录地址URL范例:

360登录验证URL http://sdk.typesdk.com/1001/3/Login

阿里UC登录验证URL http://sdk.typesdk.com/1001/301/Login

cp_id由使用者自行确定分配。

channel_id由TypeSDK开发组预定分配,不建议修改channe_id。

关于如何设置cp_id、查询_channel_id请查看

游戏渠道参数设置

3、 支付回调URL地址列表

您需要整理各渠道用以接收支付回调URL地址列表,并将其填写在各个渠道官方后台的回调地址项目内。各渠道将在用户完成支付后对填写的地址进行支付成果通知。打包工具中部分渠道参数也会要求填写回调地址,请按打包工具提示操作。

支付回调地址URL格式:

http://[服务器IP地址]/[cp_id]/[channel_id]/Pay

支付回调地址URL范例:

360登录验证URL http://sdk.typesdk.com/1001/3/Pay

阿里UC登录验证URL http://sdk.typesdk.com/1001/301/Pay

4、 Redis IP地址、端口、访问密码

打包工具需要将渠道参数同步至聚合服务器,操作过程需要相关信息。

5、 GameServerDemo游戏服务端Demo URL地址

为了与官方Demo配套使用,需要提供给客户端开发人员服务端Demo URL地址。

http://[服务器IP地址]:40001/game