从零学习游戏服务器开发(二) 最后一战概况

这份代码我也是无意中来自一个朋友,据他说也是来源于互联网,服务器端代码原来是linux版本的,但被厉害的大神修改成可以在Windows上运行。(如果不小心侵犯了您的版权,请联系我删除)。好在,这份代码中使用的大多数方法和接口都是可以跨Windows和linux两个平台的,所以linux开发下的朋友请不要感到不适,我们学习这份代码更多的不是纠结细节而是学习思路和源码。

游戏主solution文件用Visual Studio打开后如下图所示:

这里总共有10个工程项目,模块比较多。我们应该从何处入手呢?我们先看下源码目录:

我们进入Server目录,发现如下一个文件:

我们打开看一下内容:

cd Bin\x64\Release
start.bat

这个代码进入Bin\x64\Release目录,执行另外一个start.bat,我们进入这个目录去看下这个文件内容:

taskkill /f /t /im redis-server.exe 
taskkill /f /t /im CSBattleMgr.exe 
taskkill /f /t /im SSBattleMgr.exe 
taskkill /f /t /im GSConsole.exe 
taskkill /f /t /im BalanceServer.exe
taskkill /f /t /im LoginServer.exe
taskkill /f /t /im GSKernel.exe
taskkill /f /t /im RobotConsole.exe
taskkill /f /t /im LogServer.exe


ping -n 1 127.0>nul
start /min "redis-server" "redis-server.exe" redis.conf

ping -n 1 127.0>nul
start /min "redis-Logicserver" "redis-server.exe" redis-logic.conf

ping -n 1 127.0>nul
echo "start CSBattleMgr.exe"
start /min "CSBattleMgr" "CSBattleMgr.exe"

ping -n 1 127.0>nul
echo "start SSBattleMgr.exe"
start /min "SSBattleMgr" "SSBattleMgr.exe"

ping -n 1 127.0>nul
echo "start GSKernel.exe"
start /min "GSKernel" "GSKernel.exe"

ping -n 1 127.0>nul
echo "start BalanceServer.exe"
start /min "BalanceServer" "BalanceServer.exe"

ping -n 1 127.0>nul
echo "start LoginServer.exe"
start /min "LoginServer" "LoginServer.exe"

ping -n 1 127.0>nul
echo "start LogServer.exe"
start /min "LogServer" "LogServer.exe"

通过这个脚本,我们得到了这个服务器项目的一些信息,这个服务器由以下一些服务组成:

redis-server(启动两个)

CSBattleMgr

SSBattleMgr

GSKernel

BalanceServer

LoginServer

LogServer

这些服务器具体是做啥的,我现在也不知道,后面我们会教大家如何阅读。

另外在Bin/x64/Release/dbsql目录我们发下一些sql文件:

 

我们打开建表的createdb.sql:

drop database if exists fball_gamedb;
drop database if exists fball_logdb;

drop database if exists fball_accountdb;
create database fball_accountdb character set utf8;

drop database if exists fball_chargedb;
create database fball_chargedb character set utf8;

drop database if exists fball_robedb;
create database fball_robedb character set utf8; 

drop database if exists fball_gamedb_1;
create database fball_gamedb_1 character set utf8;

drop database if exists fball_gamedb_2;
create database fball_gamedb_2 character set utf8;

drop database if exists fball_gamedb_3;
create database fball_gamedb_3 character set utf8; 

drop database if exists  fball_logdb_1;
create database fball_logdb_1 character set utf8;

drop database if exists  fball_logdb_2;
create database fball_logdb_2 character set utf8;

drop database if exists  fball_logdb_3;
create database fball_logdb_3 character set utf8;

也就是说,这套服务需要使用mysql,我们安装一个mysql,并执行这个Rebuild.bat把这些库创建一下,Rebuild.bat内容如下:

@echo off  
:begin
@echo ----------1, create all game database------------ 
mysql -uroot -p123321<createdb.sql
mysql -uroot -p123321<grantuser.sql 

mysql -uroot -p123321<fball_accountdb.sql
mysql -uroot -p123321<fball_chargedb.sql
mysql -uroot -p123321<fball_robedb.sql

mysql -uroot -p123321 fball_accountdb < fball_accountdb.sql
mysql -uroot -p123321 fball_chargedb < fball_chargedb.sql
mysql -uroot -p123321 fball_robedb < fball_robedb.sql

mysql -uroot -p123321 fball_gamedb_1 < fball_gamedb.sql
mysql -uroot -p123321 fball_gamedb_2 < fball_gamedb.sql
mysql -uroot -p123321 fball_gamedb_3 < fball_gamedb.sql 

mysql -uroot -p123321 fball_logdb_1 < fball_logdb.sql
mysql -uroot -p123321 fball_logdb_2 < fball_logdb.sql
mysql -uroot -p123321 fball_logdb_3 < fball_logdb.sql 

通过这个,我们发现这里mysql的root用户的密码123321。你在创建mysql时,需要建议将密码也设置成这个。

我们下载mysql community版本(免费的),下载地址:https://dev.mysql.com/downloads/mysql/,类型我们选Microsoft:

 

注意,这套服务也使用了redis,我们不用专门下载和编译redis windows版本,我们的程序目录下已经提供了windows版本的redis的服务程序和配置文件:

 

我们搞清楚基本服务器概况后,各个服务的作用以及服务之间的关系如何,我们下一篇文章继续分析。

 

 

欢迎关注公众号『easyserverdev』。如果有任何技术或者职业方面的问题需要我提供帮助,可通过这个公众号与我取得联系,此公众号不仅分享高性能服务器开发经验和故事,同时也免费为广大技术朋友提供技术答疑和职业解惑,您有任何问题都可以在微信公众号直接留言,我会尽快回复您。

 

相关推荐
花钱买来的 ,自己亲测可执行,~ 下载下来是个 txt文本,里面有 下载地址,跟密码! 这款游戏 类似王者荣耀! 客户端用 unity 4.6直接打开编译,生成exe,或者安卓APK(需要装JDK,SDK), 服务端按教程操作就可以了! 最后一战OL》是国内首款原创精品MOBA手游,是一款由前暴雪文案亲自操刀世界观,日韩专业团队打造美术场景,新加坡团队精心制作战斗音乐的旷世之作!' e9 H' Q* w: Z5 r 《最后一战OL》超快速的匹配对战、默契的团队协作给你带来意犹未尽的快感,在传统的MOBA游戏中融入了诸多创新玩法,吸附野怪技能、祭坛超级兵种、怒气超神爆发的同时多样性的英雄供你挑选!百余种装备搭配助您打造最强王者,超神不断!带上你的战友并肩协作,一起来体验《最后一战》这款引领潮流的精品手游吧!2 n" r$ Q' |+ \; w$ A' q! ^ 本资源是完整的,可以编译进游戏的。前端采用Unity3D,可以在 Unity3D 4.0 + 以上版本编译运行,后端服务器部分采用 C++开发,需要在 VS 2010 下完成编译。数据库采用 MySQL。 最后一战经过测试,可以进游戏,搭建很简单,只要几步简单的操作就能跑起来 1、客户端打开 用的u3d 4.6版本打开的,没有发现什么问题,可以直接编译 2、服务端 首先用vs2010打开server》Allserver.sln,点击编译,编译要花点时间,编译完成后,可能会出现几个红色的文字,不用管他,暂时没发现有影响。 然后打开Server\Bin\x64\Release\dbsql\Rebuild.bat,创建数据库,在这里要编辑下Rebuild.bat里面的内容,记事本打开,然后将-uroot -p123321,改成你自己的数据库名称和密码, root改成你的数据库名称,123321改成你自己的数据库密码。+ H7 s. z7 f/ g8 Q9 V+ G 数据库创建完成后,打开server》start.bat,打开的几个窗口也会有红字的文字,不用管,暂时没发现有影响。 注意点: 1、数据库安装-》数据库安装是个难活,我在自己电脑上按了N次,没成功,总是提示联不到数据库,可能跟系统有关系,回头再研究下 2、服务端编译,vs在编译后有红色的文字,之前以为是报错,一直改,没解决,后来不管他了,直接跑,居然过了。。。。 3、修改rebuild.bat,一定要修改成你自己的数据库名字和密码,不然创建不成功。 3、编译u3d客户端,就可以进游戏了。
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页