分类
- 传奇服务端
- 传世服务端
- 奇迹服务端
- 魔兽服务端
- 千年服务端
- 传奇3服务端
- 天堂2服务端
- Ro服务端
- 劲舞团服务端
- 石器服务端
- 龙族服务端
- 劲乐团服务端
- 美丽世界服务端
- 泡泡堂服务端
- 英雄王座服务端
- 大话西游服务端
- 坦克宝贝服务端
- 墨香服务端
- 倚天I服务端
- 绝对女神服务端
- 梦幻西游服务端
- 欢乐潜水艇
- 新英雄门服务端
- 天使服务端
- UO服务端
- 精灵服务端
- 神迹服务端
- 新天上碑服务端
- 永恒OL服务端
- 乱Online
- A3服务端
- 骑士服务端
- 棋牌源码
- 时时彩服务端
- 神话服务端
- DAoc服务端
- 命运服务端
- 魔力宝贝服务端
- 热血江湖服务端
- 决战服务端
- 传说OL服务端
- 冒险岛服务端
- 科洛斯服务端
- 剑侠情缘服务端
- 红月服务端
- 魔域服务端
- 江湖OL服务端
- 梦幻森林服务端
- 天堂I服务端
- 日月传说服务端
- 时空之泪服务端
- 奇迹世界服务端
- 风云服务端
- 完美世界服务端
- 新魔界服务端
- 海盗王服务端
- 征服服务端
- RF服务端
- 真封神服务端
- 机战服务端
- 天龙八部服务端
- 惊天动地服务端
- 三国OL服务端
- 征途服务端
- 传奇外传服务端
- 飞飞服务端
- 网页游戏
- 破天一剑服务端
- 投名状服务端
- 仙境传说服务端
- 永恒之塔服务端
- 传奇归来服务端
- 诛仙服务端
- 科洛斯服务端
- 武林外传服务端
- 稀有游戏服务端
- 武林群侠传2服务端
- 蜀门服务端
- 神奇服务端
- 丝路传说
- 挑战服务端
- 功夫世界服务端
- 突袭OL服务端
- 傲世服务端
- 盛大富翁
- 蒸汽幻想服务端
- 刀Online服务端
- 希望OL服务端
- 猛将OL服务端
- 密传服务端
- 天地OL服务端
- 星钻物语服务端
- 露娜ol服务端
- 幻灵游侠服务端
- 神泣服务端
- 问道服务端
- 鬼魅服务端
- 新天骄服务端
- 吞食天地2服务端
- 国威OL服务端
- 天道服务端
- 战国英雄服务端
- 大话战国服务端
- 倚天Ⅱ服务端
- 武魂服务端
- 仙侣奇缘服务端
- 赤壁服务端
- 梦幻古龙服务端
- 梦幻龙族服务端
- 天下无双服务端
- 凤舞天骄服务端
- 星愿OL服务端
- 乌龙学院服务端
- 真·武侠无双服务端
- QQ西游服务端
- 弹弹堂服务端
- 疯狂坦克服务端
- 霸王大陆服务端
- 手机游戏服务端
- DNF服务端
立即下载征程手游服务端+安卓苹果双客户端+架设教程
软件大小: | 653 MB |
---|---|
软件语言: | 简体中文 |
软件类别: | 服务器端 - 手机游戏服务端 |
授权方式: | 共享版 |
应用平台: | Win2000/XP/2003/Vista/ |
更新时间: | 2017/11/3 6:07:57 |
开 发 商: | 暂无信息 |
联 系 人: | 暂无联系方式 |
分享收藏 | |
解压密码: | 本站默认解压密码:www.987654321sf.com |
推荐等级: | |
会员中心: | 【账号登录】 【账号注册】 开通VIP下载流程 |
查毒情况: |
[复制下载页面地址给QQ/MSN上的好友]软件介绍
编辑注:本款游戏非一键端,但包含所有架设工具。有文字架设教程,架设环境需要是linux环境。
需要一定经验才可以架设,内含苹果、安卓双客户端。
服务端客户端源码都有C++开发,需要修改字符集编码支持.
现在只支持中英文字符,输入也只支持中英文
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服务代码后续介绍
服务器架构图:
说明:
1.Client1,client2表示手机客户端先去连接sublistserver获取服务器列表,当玩家选择好服务器区后,会断开sublistserver的连接,再去连接对应服务器的网关
2.Ztpay.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工具的页面地址
HTTP SERVICE配置
全局服配置
1.首先安装apache, mod_wsgi, (这里没有安装文件, 可以使用yum等工具自行安装)
2.使用python模块的安装程序如easy_install, pip等安装如下python模块:
Web.py
3.分别进入到cdkey_service, giant_cdkey, kuafu_rank, tencent_level_gift, user_picture_gm, zhifubao_code, zt_yimin_gm文件夹, 运行sh install.sh
4.全部执行完后, 执行service httpd restart
5.执行 cp giant_pay.php /var/www/html
游戏区服配置
1.首先安装apache, mod_wsgi, (这里没有安装文件, 可以使用yum等工具自行安装)
2.使用python模块的安装程序如easy_install, pip等安装如下python模块:
Web.py
3.分别进入到user_picture文件夹, 运行sh install.sh
4.全部执行完后, 执行service httpd restart
架设步骤教程:
1、操作系统为Centos6.3_64位,需要安装的包:
lua-5.1.5
cmake-2.8.7
mysql-5.5.23
mysql++-3.1.0
boost_1_49_0
tar -xzvf lua-5.1.5.tar.gz
cd lua-5.1.5
然后执行make,
会提示让你输入make 系统,因为我的系统是linux的,
因此我输入make linux
2、编译安装boost
#tar -zxvf boost_1_49_0.tar.gz
#cd boost_1_49_0
#./bootstrap.sh
#./b2 install
3、MYSQL5.5安装详细步骤:
#tar zxvf cmake-2.8.7.tar.gz -C /usr/local/src/
#tar zxvf mysql-5.5.23.tar.gz -C /usr/local/src/
# cd /usr/local/src/cmake-2.8.7/
# ./configure
# gmake && make install
# cd ../mysql-5.5.23/
# mkdir -p /data/mysql
存放mysql的数据文件的
# useradd -u 27 -d /data/mysql/ -s /sbin/nologin mysql
# id mysql
uid=27(mysql) gid=27(mysql) groups=27(mysql)
# chown -R mysql:mysql /data/mysql/
# ls -ld /data/mysql/
drwxr-xr-x 2 mysql mysql 4096 07-11 03:56 /data/mysql/
# yum install -y ncurses-devel
# rm -f CMakeCache.txt (如果后来用yum安装的ncurses-devel
要执行这步操作,在进行下一步)
# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DDEFAULT_CHARSET=utf8 -DENABLED_LOCAL_INFILE=1 -DMYSQL_DATADIR=/data/mysql/ -DWITH_EXTRA_CHARSETS=all -DWITH_READLINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DMYSQL_TCP_PORT=3306 -DDEFAULT_COLLATION=utf8_general_ci
上面这条超长命令必须在mysql-5.5.11目录中执行!!!
-DCMAKE_INSTALL_PREFIX mysql的安装路径
-DDEFAULT_CHARSET 字符集
-DMYSQL_DATADIR 数据的保存路径
-DMYSQL_TCP_PORT 端口
# make&& make install
# cd /usr/local/mysql/
# ls
bin data include lib mysql-test scripts sql-bench
COPYING docs INSTALL-BINARY man README share support-files
# cd support-files/
# cp my-medium.cnf /etc/my.cnf
生成mysql的配置文件
# pwd
/usr/local/mysql
# cd scripts/
# ls
mysql_install_db
# vim /etc/my.conf
在[mysqld]后面加两行
skip-name-resolve
innodb_flush_log_at_trx_commit = 2
初始化数据库:
# ./mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/data/mysql/
Installing MySQL system tables...
OK
Filling help tables...
OK
# vim /etc/my.cnf
[mysqld]
datadir = /data/mysql 添加,指定数据的保存位置
# pwd
/usr/local/mysql/support-files
# cp mysql.server /etc/init.d/mysqld
复制mysql的启动脚本
# /etc/init.d/mysqld start
# pwd
/usr/local/mysql/bin
# ./mysql
mysql>
# vim /etc/profile
export PATH=/usr/local/mysql/bin:$PATH 添加
# . /etc/profile
启动mysql:
/etc/init.d/mysqld start
chkconfig --add mysqld
chkconfig mysqld on
# mysql
mysql>
9、mysql++安装
tar -zxvf mysql++-3.1.0.tar.gz
cd mysql++-3.1.0
./configure
make
make install
# pwd
/root/mysql++-3.1.0
#vim ssx/genv2.cpp 根据报错在这个文件中找到相应位置添加最下面那条命令
#include <iostream>
#include <fstream>
#include <typeinfo>
#include <string.h>
程序启动报错解决:
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/
mysql> select user,host,password from mysql.user;查看用户信息
+------+------------+-------------------------------------------+
| user | host | password |
+------+------------+-------------------------------------------+
| root | localhost | |
| root | 10-6-3-176 | |
| root | 127.0.0.1 | |
| root | % | |
+------+------------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql> set password for root@localhost=password('XXXXXXX');设置root密码
mysql> set password for root@'10-6-6-23'=password('XXXXXXXX');
mysql> grant all on *.* to root@"%" identified by 'XXXXXXXX';授权
mysql> select user,host,password from mysql.user;
+------+------------+-------------------------------------------+
| user | host | password |
+------+------------+-------------------------------------------+
| root | localhost | *C07583ABFCBBCC5D64C9469E28D4861951C5024A |
| root | 10-6-3-176 | *C07583ABFCBBCC5D64C9469E28D4861951C5024A |
| root | 127.0.0.1 | |
| root | % | *4F048907E92401E909B60D4C90426C4D3AEB499D |
+------+------------+-------------------------------------------+
4 rows in set (0.00 sec)
mysql> delete from mysql.user where user='';删除匿名用户
mysql> grant select on uctot.* to 小用户@'%' identified by "XXXXXXXX";授权
mysql> show grants for root@"%";查看用户有那些权限
mysql> grant select on *.* to chinatot@"%" identified by 'XXXXXXXXX';
mysql> flush privileges;
mysql> exit