最近项目需要搭建一套网狐荣耀棋牌做二开,网上搜索的搭建过程都不完整,无法顺利搭建,而网上还有人开出了5800的价格有偿搭建,觉得离奇,就研究了代码搭建成功,这里记录出来,赠送这5800块。
环境:
visual studio 2003
sql server 2005-2012
iis
数据库构建:
数据库脚本文件包含游戏大厅和网站,执行脚本中可能会需要修改一些参数来成功执行,如图,先查看大厅脚本:
通过记事本打开【一键安装.bat】脚本,内容如下图:
上图中第一处标出的mssqlserver是我本机上sql server数据库的实例名,也是安装sql server时选择默认实例的名称,脚本中需要把这个名字更改为实际使用的数据库实例名称,如果数据库安装选择默认实例,这里就不需要更改。而图中第二处标出的地方,需要把路径里的盘符修改为实际希望使用的盘符,由于我的主机里只有C盘,所以直接使用C盘。
然后开始执行,如图:
如图执行完成后,数据库里已经建立了相应的数据库和表,以及存储过程,按任意键后会继续执行生成游戏标识,如下图:
界面会卡在这里,等待十分钟关闭命令提示符即可。
至此,游戏大厅数据库构建完成。随后还需要以相同方式构建网站数据库。
服务器编译:
服务器包含两个部分,系统模块和游戏组件,系统模块即是服务器,也可以理解为大厅,游戏组件是子游戏的服务器组件,当有新游戏的时候,只需要把新游戏的组件加入到大厅里就行了。
先编译系统模块,打开如图所示目录:
如图中所标注需要选择编译配置Release_Unicode,点击菜单中的生成,生成解决方案,如图中所示,全部成功,没有失败。随后可以看到根目录下多出两个新生成的目录,【发布组件】和【运行】,【发布组件】可不关心,打开【运行】目录,里面是编译出来的可执行文件,包括聊天服务器,游戏服务器,登陆服务器,和协调服务器等。
除了可执行文件,还需要一个服务器配置文件来为服务器指定数据库信息,如图所示:
可以看到,里面的配置信息都有加密,所以手动难以配置,需要通过配置工具来生成,配置工具为Collocate.exe文件,打开后如图:
如上图标注所示,服务地址填写服务器主机的公网ip即可,而数据库地址填写数据库主机所在IP,sqlserver默认端口1433,数据库用户和密码以此填入,最后保存配置,会弹出保存框,命名为ServerParameter.ini,最后把ServerParameter.ini文件复制覆盖到服务器目录下即可。
至此,服务器系统模块已经就绪,接下来需要搭建后台与配置。
后台网站搭建:
找到后台网站的工程,打开如图:
如上图,打开web.config文件,找到上图标识的数据库配置,Data Source用来配置数据库地址,我的数据库在本机,直接如图所配置,User ID则配置数据库用户名,Password配置数据库密码,配置好以后,点击工程菜单中的生成->发布,会打开如图所示配置页:
选择图中标识的目标位置,点击发布按钮,成功会生成网站到配置的路径,将生成的目录拷贝到服务器主机中:
如上图admin目录中为刚刚生成的内容,然后打开iis,点击添加网站:
弹出如下窗口:
将物理路径选择刚刚的目录,ip地址选择默认就可以,如图后台我设置为81端口,因为前台网站设置为默认的80端口体验会更好一点。配置完成后点确定,即可在浏览器中打开后台网站了,网站地址为http://主机ip:81,如图所示:
至此后台就搭建成功了,用相同的方法再把前端网站和房卡管理网站搭建好。
子游戏的开启:
子游戏需要先编译游戏组件,此处以二人牛牛为例,打开游戏组件里的工程:
选择二人牛牛,打开工程,如下图所示:
点击生成,服务端会生成一个dll文件,dll文件的命名和路径可以在工程配置中查看:
如上图所示,文件名为OxExServer.dll,将这个文件复制到服务器目录下,如图所示:
OK,游戏组件完成,接下来后台配置,管理员登陆后台,荣耀的默认管理员账号为admin,密码为123456,进入后如图所示:
打开系统维护->机器管理->新增,配置数据库地址:
然后选择游戏管理->模块,同样点击新增:
会弹出下图页面:
如上图所示,模块标识是游戏id,可以在游戏工程中查看,数据库名如图中所示,数据库地址选择刚刚在模块管理中配置的选项,版本同样需要在工程中查看,服务器端名称填写刚刚生成游戏组件名称。
游戏id和版本号的查询需要在工程中查找,如下图打开工程:
炸到CMDOx.h文件,文件也有可能是其他命名,直接搜索KIND_ID也能找到,此处可以看到KIND_ID即游戏标识为102,版本号为(7,0,1),对应版本号就是6.7.0.1,便后台的填入内容:
点击保存,在切换到游戏标签:
同样点击新增:
配置如图,模块名称选择刚刚配置的模块,完成后保存,再切换到手游:
点击新增,配置手游:
此处的新配置内容在于模块名称和资源版本号,模块名称是手游的模块路径,如图是yule.oxex,资源版本号会影响热更新。而这里的yule.oxex从何说起? 先看客户端结构:
如图所示,oxex为二人牛牛的客户端子游戏,目录位于/game/yule/oxex,这边是yule.oxex的来源,这个子游戏目录需要压缩成zip文件放置到前端网站里,供热更新下载,以下讲解:
将客户端资源发布,如图所示:
会在客户端根目录下生成一个目录client_publish,可以看到,里面的lua文件已经加密成luac文件:
将发布的oxex目录压缩为zip文件:
右击oxex目录,点击压缩文件夹,如图,选择zip格式,压缩后,将zip文件放置到前端网站中,下图所示我放在了download目录下,按照客户端目录格式放在/game/yule/目录下:
随后打开后台网站,网站系统->站点配置->移动版大厅配置,进行更新目录配置:
如上图,在标注的输入框内填入刚刚的目录,【 http://前台网站ip/download】,这样往后热更新时都会在这个目录下搜索内容。
OK,配置妥当,接下来开启服务器。
如图,服务器开启顺序为协调服务器,聊天服务器,约战服务器,登陆服务器:
开启成功后,再开游戏服务器GameServer:
双击后,点击创建房间,会看到列表里有刚刚配置的二人牛牛:
选择二人牛牛,下一步,如图配置数据库地址后点击完成按钮:
点击启动服务后,提示启动成功,这时,二人牛牛的游戏服务器就开启成功了。
打开客户端进行测试,客户端里,需要更改服务器IP地址,分为服务器IP地址和网站IP地址,由于版本分裂,更改位置没有统一,基本上在这几个文件中:
OK,现在运行客户端,登陆后如图:
选择二人牛牛,顺利进入游戏:
打包成apk后,在手机上运行,会热更新这个游戏,基于前面的配置,是可以成功热更新和运行的。