市面价值上万的新征途手游商业游戏源码,安卓苹果双客户端+服务端架设教程与全套架设工具
打包下载S2服务器游戏开服部署文档、服务器配置环境软件、游戏策划相关资料、游戏开关服务器说明….更多请查看游戏源码压缩包内
分为全局服务器和游戏区服务器(提示,可参照下文服务器架构图)
每种服务器只需要一台. (对于登录服和子列表服来说, 如果压力较大,可以使用负载均衡机制部署多台)
bill91server 91付费服务器, 处理支付页面(见下面的ztpay.php)发来的支付数据, 转个各个逻辑服
loginserver 登录服务器, 主要用于玩家登录时验证账号信息,第三方token等
superserver 列表服务器, 管理客户端的服务器选择界面
Sublistserver 子列表服务器, 功能同sublistserver, 可以使用负载均衡机制开启多个子列表服来减压
globalserver 跨服服务器, 处理一个跨服逻辑(如:跨服战, 跨服聊天)
ztpay.php 91付费用php页面,各个渠道支付成功后访问 的页面, 负责把订单转给billserver
一组游戏区服务器支撑一个游戏区的正常运行.一组游戏区包括:
dbserver 数据库服务器, 数据库的前端, 逻辑服加载和保存游戏数据通过dbserver来中转, 一组游戏区有且只有一个
gamegate 网关服务器, 客户端连接的服务器, 用于把客户端的数据转发给逻辑服, 一组游戏区可以有一到多个
gameserver 游戏主逻辑服务器, 一组游戏区有且只有一个
managerserver 进程管理服务器, 可以启动一个服务器组(dbserver, gameserver+若干gamegate, 监视他们的运行,发现有异常会自动重启, 一组游戏区有且只有一个
另有一些http服务代码后续介绍
说明:
Client1,client2表示手机客户端先去连接sublistserver获取服务器列表,当玩家选择好服务器区后,会断开sublistserver的连接,再去连接对应服务器的网关
php到billserver的虚线表示这个连接是个短连接, 其他的实线都是长连接
机器环境安装:
需要至少两台云服务器, 一个作为全局服, 另一台作为游戏服, 每新增一个游戏服,都要新增一台机器
机器配置如下:
Centos6.3 64位,
8核CPU
16G 内存
500G硬盘
机器需要安装的软件见《软件安装.docx》
mysql_cmd=’mysql -p<password>’ (这里password改成数据库的密码)
$mysql_cmd < create_battle_field.sql
$mysql_cmd battle_field < battle_field_update.sql
$mysql_cmd < create_paydatabase.sql
python create_ztnet_account.py
$mysql_cmd < create_ztnet_account.sql
$mysql_cmd < create_ztnet_account2.sql
python create_ztnet_account_to_userid.py
$mysql_cmd < create_ztnet_account_to_userid.sql
$mysql_cmd < create_ztnet_account_to_userid2.sql
$mysql_cmd < create_ztnet_activity.sql
$mysql_cmd < create_ztnet_ctupay.sql
$mysql_cmd < create_ztnet_loadfail.sql
$mysql_cmd < create_ztnet_login_key.sql
$mysql_cmd < create_ztnet_phonecard.sql
python create_ztnet_user.py
$mysql_cmd < create_ztnet_user.sql
python create_ztnet_vip.py
$mysql_cmd < create_ztnet_vip.sql
$mysql_cmd paydatabase < paydatabase_update.sql
$mysql_cmd ztnet_activity < ztnet_activity_update.sql
$mysql_cmd < create_ztnet_cdkey.sql
$mysql_cmd ztnet_cdkey < ztnet_cdkey_udpate.sql
修改/etc/my.cnf文件 max_connections = 100 改成max_connections = 800,重启数据库
所有全局服可以部署在同一个机器的同一个文件夹下, 这里以文件夹/data/superserver为例
需要准备程序文件有globalserver/superserver/loginserver/sublistserver/billserver, 配置文件有server_config.lua ss_config.lua male.txt female.txt LuaScript/BattleField.lua LuaScript/globaldefine.lua find_pid_of_this_dir.sh
需要修改的配置文件有:
Server_config.lua:
global_outer_ip = “XXXX” 后面的改成全局服的外网ip
global_inner_ip = “xxxx” 后面改成全局服的内网ip
ls_vip = global_inner_ip, 如果登录服使用负载均衡, 后面改成负载均衡的virtual_ip
db_password = “XXXX” 后面的改成数据库的密码
Specific_config/sconfig.json:
ss_config | list_url”:”XXXX” 后面改成GM工具的列表信息页面地址
所有机器的内网应该保证都是互通的. 对于全局服的机器, 需要对外网开放的端口有:1119(superserver). 如果sublistserver不使用负载均衡,则sublistserver的端口要对外开放(默认是1120), 如果使用了负载均衡,则负载均衡的端口要对外开放
依次执行以下命令
./back_run.sh superserver
sh start_login.sh
sh start_sublist.sh
./back_run.sh globalserver
./back_run.sh bill91server
上面5个命令每次启动一种全局服, 可以每启动一种全局服后用 sh find_pid_of_this_dir.sh 查看程序进程是否成功, 全部成功后有类似以下输出:
gamegate
gameserver
dbserver
managerserver
superserver 8625
loginserver 9393 9394 9395 9396 9397
sublistserver 10150 10151 10152 10153 10154
globalserver 10234
bill91server 18223
上述显示表明,superserver,globalserver和billserver各启动了一个, loginserver和sublistserver各启动了5个
执行命令
mysql_cmd=’mysql -p<db_password>’ (<db_password>换成数据库密码)
$mysql_cmd -e “create database server1 default charset=utf8mb4 collate=utf8mb4_bin;”
$mysql_cmd -e “create database serverlog1 default charset=utf8mb4 collate=utf8mb4_bin;”
$mysql_cmd server1 < create_ztnet.sql
$mysql_cmd serverlog1 < create_ztnetlog.sql
$mysql_cmd server1 < ztnet_update.sql
$mysql_cmd serverlog1 < ztnetlog_update.sql
Managerserver/dbserver/gameserver/gamegate可配置在同一目录下, 默认放在/data/gameserver/server1/下.
以下假定 要配置的服务器区号为<zone_id1>, 服务器名为<server_name1>
需要修改的配置文件如下:
Server_config.lua:
global_outer_ip = “XXXX” 后面的改成全局服的外网ip
global_inner_ip = “xxxx” 后面改成全局服的内网ip
ls_vip = global_inner_ip, 如果登录服使用负载均衡, 后面改成负载均衡的virtual_ip
db_password = “XXXX” 后面的改成数据库的密码
this_outer_ip = “XXXX” 后面改成游戏区服的外网ip
Zone_id = xxxx 后面改成<zone_id1>
Server_name= “xxxx” 后面改成<server_name1>
specific_config/server_name_and_zone.json
“测试2”: 1 改成 “<server_name1>”:<zone_id1>
Specific_config/sconfig.json
里面的所有118.194.50.122均为测试环境的ip, 不修改它可以正常启动程序, 但游戏对玩家开放前一定要改成真实环境的ip
“user_picture_url_header” : “http://118.194.50.122/user_picture/”, 游戏开放前, 要改成http://<本机外网ip>/user_picture
“promotion2_update_url” : “http://118.194.50.122:8899/promotion/”,
“promotion3_update_url” : “http://118.194.50.122:8899/promotion3/”, 游戏开放前, 要改成GM工具的页面地址
首先安装apache, mod_wsgi, (这里没有安装文件, 可以使用yum等工具自行安装)
使用python模块的安装程序如easy_install, pip等安装如下python模块:
Web.py
分别进入到cdkey_service, giant_cdkey, kuafu_rank, tencent_level_gift, user_picture_gm, zhifubao_code, zt_yimin_gm文件夹, 运行sh install.sh
全部执行完后, 执行service httpd restart
执行 cp giant_pay.php /var/www/html
首先安装apache, mod_wsgi, (这里没有安装文件, 可以使用yum等工具自行安装)
使用python模块的安装程序如easy_install, pip等安装如下python模块: Web.py
分别进入到user_picture文件夹, 运行sh install.sh
全部执行完后, 执行service httpd restart
交易流程
发货方式
1、自动:在上方保障服务中标有自动发货的商品,拍下后,将会自动收到来自卖家的商品获取(下载)链接;
2、手动:未标有自动发货的的商品,拍下后,卖家会收到邮件、短信提醒,也可通过QQ或订单中的电话联系对方。
交易周期
1、源码默认交易周期:自动发货商品为1天,手动发货商品为3天,买家有1次额外延长3天交易周期的权利;
2、若上述交易周期双方依然无法完成交易,任意一方可发起追加周期(1~60天)的请求,对方同意即可延长。
退款说明
1、描述:源码描述(含标题)与实际源码不一致的(例:描述PHP实际为ASP、描述的功能实际缺少、版本不符等);
2、演示:有演示站时,与实际源码小于95%一致的(但描述中有"不保证完全一样、有变化的可能性"类似显著声明的除外);
3、发货:手动发货源码,在卖家未发货前,已申请退款的;
4、安装:免费提供安装服务的源码但卖家不履行的;
5、收费:额外收取其他费用的(但描述中有显著声明或双方交易前有商定的除外);
6、其他:如质量方面的硬性常规问题等。
注:经核实符合上述任一,均支持退款,但卖家予以积极解决问题则除外。
注意事项
1、猎伞会对双方交易的过程及交易商品的快照进行永久存档,以确保交易的真实、有效、安全!
2、猎伞无法对如“永久包更新”、“永久技术支持”等类似交易之后的商家承诺做担保,请买家自行鉴别;
3、在源码同时有网站演示与图片演示,且站演与图演不一致时,默认按图演作为纠纷评判依据(特别声明或有商定除外);
4、在没有"无任何正当退款依据"的前提下,商品写有"一旦售出,概不支持退款"等类似的声明,视为无效声明;
5、在未拍下前,双方在QQ上所商定的交易内容,亦可成为纠纷评判依据(商定与描述冲突时,商定为准);
6、因聊天记录可作为纠纷评判依据,故双方联系时,只与对方在猎伞上所留的QQ、手机号沟通,以防对方不承认自我承诺。
7、虽然交易产生纠纷的几率很小,但一定要保留如聊天记录、手机短信等这样的重要信息,以防产生纠纷时便于猎伞介入快速处理。
猎伞声明
1、猎伞作为第三方中介平台,依据交易合同(商品描述、交易前商定的内容)来保障交易的安全及买卖双方的权益;
2、非平台线上交易的项目,出现任何后果均与猎伞无关;无论卖家以何理由要求线下交易的,请联系管理举报。
我的
足迹
投稿
反馈
客服
客服QQ:104****84 (点击直接对话)
客服电话:400****16(查看完整电话)
客服邮箱:service@liesan.com
管理仅处理交易投诉、举报、帐号、资金等平台使用问题;
商品问题请咨询各商品详情页面中显示的商家客服QQ。