当前位置: 首页 > Linux

从零开始学习游戏服务器开发(二)上一战总览

时间:2023-04-06 06:35:08 Linux

本代码无意中来自朋友。据他说,也是来自网络。服务器端代码本来是linux版本的,后来被强大的高手修改成在windows上运行。(如不慎侵犯您的版权,请联系我删除)。好在这段代码中使用的大部分方法和接口都可以跨Windows和Linux平台,所以Linux下开发的朋友请不要觉得不适应。我们学习这段代码更多的不是纠结于细节而是学习思路和源码。游戏的主要解决方案文件是用VisualStudio打开的,如下图所示:一共10个工程项目,模块很多。我们应该从哪里开始?我们先看源码目录:我们进入Server目录,找到如下文件:我们打开看看内容:cdBinx64Releasestart.bat这段代码进入Binx64Release目录,执行另一个start.bat,我们进入这个目录来查看此文件的内容:taskkill/f/t/imredis-server.exetaskkill/f/t/imCSBattleMgr.exetaskkill/f/t/imSSBattleMgr.exetaskkill/f/t/imGSConsole.exetaskkill/f/t/imBalanceServer.exetaskkill/f/t/imLoginServer.exetaskkill/f/t/imGSKernel.exetaskkill/f/t/imRobotConsole.exetaskkill/f/t/imLogServer.exeping-n1127.0>nulstart/min"redis-server""redis-server.exe"redis.confping-n1127.0>nulstart/min"redis-Logicserver""redis-server.exe"redis-logic.confping-n1127.0>nulecho"启动CSBattleMgr.exe"启动/min"CSBattleMgr""CSBattleMgr.exe"ping-n1127.0>nulecho"启动SSBattleMgr.exe"启动/min"SSBattleMgr""SSBattleMgr.exe"ping-n1127.0>nulecho"启动GSKernel.exe"start/min"GSKernel""GSKernel.exe"ping-n1127.0>nulecho"startBalanceServer.exe"start/min"BalanceServer""BalanceServer.exe"ping-n1127.0>nulecho"startLoginServer.exe"start/min"LoginServer""LoginServer.exe"ping-n1127.0>nulecho"startLogServer.exe"start/min"LogServer""LogServer.exe”通过这个脚本,我们得到了这个服务器项目的一些信息,这个服务器由以下几个服务组成:redis-server(启动二)CSBattleMgrSSBattleMgrGSKernelBalanceServerLoginServerLogServer这些服务器是干什么的,现在不知道,以后看会教大家如何阅读另外在Bin/x64/Release/dbsql目录我们开发了下一些sql文件:我们打开构建表的createdb.sql:dropdatabaseifexistsfball_gamedb;dropdatabaseifexistsfball_logdb;dropdatabaseifexistsfball_accountdb;createdatabasefball_accountdbcharactersetutf8;如果存在fball_chargedb则删除数据库;创建数据库fball_chargedb字符集utf8;如果存在fball_robedb则删除数据库;创建数据库fball_robedb字符集utf8;如果存在fball_gamedb_1,则删除数据库;创建数据库fball_gamedb_1字符集utf8;如果存在,则删除数据库fball_gamedb_2;创建数据库fball_gamedb_2字符集utf8;如果存在fball_gamedb_3,则删除数据库;创建数据库fball_gamedb_3字符集utf8;dropdatabaseifexistsfball_logdb_1;createdatabasefball_logdb_1charactersetutf8;dropdatabaseifexistsfball_logdb_2;createdatabasefball_logdb_2charactersetutf8;dropdatabaseifexistsfball_logdb_3;createdatabasefball_logdb_3charactersetutf8;也就是说,这套服务需要使用mysql,我们安装了一个mysql,并执行此Rebuild.bat以创建这些库。Rebuild.bat内容如下:@echooff:begin@echo--------1,创建所有游戏数据库-----------mysql-uroot-p123321