制作便于维护管理的Antrix服务器

针对不少新人,于是有了这篇文章
从Antrix8xx的一个版本开始,Antrix的设计人员对数据库代码进行了修改,以使用户数据与游戏数据的分离成为现实。
我们为什么要将用户数据与游戏数据分开?原因很简单:便于维护。你可以想像在混合的数据库中想要备份或修改是如何地麻烦。分离这两者以后,当OBDB有新版本发布时我们就可以方便地在原数据库基础上进行更新,或者干脆将其作为一个新的数据库导入,而不必在乎用户数据会受到影响。
哪些表属于用户数据?从OBDB提供的一个用于备份用户数据表的批处理中(export_accounts.bat)我们可以知道,用户数据由下列几个数据表组成:
accounts
auctions
bids
characters
charters
corpses
guilds
guild_ranks
instances
ipbans
mailbox
playeritems
playerpets
playerpetspells
playersummonspells
questlog
playercooldownitems
playercooldownsecurity
social
tutorials
首先我们先看看WOW的服务器是怎样的架构:
登录服务器—游戏服务器A—副本服务器
     |–游戏服务器B—副本服务器
     |–游戏服务器C—副本服务器
     |–…………………………..
     |–游戏服务器N—副本服务器
登录服务器:当你启动WOW主程序,它便连接到了登录服务器。身份验证、排队等都在这个服务器中完成。
游戏服务器:就是我们通常所说的各区的服务器,如:六区的血顶、风暴之鳞。
副本服务器:为了减轻游戏服务器的负担,副本有专门的服务器,或许还不止一个。
当然,作为私人的服务器,由于用户不多,一台服务器甚至一台普通的个人电脑就可以了。虽然私人服务器可以独立完成多个服务器的任务,但是为了便于维护以及要提供多个游戏服务器来说,数据库的独立则是必要的。
以下是我推荐的数据库结构:
               |-游戏数据(OBDB2-130)
登录数据(ACCOUNTSDB)–|-用户数据(CHARACTERDB1)
              |-用户数据(CHARACTERDB2)
              |-…………………………….
              |-用户数据(CHARACTERDBn) 下面就详细介绍下设置的方法:(服务端程序不是重点,下面将不会详细介绍)
1.准备服务端程序,自己编译、用别人编译好的都可以。
2.导入数据库:
  首先,到svn://svn.obdb.gromnet.net/下载最新的官方数据库,我这里用的修订号是130。
  导入数据库,修改好OBDB2提供的dbimport.bat后,双击导入游戏数据。导入到OBDB2-130中。
  提取用户数据,用户数据OBDB2没有提供,你可以从你现有的数据库中导出或者干脆准备个空表,这里注意,不要把accounts这张表同用户数据一起导出,而是将它单独到处作为一个数据库。
最终做好的数据库结构如图所示:screen.width-461) window.open(‘http://bbs.99nets.com/attachment/Mon_0709/192_70278_2a19bdbfc58e9ee.gif’);” src=”http://bbs.99nets.com/attachment/Mon_0709/192_70278_2a19bdbfc58e9ee.gif” border=”0″ alt=”” /> 数据库:characterdb1(2) screen.width-461) window.open(‘http://bbs.99nets.com/attachment/Mon_0709/192_70278_acf0c911dd6fc38.gif’);” src=”http://bbs.99nets.com/attachment/Mon_0709/192_70278_acf0c911dd6fc38.gif” border=”0″ alt=”” />
3.配置服务端:
对于服务端我建议如下的文件组织形式:
—-–antrix
     |––antrix
     |–………….
     |––antrix
     |–logonserver
用这样的结构设置我们的服务器的优势很明显:节省空间、结构清晰、便于维护、添加新的realm(服务器)比较方便。
以下是logonserver和antrix这两个文件执行时必须的文件。
logonserver:logonserver.exe、logonserver.conf、libeay32.dll、libmySQL.dll
antrix:antrix.exe、antrix.conf、dbghelp.dll、libeay32.dll、libmySQL.dll、realms.conf、script_bin(脚本文件夹及脚本文件)、DBC文件、地图文件。
4.修改服务端配置文件:
服务端的配置文件一共有3个:logonserver.exe用的logonserver.conf,antrix.exe用的antrix.conf和realms.conf。
logonserver.conf
              Username = “root”
              Password = “111111”
              Name    = “accounts” //登录数据库的名字
              Port    = “3306”
              Type    = “1”>         MaxBuild = “6904”> //6904对应国服2.1.4版 //这个密码随便设 antrix.conf
//游戏数据数据库
//角色数据数据库         WorldServerPort = “8129”> //这里的8129是通讯端口,如果想要设置多个服务器的话,每个antrix.conf文件里的这个端口号必须不同,并且要与对应的realms.conf文件中的端口对应。             RemotePassword = “111111”> //这个密码与logonserver.conf文件的RemotePassword要一致。 //注释掉两句            Port = “8093”
            Name = “Default Logon”
            RealmCount = “1”>         Address = “alzzl.xxx.net:8129” //这里填上你自己的域名和端口,端口要与antrix.conf中设置的端口号对应。
        Icon = “PVP”
        Colour = “1”
        Population = “1.0”
        TimeZone = “1”>   4.启动服务端程序:启动logonserver.exe,然后分别执行realms1下的antrix.exe和realms2下的antrix.exe。(如果你设置多个服务器的话)

]]>

原创文章,作者:键盘游走者,如若转载,请注明出处:http://www.708034.com/2007/12/%e5%88%b6%e4%bd%9c%e4%be%bf%e4%ba%8e%e7%bb%b4%e6%8a%a4%e7%ae%a1%e7%90%86%e7%9a%84antrix%e6%9c%8d%e5%8a%a1%e5%99%a8/

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注