linux下游戏服务器的启动
来源:互联网 发布:04年总决赛科比数据 编辑:程序博客网 时间:2024/05/01 05:48
接上篇《linux下游戏服务器的搭建》。在启动我们的游戏服务器前,先要增加一些配置,用于各服务器进程的启动。我们的游戏服务器分为server,session,gateway,db,logger,center这几个服务器进程。这里需要配置一下ip,端口等连接信息。配置信息如下:
- session_cfg: copy
- [2001] = {name = "session_myTest", loginAddr = '10.19.173.180:20023', dbAddr = '127.0.0.1:3010', gatePort = 2310, worldPort= 2510, gameiD = 'drj', appKey = 'i6nZ7DuAa2HUFVsNYoqrMJOxBc1IwS0W', logFile = "session_900"},
- gateway_cfg: c
- [1] = {name = "gateway_myTest", connectAddr = '123.59.131.127', loginAddr = '10.19.173.180:20025',sessionAddr = '127.0.0.1:2310', worldPort= 2210, logFile = "gateway_300900"},
- dbx_cfg: cop
- [400800] = {name = "myTest", dbAddr = '127.0.0.1:3010', config = 21, logFile = "dbx_400800"},
- world_cfg: copy
- [1] = {name = "myTest", sessionAddr = '127.0.0.1:2510', dbAddr = '127.0.0.1:3010',loggerAddr='127.0.0.1:4010',
<database databaseid = '1' configid = '21'>
<baseinfor servername = '10.19.86.209' port = '3306' databasename = 'd4' databasenickname = 'd4'></baseinfor>
<popedom username = 'root' password = 'Tcp123456' charset = 'utf8'></popedom>
<asynqueue num = '4'></asynqueue>
<retry retrylevel = '30' retryinternal = '2' retrymaxnum = '3' retryqueuemaxsize = '128'></retry>
<throw throwlevel = '12' throwqueuemaxsize = '16384'></throw>
</database>
这个是用来连接数据库的。刚开始servername = '127.0.0.1“用的是本地ip,但发现游戏客户端登录时,请求数据库没返回,最后发现是因为mysql中没设置localhost的账户权限,导致用本地ip会连接不上,后面改成内网ip就可以登录了。这里关于localhost的权限设置可以看上一篇文章,mysql server的安装配置最好在服务器搭建时就弄好,不然后面会有点麻烦。启动服务器MakeFile文件配置如下:
_gate180:
./GameGateway_d -c 13 &
_session180:
./SessionServer_d -c 2001 &
_dbx80:
./DBAServer_d -c 400800 &
_world180:
./WorldFrame_d -c 13 &
_listen:
./ListenServer_d -c 1 &
_center:
./CenterServer_d -c 1 &
这里的参数2001对应session_cfg中的id,需要注意的是world跟gateway的参数跟id的关系是 id = 参数/10,这个在服务器代码中有特殊处理。另外需要配置数据库表server_status,设置worldID=1,startTime=2015-09-11 14:00:00(开服时间),realID=1。一个realId对应多个worldID,这跟我们的世界服务器架构有关,一个世界服务器进程包含了三个world,这个其实有点没那么实用。这下可以启动服务器了,启动后,客户端登录游戏发现session收不到消息,先查看下是否能telnet上。
1)telnet 123.59.131.127
telnet: connect to address123.59.131.127: No route to host
连不上,那就检查下防火墙是否开启
2)查看防火墙状态
chkconfig iptables --list
iptables 0:off 1:off 2:off 3:off 4:off 5:off 6:off
如果有on的说明是开启的,需要关闭。
3)清楚防火墙所有规则(关闭防火墙)
iptables -F
在telnet发现成功了,然后客户端再次登录,数据库还是没返回。最后发现是mysql没启动,去启动它。
# service mysqld stop
# service mysqld start
做完这些,发现客户端可以正常进入游戏了,这里就算完成了整个启动过程。
最后记录一下一些需要用到的命令:
mysql -h10.19.86.209 -uroot -p123456 登录制定ip的mysql数据库
启动listen server时没有权限 用 chmod 777 *
另外客户端loginScene.lua需要修改登录配置,找到searchServer函数,将以下代码
self.serverInfo.servers["901"] = {real=900,status=1} --worldID realID status为1
self.suggestSever = 901 --worldID
self.serverInfo.ips = {}
self.serverInfo.ips["900"]="192.168.0.144" --realID
改为
self.serverInfo.servers["1"] = {real=1,status=1}
self.suggestSever = 1
self.serverInfo.ips = {}
self.serverInfo.ips["1"]="123.59.131.127"
- linux下游戏服务器的启动
- Linux 下启动 mysql 服务器的方法
- 启动LINUX下的TFTP服务器
- 启动LINUX下的TFTP服务器
- 3. 启动LINUX下的TFTP服务器
- windows下启动linux服务器的图形界面
- Linux平台下的启动oracle服务器
- linux下搭建游戏服务器
- linux下启动telnet服务器
- linux下启动tftp服务器
- Linux下启动oracle服务器
- linux下启动telnet服务器
- linux下搭建游戏服务器运行环境的艰辛
- 打开远程linux的启动jetty服务器下的项目
- linux下apache服务器的安装、启动、查看
- linux下apache服务器的安装、启动、查看
- linux 下MySQL服务器的启动与停止
- 各种Linux版本下vsFTPd服务器的启动和关闭
- oracle 数据库的常用查询对象
- 用户界面框架jQuery EasyUI示例大全之DataGrid(4/4)
- Android的AsyncTask类的解读
- iOS经典讲解之Apple Pay开发
- lvs:Linux virtual server八种算法
- linux下游戏服务器的启动
- 细分着色器
- Ios生成二维码
- ZOJ1060
- Linux下常用命令整理
- $( function() {} );与( function($){} )(jQuery);的异同
- 自定义Tabbar
- myeclipse优化
- 如何编写函数才能提高代码质量