当前位置:67pp服务端下载站文章中心游戏技术传奇世界技术 → 淡抹夕阳[0827]传世服务器端架设

淡抹夕阳[0827]传世服务器端架设

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2007-6-26 15:15:15

一.服务器架设:
    1- 部署:
        a) 数据库部署
            首先, 安装SQL Server2000 或者更高版本。并确保SQL server的服务是运行状态
            。而且要打开SQL Server2000的网络服务端口。用企业管理器创建一个名为MirWorldDB的数据库
            然后用查询分析器的文件菜单中的打开菜单项来打开模拟器压缩包中DB文件中的4个SQL文件,
            依次执行,将会在MirWorldDB数据库下生成4张表。分别是TBL_ACCOUNT/
            TBL_CHARACTER_INFO/ TBL_CHARACTER_ITEM/ TBL_CHARACTER_MAGIC。
            最后, 数据库就部署完毕.
        b) 模拟服务器的各个模块的部署
            首先, 确定部署策略,loginserver/selectcharserver/gameserver 三个服务器
             需要接受客户端的连接,所以,不能架设在内网。其他的模块可以放在内网。(如果有的话)
            然后, 将每个模块的exe拷贝到相应的机器,可以放在一个文件夹(配置文件可以
            共享),也可以放在不同的文件夹(独立的配置文件)。
            最后双击start.cmd 启动各个模块。

    2- 配置:
        a)整体部署配置(config.ini)
            观察一下config.ini里面的内容,会发现开头有两句配置:
            scaddr = 127.0.0.1
            scport = 6000
            这两句的意思是告诉模块,服务器中心的地址和端口,用来注册自己到服务器中
            心。这里要注意的是,无论是多个模块放在一起共享配置文件,还是分开,独立的配置文件,
            开头的这两行配置一定要有。否则服务器会工作不正常。
            接下来,会看到几个段(就是以[...]开头的一组配置)。这些段的段名是固定的,
            不能随便修改,否则就会不正常了。每个段有6个相同的配置项。我们以登陆服务器段为例
            [登陆服务器]
            addr =222.65.7.114
            port = 7000
            type = loginserver
            id = 1
            group = 1
            name = 登陆服务器名
            其中addr 描述的是模块服务器的地址,一定要设置成部署位置的ip地址,如果要
            公开,就写成外网地址,如果不要公开的就写成内网地址。port描述的是登陆服务器的端口。
            type描述了该配置的模块的类型,登陆服务器的类型一定要设置成loginserver。id 描述的是
            该服务器在自己组内的id,如果组内的该类型的服务器大于一台,id就不能重复。group描述的
            是组的代号,一般设置成1,有多组服务器存在时,设置成组的代号,该代号只能为数字。name
            描述了该服务器的名字,这个对于gameserver和selectcharserver很重要,设置不对会找不到
            服务器的。

         b)dbServer的配置
            config.ini里面的数据库服务器的段里面多了几个配置选项。
            server = (local)
            database = MirWorldDB
            account = sa
            password = dragon
            server描述的是SQL Server所在的位置,如果在本机就是(local),如果在其他机器,
            一般是该机器的机器名。 database描述的是表所在的数据库,如果是用原版的sql脚本导入
            的,这里一般是 MirWorldDB。 account 是描述这个数据库的登陆帐号,可以不用sa这个账号,
            但是必须有查询写入的权限。password 描述的是数据库登陆账号的密码。            
        
         c)GameServer的配置
           GameServer的配置较多,除了config.ini里面的基本配置外,还需要一个叫做data
           的文件夹来存放各种数据。其中有个叫作server.txt里面就是gameserver的基本游戏逻辑配置.
           一般内容如下:
           [humandata]
           warrior = .\data\humandata\战士.csv
           magician = .\data\humandata\法师.csv
           taoshi = .\data\humandata\道士.csv
           这里描述的是角色每个等级的数据的相对于exe的路径。这三个文件必须为.csv文件,你可以
           用excel来编辑这三个文件,修改各个等级的属性数据。

           [firstlogin]
           script = firstlogin
           startlevel = 22
           startgold = 0
           startitem = 金创药(小量)*2/赤明天帝/金鹏宝甲(男)*2
           这里描述的是,角色第一次登陆的一些配置,startlevel描述的是起始的等级,startgold描
           述的是开始时候背包内的系统给予的金钱的数量。startitem描述的是开始的时候系统给予的物
           品,不同的物品用/来分隔,每个物品名字必须与baseitem.txt里描述的物品名字一致。而且可
           以在名字后面用 *和数字来描述物品的数量。

           [setting]
           downitemupdatetime = 300
           这里描述的是掉在地上的物品更新的时间,以秒为单位。
           [var]
           itemupdatetime = 300
           这里描述的是掉在地上的物品更新的时间,以秒为单位。目前使用上面一个,这个未使用。
           maxgold = 8000000
           这里描述的是角色最大可以持有的金钱数量。
           [name]
           goldname = 金币
           这里描述的是金币的名字,必须和MonItems里面的金币名字一致。否则怪物不掉钱
           malename = 男
           femalename = 女
           这里描述的是性别的名字。这个跟@makeitem 命令造衣服有关,
           主要是没有指定男女的衣服名字后面加上一个(男)之类的标记来区别相同的名字。
         d)loginserver配置
            禁止注册帐号:在登陆服务器配置里面写进disableregister = 1,打开禁止注册,数字写0,关闭禁止注册
         e)服务器最大连接数
            最大连接数,在每个服务器的配置里面写进maxconnection=数字

二.游戏数据

1.data文件夹的布局

DATA下有5个子文件夹,分别为
humandata 存放人物升级的属性信息
maps 存放地图信息
MonItems 存放怪物掉宝文件
script 存放npc的脚本文件
stringlist 存放脚本中使用的一些字符串的表.
还有几个文本文件,分别为

server.txt 内容是游戏世界服务器的一些配置
baseitem.txt 物品数据文件
basemagic.txt 技能数据文件
basemonster.txt 怪物数据文件
mongen.txt 怪物刷新文件
npcgen.txt npc刷新文件
startpoint.txt 出生点的设置
notice.txt 协议对话框的内容

以上是data中的主要数据的分布,其他文件一般是非必须的文件。


2. 物品数据

物品数据文件 baseitem.txt 详细解释
在物品数据文件baseitem.txt里面,每种物品数据文件按照下面这种格式来存储。
name/stdmode/shape/image/specialpower/ac1/ac2/mac1/mac2/dc1/dc2/mc1/mc2/sc1/sc2/wei
ght/maxdura/price/needtype/needlevel

示例:
粗布衣(男)/10/ 1/117/0/2/ 2/0/1/0/0/0/0/0/0/ 5/ 5/2000/0/1

其中,各个字段的含义是

name  表示物品名字,
stdmode 表示物品的种类,
shape  字面上是形状,其实表示物品的一些特性,根据stdmode不同而不同,
image 表示的是物品的外观,就是掉在地上的外观和放在背包里面的外观,对于武器,头盔
和衣服来说,还表示装备在身上的

[1] [2] [3]  下一页