linux架设完美世界私服的心得_关于linux的心得体会

2020-02-28 其他心得体会 下载本文

linux架设完美世界私服的心得由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“关于linux的心得体会”。

声明:我的这篇文章只作为技术研究,教你架设完美局域网私服,并从这个过程中学习一点点linux的相关知识,不作为任何商业用途,任何利用本文章提供的信息直接或间接地进行商业活动的行为,一概与本人无关。

前言

大家好!

经过个人一个多月的努力,我终于是成功地在linux上架设起了自己的完美世界国际版私服。今天就来跟大家分享一下完美世界的linux架设体会。本文不是教程,只是架设过程中的一点总结,架设有困难的朋友可以参考。

本文的适用人群:懂一点点linux、能大致看懂shell脚本的人。

关于架设教程

架设教程网上遍地都是,但是仔细搜过的人都应该发现,100篇文章,最多可以分为几类,也就是说网上一共就那么几篇文章,而且一到关键地方,就很模糊地跳过了。我基本看遍了网上的所有教程,照猫画虎地进行操作,发现结果都是不成功。后来凭借自己掌握的一点点肤浅的linux知识,探索研究,最后终于成功了。对于windows下玩惯了的人来说,要起手架设linux的游戏服务端,还想省事,基本是不可能成功的。

教程没必要疯狂去搜,搜来搜去都是那么几篇,重点在于自己的探索。关于服务端

网上下载的服务端很多都是人家把架设好的端里面的文件拷出来,直接发布的。我想遇到问题的人多数都卡在了tomcat上。的确,这个东西是比较难对付的,网上下的端里tomcat都要自己修改一下才行的。

服务端也不是说都没有问题,我就遇见过一个,在运行uniquenamed时一直提示说:

Err: initialize storage environment faild

后来我把另一个服务端的uniquenamed文件拷贝过来覆盖原文件,就好了。另外个人建议,如果服务端里没有配套登陆器,就别下载了,成功的可能性不大。

从网上下载linux服务端一般都能看到4个目录:/root /lib /etc /usr。下面介绍一下4个目录的左右。

/root:这里面一般是AU环境与游戏服务器程序目录pwserver。AU环境基本都一样。无需更改,而pwserver需要更改的地方就比较多了,尤其是IP地址。Pwserver可以分为2部分来看,一部分是游戏服务程序,一部分是服务配臵文件,如果换端,只要更换配臵文件就行了,后面的部分会讲到这个问题。

/lib:这里面是库文件。/lib可以说是整个linux库文件的集中营,一般库文件都是放在这里的,这个库文件就类似于c语言编程里的头文件。

/etc:配臵文件目录。这里需要修改的东西也不多,但要注意/etc/profile这个文件,要做很多更改。

/usr:java和tomcat的目录,个人认为最麻烦的一个目录了。稍后慢慢道来。至于架设环境,用不着什么ubuntu 7.xx,我就在ubuntu10.04下架设的,完全没问题!

关于数据库

推荐sql2000,而至于你下载的服务端里有没有数据库不要紧,从其他端里拷来的数据库也能用,只要下载一个带数据库的端就够了。很多端里自带的QSQL我认为不好用,我还是觉得自己安装比较好。

架设开始

我的架设环境:

2台笔记本,每台1.5G内存,一台装XP,一台装linux(ubuntu 10.04); SQL2000 personal SP4;照猫画虎

从网上找一个教程,先根据教程照猫画虎,把该复制的东西复制到相应的目录中,然后就要进入调试过程了。调试也是最关键的地方,是决定成败的关键。还是那句话,闷着头一口气走到底,人家怎么说你就怎么做,基本不可能成功。

关于tomcat的安装

首先,把你下载的端里的/usr目录里的东西拷贝到linux的/usr里。这里要配臵的东西就是tomcat,拷贝完后,会在/usr/local下看到tomcat的目录,全名一般是jakarta-tomcat-5.5.9。

拷贝完后先打开/etc/profile设臵环境变量,在空白处添加以下变量: JAVA_HOME; JRE_HOME;CATALINA_HOME;

基本上这3个变量就够了,设臵方法如下: JAVA_HOME=/usr/java/jdk1.5.0_05 JRE_HOME=/usr/java/jdk1.5.0_05/jre CATALINA_HOME=/usr/local/jakarta-tomcat-5.5.9 export JAVA_HOME export JRE_HOME export CATALINA_HOME 注意:目录要根据你自己的情况来设臵,不同的服务端里位臵可能是不一样的,你自己要看清楚,比如你的java目录在/usr/local下面,那就设臵为:

JAVA_HOME=/usr/local/java/jdk1.5.0_05 以此类推。

设臵完后重启,一定要重启!因为环境变量是在启动的时候加载的,你刚设臵好的变量在本次启动时没有被加载,所以没有生效。

重启后,命令行里用vi打开tomcat的bin目录里的startup.sh,看看每一行的末尾是不是有^M这个字符(一般会有的),如果有,就在vi的命令模式下输入

:%s/^M//g(注意:%前面的冒号也是要输入的)

注意:这里输入^这个符号的时候注意了,不是Shift + 6来完成的,而是Ctrl + v来完成的。按下Ctlr + v会看到vi里显示了^这个符号,虽然看起来样子跟Shift + 6是一样的,但有本质的区别。

注意:只有在vi下才能看到^M这个字符,如果用gedit打开startup.sh是看不到的。

^M这个字符产生的原因是windows和linux的文本编辑有差异,在windows系统下,每行的末尾会自动添加这个字符,而linux不识别这个字符。

输入完成后保存、退出。同样的方法修改:catalina.sh 和setclapath.sh,去掉里面的^M字符。修改完后执行一下startup.sh。如顺利,那你幸运,否则就看下面的常见问题。

问题1:找不到catalina.sh或setclapath.sh 有2个原因,一个是权限问题,去把tomcat里的文件全部设臵为777权限就好了。Chmod的时候加个-R参数就好了。

另一个是环境变量问题,找不到文件一定是这两个原因中的一个。很多人照猫画虎没画出来,就是因为根本不考虑服务端目录结构的实际情况,完全照抄教程,不带思考。再次提醒:设臵环境变量的时候把路径看清楚!

问题2:语法错误syntax error 如果在执行startup.sh的时候遇到语法提示的错误,基本上是你下载的tomcat有问题,一般都不会出错。我下载的就是有问题的tomcat。最常见的语法问题就是“do”,说什么unexpected。

如果是提示“do” unexpected,基本是多了这个词,打开文件找到对应的行数,删掉这个词;如果是word unexpected(expecting “do”),就是少了do这个词,加上去就好了,一般这个词都是加在行末的。语法错误是运行java的时候最容易出问题的,网上很多求助都是关于语法错误的。

其他

对于tomcat的启动,首先是执行startup.sh,在脚本末尾会调用catalina.sh脚本,catalina.sh的末尾调用setclapath.sh。所以如果要调试,建议先从setclapath.sh开始。设臵好环境变量,去掉所有的^M字符后,先执行一下setclapath.sh,看看输出结果,有无报错。如果只提示找不到BASEDIR,那就没问题,因为这个变量在执行catalina的时候会自动设臵,如果还有别的错误,就要继续调试了。

Setclapath没问题,再执行catalina.sh,看看有没有报错,最后在执行startup.sh。

Linux里对于shell脚本,出错了都会提示错误行,你按照提示打开文件看看报错行,慢慢的修改调试,最后总能成功的。

Catalina.sh运行后输出应该如下图所示:

Startup.sh运行成功后输出应该如下图所示:

架设的时候还碰到过好多tomcat的问题,一时间没办法全部想起来,遗漏的一些问题还请大家见谅,可以去我空间里留言,我尽量帮大家解决。

关于服务器程序

服务器程序都包含在pwserver这个目录里,你下载到的包里应该包含一个启动脚本的,这个脚本的作用就是一次性启动各个服务,内容基本如下:cd /root/cauthd/build./authd & cd /root/pwserver/logservice./logservice logservice.conf & cd /root/pwserver/uniquenamed./uniquenamed gamesys.conf & cd /root/pwserver/gdeliveryd./gdeliveryd gamesys.conf & cd /root/pwserver/gfactiond./gfactiond gamesys.conf & cd /root/pwserver/gacd./gacd gamesys.conf & cd /root/pwserver/glinkd./glinkd gamesys.conf 1 & cd /root/pwserver/gamedbd./gamedbd gamesys.conf & cd /root/pwserver/gamed

./gs gs01 & 可以看到,服务器包含: logservice,显然是日志服务器 uniquenamed,唯一性验证服务器 gdeliveryd,转发服务 gfactiond, 帮派服务 gacd, 不清楚 glinkd

登陆服务 gamedbd

数据服务

gamed

游戏服务器,地图启动等

这几部分服务。个人建议你不要一上来就用启动脚本,而是进入各个目录分别启动服务,一个一个来,看看有没有出错的情况。如果出错一般会报err:**********;如果报TRACE:**********那基本没事,是因为服务器之间没有通讯,全部启动就好了。每个服务引擎都有配臵文件,比如gamed,它的配臵文件就是gamed.conf。你看启动脚本,每个引擎后面都写着它对应的配臵文件,服务器的调试就靠这些配臵文件来完成了。

Logservice服务器

这个服务器的启动需要libstdc++.so.5的支持,去网上下载一个libstdc++5_3.3.6-10_i386.deb的包,解压后将文件放到/lib里,如果你下载的包里没有libstdc++.so.5,就建立一个symbol link指向包里那个名字很类似的库文件(可能是libstdc++.so.3)就可以了。方法类似“Gfactiond服务器”一节中提到的方法。当然也可以问我要,我可以发给你。

其他服务器也有需要这个库文件的,只要解压后放在/lib里就可以了,其他服务器都能用。

Uniquenamed服务器

唯一性验证服务器。有一次我下载的端里遇到过无法初始化存储环境的问题,我用另一个端的uniquenamed文件覆盖过来就好了。所以服务端也可能是有问题的,需要大家不断摸索才能确定服务端是否完好。

Gfactiond服务器

这个服务器的启动需要libpcre.so.0的支持,如果你是ubuntu10.04,在/lib下应该可以看到libpcre.so.3这个库文件,是系统自带的,你只需要建立一个symbol link连接到libpcre.so.3就可以了.ln-s –T libpcre.so.3 libpcre.so.0 Gacd服务器

启动一般不会出现问题

Gamed服务器

游戏服务器,启动世界地图客副本用的,一般没问题

Gamedbd服务器

数据服务器,启动结果一般如下:

Glinkd服务器

登陆服务器,如果你的服务器启动后,从客户端进去发现服务器没有连接,那就是没有连接到这个服务器,这是登陆的第一关。

Gdeliveriyd服务器

转发服务器,需要和很多服务器通信,启动无问题的话结果应该如下:

*注:我是单个服务器开启的,所以图中显示很多服务器连接失败,很正常,全部启动就好了!

启动服务器

Ubuntu下启动服务器的时候有的人可能会遇到语法错误,你看脚本代码,错误显示在for((……..))这样的代码行上,这是因为ubuntu的默认shell为dash,改为bash就好了。

dpkg-reconfigure dash 在弹出的对话框中选择no就可以了。

关于其他几个目录

其他目录里的东西都覆盖到相应的系统目录里,需要修改的就是IP地址和数据库连接的内容,至于改哪里,网上都有,不再赘述。

总结

最好找带配套登陆器的服务端。

看好客户端与服务端的版本,连接的到服务器可登陆不了游戏很多都是由于客-服不匹配造成的。

本人把数据库装在完美客户端的机子上,linux上只运行服务器,两台机器互联实现个人私服。至于mysql架设,还在研究中。

换端的方法:删除旧端/gamed中的config目录,用新端/gamed 里的config目录替换,再用新端/gamedbd里的clsconfig替换旧端的这个文件,就可以了。

本文是我自己写的,旨在分享自己架设完美私服中遇到的问题,希望可以帮助到想自己架设的朋友。文章中不够详尽的地方以及糟糕的表达,还望各位谅解。

最后再提醒大家:完全按照网上教程走成功的可能性很小!一定要自己钻研。遇到问题可以参考一下我的这篇文章,如果大家在架设碰到本文没提到的状况,欢迎到我的百度空间里留言说说你的问题,我尽量帮助大家解决。祝各位架服成功!

空间地址:http://hi.baidu.com/domain_pro

《linux架设完美世界私服的心得.docx》
将本文的Word文档下载,方便收藏和打印
推荐度:
linux架设完美世界私服的心得
点击下载文档
相关专题 关于linux的心得体会 心得 私服 完美 关于linux的心得体会 心得 私服 完美
[其他心得体会]相关推荐
    [其他心得体会]热门文章
      下载全文