20051114架设魔兽世界单机版未修复BUG申精

 日期:2005-11-14 12时


魔兽世界1.71 单机版
近来无聊~~搞个个单机版,这里来跟大家分享下经验
WowEmu单机版即离线魔兽游戏,而不是提供私服的服务端
当然你要做服务器也可以不过只能承载100左右的并发,WowEmu的系列版本的设计原则是离线魔兽游戏,因而不支持多CPU和多线程。

下载地址:http://www.sf00.com/Soft/ShowSoftDown.asp?UrlID=4&SoftID=422
单机版架设方法:

不需要修改任何文件,执行LOADER.EXE ,等3分钟,程序自动启动就OK了。

运行DButil.exe文件,单击“外挂数据模式”,在点击编辑账号,输入账号,密码,权限等级GM为6,普通玩家可以不填写,单击“创建/更新”,完成账号建立了!测试GM账号密码:test
注册地址:http://127.0.0.1:8080

复制登陆器目录下的魔兽世界登陆器.exe,CWOW。EXE文件到你的魔兽世界的客户端,执行魔兽世界登陆器.exe
按照说明选择好游戏目录,点登陆,然后在空白框填写:名称:17773wow ip:127.0.0.1 ,点添加,OK,点连接,就可以进入自己的魔兽世界了!!

网络版本架设方法:
基本上和上面差不多,多2个步骤,修改wowemu.key,server_name=你的游戏名字 ws_host=你的对外IP。

把登陆器内文件分发给你的朋友,登陆器内的IP,名填写你刚才架设的WOWEMU.KEY的内容,他们就可以进入你架设的魔兽了!

网络版本账号注册方法有2种,1是通过网页地址是http://你的IP:8080/ 2是和单机版本一样由服务器管理员来注册然后告诉他们账号密码了!


需要注意的是:系统存档是30分钟保存一次,建议玩家如果要关闭服务器端,使用GM命令进入游戏输入命令.save,保存数据,屏幕显示world saved. 表示保存数据完整,如果不保存容易造成30分钟内的数据回挡!

1.71版单机版NPC,对话等文件汉化并没有完全,所以,有点英文也是正常的了,登陆器支持1.71版以上客户端,而且并不影响你玩官方游戏的!!!登陆器不需要PING值测试,因为PING值功能并不准确
死亡后骑马的问题,用 .dismount 解决
备用资源下载地址
魔兽世界1.5完整客户端口(官方)ftp://download.wowchina.com/wow/ ... ller-downloader.exe
升级补丁

1.52升级到1.61补丁下载 http://211.92.55.52/wowdown/WoW- ... .6.1-zhCN-patch.exe

1.61升级到1.62补丁下载http://211.92.55.52/wowdown/WoW- ... .6.2-zhCN-patch.exe

1.62升级到1.71补丁下载http://211.92.55.52/wowdown/WoW- ... .7.1-zhCN-patch.exe

1.80升级补丁下载http://211.92.55.52/wowdown/WoW-1.8.0-zhCN-patch1.exe

1.81升级补丁ftp://cnc.download.the9.com/wow/ ... .8.1-zhCN-patch.exe
1.71版通用登陆器http://www.sf00.com/Soft/ShowSoftDown.asp?UrlID=4&SoftID=418
技术指导文章(编辑中)
新手架设单机和局域网服务器的教程
(1)服务器:先去本论坛的[服务器下载区]下载最新的JAVAWOW服务器或者WAD服务器,如果您使用的是以前的服务器版本,强烈建议你重新下载。因为技术是一个发展的过程,越新的服务器功能越强大,BUG也越少。
(2)客户端:建议购买9C发售的中文客户端,至于为什么,不说也知道的。如果你英文实在很好,好到每个物品每个NPC你都能翻译的话,那就可以不听我的劝告了。官方网站上有客户端下的。嫌下得慢的话可以去买,很便宜的。
(3)两个都安装好,不一定要在同一目录。
(4)修改客户端目录下的 realmlist.wtf (用记事本打开)文件中的 IP地址为自己的IP,例如 单机的就改成 set realmlist 127.0.0.1 要进局域网的 就改成 set realmlist xxx.xxx.xxx.xxx 其中的xxx.xxx.xxx.xxx是你的局域网IP。
(5)好了,现在可以启动服务器了。启动后会出现一个DOS窗口,稍等,......

(6)打开http://你的IP:8080 注册账号。单机的话是http://127.0.0.1:8080,也可以用服务器文件夹下的Account Creator.exe 创建账号和GM账号。

魔兽世界,GM命令大全. usr hp 〈hp〉 〈max hp〉 : 改变HP选择的用户唯一.
.usr mana 〈mana〉 〈max mana〉 : 改变选择的用户mana .
.usr gold 〈num〉 : 改变选择的用户金钱.
.usr lvl 〈num〉 : 改变选择的用户的标准.
.usr speed 〈num max 30〉 : 改变选择的用户的speed.
.usr wspeed 〈num max 30〉 : 改变选择的用户的wspeed.
.usr scale 〈num .02-4〉 : 改变选择的用户的 scale.
.usr mount 〈id 1-64〉 : 改变选择的用户的登入.
.usr exp 〈exp〉 : 改变选择的用户的EXP.
.usr aura 〈aura id〉 : 改变选择的用户的aura.
.usr spell 〈spell id〉 :增加一个咒语 .
.usr skin 〈skin id〉 : 改变选择的用户的Skin.
.usr talentxp 〈num〉 : 增加天分点.

.gm pass 〈oldpass〉 〈newpass〉 : 改变您真正的通行证为帐户lvl .
.gm off : 取消显示〈GM〉用户
.gm on : 增加显示〈GM〉用户
.gm kick 〈name〉 : 踢命名的用户.
.gm save : 保存.
.gm announce 〈message〉 : 寄发一则消息到世界.

.move where : 移动您给的座标.
.move there 〈name〉 : 移动到命名的用户.
.move here 〈name〉 : 移动命名的用户到您着.
.move fast 〈x〉 〈y〉 〈z〉 :向您座标移动.
.move world 〈x〉 〈y〉 〈z〉 〈m〉 :向您座标移动和地图.
.move town 〈town〉 : 移动您键入的镇.
.move prog : 移动您向程序员小岛.
.move isle :移动您向管理员小岛.

.npc info :显示信息在选择的npc .
.npc mobs 〈modelid〉 〈npcflags〉 〈faction〉 〈level〉 〈name〉 : 产生NPC在你的位置.
.npc taxi : 增加一辆出租汽车.
.npc spell 〈spellid〉 〈price〉 :增加一个咒语来教练员NPC .
.npc rmvspell 〈spellid〉 :从教练员取消咒语NPC .
.npc item 〈itemid〉 〈amount〉 :增加一个项目来教练员NPC .
.npc rmvitem 〈itemid〉 :从教练员去除项目NPC .
.npc itemmove 〈srcslot〉 〈dstslot〉 : 搬入项目贩卖者NPC .
.npc delete :删除NPC.
.npc level 〈level〉 : 改变选择的NPC 的标准.
.npc skin 〈skinid〉 : 改变选择的NPC 皮肤.
.npc faction 〈faction〉 :改变选择的NPC 的派别.
.npc name 〈name〉 :更改选择的NPC 的名字.
.npc flag 〈flag〉 : 改变选择的NPC 旗子.
.npc animfreq 〈frequency〉 : 改变选择的NPC 频率.
.npc random 〈num 0-1〉 :集合任意开关选择的NPC .
.npc addmove :增加一个小站或设置NPC.
.npc run 〈num 0-1〉 : 设置奔跑开关选择的NPC .
.npc state 〈num 0-2〉 :设置如果选择的NPC NPC 意志自动攻击.
.npc scale 〈num〉 :选择的NPC集合scale.
.npc hpmin 〈num〉 : 设置选择的NPC最小HP .
.npc hpmax 〈num〉 : 设置选择的NPC最大HP .

.admin ban 〈name〉 :禁令命名的用户从服务器
.admin lvl 〈name〉 〈lvl account〉 :改变命名的用户lvl 帐户.
.admin addspirit : 增加一种Spirit来世界.
.admin die :使用户死
.admin revive :使用户复活
.admin update 〈old〉 〈new〉 : 更新Opcodes

.addgo : 在你的坐标添加游戏对象
.add : 添加项目到你的背包中.
.addnpc : 添加NPC到游戏.
.del : 删除目标NPC
.setlevel : 设置个人或NPC的等级
.setmodel : 给NPC或个人设置模型数量.
.learn : 学习魔法的数目
.save : 保存文件.
.rehash : 改写目标.
.flag1 : 设置有毛病的标记.
.ppon : 打开pp系统.
.ppoff :关闭pp系统.
.turn : 转动NPC面朝你.
.come : NPC来到你的位置.
.go : 去世界坐标.
.gotrigger: 进入世界范围的位置,参数: trigger_number
.kill : 杀死选择的NPC或个人.
.killallnpc : 杀死所有的NPC的形象.
.resurrect : 复活选择的个人.
.setsize : 设置NPC的大小.
.setspeed : 设置NPC或个人的速度
.setflags : 设置NPC或O.G的面具. 参数: 〈ftype〉 〈flags〉
.addspawn : 添加大量的点到你的位置. 参数 : [〈npc entry〉] [〈npocs number〉]
.setnpcspawn : 添加条目和数目作成大量NPC到大量的点
.setnpcgo : 设置条目由于大量游戏目标到大量点
.setspawndist : 设置小和大距离到大量
.setspawntime : 设置小和大的时间到大量.
.setxp : 设置经验到个人.
.paralyse : 不动和动到个人或NPC.
.setaura : 设置预兆数目
.exploration : 打开你地图的位置.
.dismount : 卸下你.
.listsp :列出你的魔法.
.listsk :列出你的技能.
.delsp : 忘记魔法
.delsk : 忘记技能.
.info : 附近NPC的信息.
.online : 显示在线玩家数目
.goname : 移动到输入名字的个人或NPC.
.goguid : 移动到行会.
.targetgo : 尝试移动到最近的玩家(定位最近的object)
.targetlink : 尝试到连接目标OF选择目标
.move :传送目标.
.retcl : 重装TCL
.rescp : 重装 SCP.
.clearqflags : 清楚寻找标记
.bytes : for debug
.pingmm : 制造点在你的地图
.adddyn : 测试到竞技
各种代码数据库资料[分享](求这方面高手合作)
scripts/items.scp (物品资料与代码)
scripts/creatures.scp (npc资料与代码)
saves/players.save (玩家资料)
scripts/areatriggers.scp (传诵换场景的资料)
scripts/emu.conf (模拟器连接资料,在这里修改IP,要让别的电脑也进来玩就改成你的IP)
saves/world.save (刷NPC的资料)
scripts/quests.scp (任务的资料)
scripts/classes.scp (应该是属于初始的天赋)
scripts/spellcost.scp (技能代码)
scripts/pages.scp (npc说话定义)
scripts/gameobjects.scp (游戏中物体名称,模型号定义)
scripts/creatures.scp (npc定义)
scripts/defines.scp ( 应该是所有代码编号的定义。如在spellcost.scp中写[spell 10] price=120也就是说,学习SPELL_EFFECT_HEAL(在defines.scp中的208行)需要120铜币。)
--------------------------------------------------------------------------
emu文件

[system]
server_name=Local Server ——>服务器名称
server_rules=PvP
http_host=127.0.0.1 ——>HTTP注册页面(需先搭建IIS服务器)
http_port=8080
rs_host=127.0.0.1——>填你IP
rs_port=3724
ws_host=127.0.0.1 ——>填你的IP就对啦
ws_port=8085
world_sleep_ms=500 ——>照字面来看是白天的时间
network_sleep_ms=100 ——>那么这个就是晚上的时间啦
connection_timeout=300 ——>传说卡号和这个有关 改小就对啦
loglevel=1
save_text_ppoints=yes ——>传说修改经验倍数要改成yes
spawns_dupes_distance=64.0
max_players=100——>最大玩家数
这行贴不上来——>不知道干吗的 应该不能少就是了

[game]
linger=20 ——>刷怪间隔 秒
npc_corpse_delay=60 ——>怪物尸体存在时间 妙
autosave_time_minutes=30——>自动保存间隔 秒
health_growing_rate=1——>回血率 越大越块
mana_growing_rate=10——>回魔率
energy_growing_rate=10——>回能量
delete_not_used_accounts_days=0 ——>删除多少天未登录的帐号

[bot]
rs_host=192.168.0.1-------------->这里填本地IP
rs_port=3724
account=WAD2
password=TEST

照以上改法,传说内外网都能连上。
--------------------------------------------------------------------------
DB2 Script文件夹中各scp文件含义——quests.scp篇

定义如下:

[quest 编号] 任务编号
name=Sharptalon's Claw//任务名
desc=//任务提示
levels=25 30//任务限制等级
zone=39//任务区域
quest_flags=08//任务标记类型
src_item=16305//任务完成所需物品编号
reward_xp=2450//任务奖励经验
reward_choice=6076 1//任务奖励物品选择:编号,数量
reward_choice=3070 1//同上
reward_choice=60 1//同上
deliver=182 1//交付物品:编号,数量
reward_gold=25//任务奖励金钱:铜币
kill=6 10//任务需要杀目标:编号,数量

——pages.scp篇

定义如下:

[page 编号] 话语编号
next_page 下一个话语的编号
text 话语内容

——spellcost.scp篇

定义技能学习需求,含义如下:

[spell 编号] //技能编号
reqspell=72 //学习所需技能
price=1100 //学习所需金钱,铜币

npc训练师那里的限制吧。把所有的reqspell去掉,把price都改成1……

——items.scp篇

对游戏装备的定义,含义如下:
[item 编号]
skill=0//熟练度
stackable=1//可堆叠数量
name=Worn Shortsword//名称
class=2//类型编号,对应defines.scp中定义
subclass=7//类别编号,对应defines.scp中定义
model=1542//模型编号
quality=1//品质
buyprice=35//买入价格
sellprice=7//卖出价格
inventorytype=21//存储类型
classes=07FFF//使用职业限制
races=01FF//使用种族限制
level=2//物品等级
reqlevel=1//需求人物等级
damage=1 3 0//伤害
delay=1900//延迟
language=1//语言
material=1//表面贴图
sheath=3//属性值,这里指大武器,左手装备
durability=20//耐久度

——gameobjects.scp篇

这个文件是对游戏中出现的怪物的定义,其含义如下:
[gameobj 编号]
name=Old Lion Statue//怪物名
type=2//怪物类型
model=6//所用模型
sound0=43//第一种声音
sound1=73//第二种声音

汉化的话,应该是在这个文件吧

——defines.scp篇

Script文件夹中的定义,都由defines.scp文件开始。这里定义了几乎所有东西的编号。首先我们来看看这个文件的内容。

按顺序是:
races节:定义种族编号。
classes节:定义职业编号。
powers节:定义能量类型编号。
classes节:(注意和前面的区分)定义装备类型编号。
subclasses节:定义装备类别编号。
itemtypes节:定义物品编号。
(ps:前面三个地方很容易搞混,不知道写的时候是怎么想的*_*)
sheath types节:定义武器属性编号,如单手,双手
slots节:定义饰品编号
creature types节:npc类型编号
(接下来的节没有名称,汗!我们以数字n来代替)
1节:世界语言定义编号
2节:技能(魔法)效果编号定义
3节:技能(魔法)动作模型编号定义
4节:人物状态编号定义
5节:游戏物品(城市中)编号定义
6节:表情编号定义
7节:人物动作动画编号定义
8节:物品动画编号定义
9节:(不是很明白)推测是砍人动作动画的编号定义
10节:似乎是射箭动作动画的编号定义
11节:锁类型编号
12节:技能训练师的编号定义

这个文件中定义了游戏世界中几乎所有东西的编号,在下面的文件中出现的编号,都可以在这里找到。要注意的是,编号采用了2种方式。
首先是在每一节下面都是从1开始编号的。对应的调用应该是在scp文件中对应变量,写出这个编号。如spell,在spellcost.scp文件中,写[spell 1]就表示这个魔法的效果对应2节下的编号1,同时对应3节下的编号1。
第二种是几节都拥有顺序的编号,7至10节的动画编号定义就是这样。在第7节中,是写出了0x0一直到0x86,8节中之写出了0x87,后面应该是使用得偏移量写的,如8节中写1就表示0x88。以此类推。

——classes.scp篇

classes.scp包含对于种族的初始化定义。以暗夜精灵为例,其含义如下:
startmap=1 // Kalimdor 出生地图编号
startzone=14 // Teldrassil 出生地点编号
startpos=10311.3 832.463 1326.41 1.0 出生地点位置
startstats=17 25 19 20 20 // Str, Agi, Stm, Int, Spr 初始化属性值
bodymale=55 推测是男性身体高度值
bodyfemale=56 推测是女性身体高度值
skill=98 300 300 // Language: Common 指种族语言
spell=668 // Language: Common 指spell编号
skill=113 300 300 // Language: Darnassian 指种族语言
spell=671 // Language: Darnassian 指spell编号
spell=019CB // Attack 指spell编号
spell=81 // Dodge 指spell编号
skill=162 1 300 // Unarmed
spell=203 // Unarmed 指spell编号
spell=20580 // Shadowmeld 指spell编号
spell=20582 // Quickness 指spell编号
spell=20583 // Nature Resistance 指spell编号
spell=20585 // Wisp Spirit 指spell编号
// Range Attacks 远程攻击
spell=75 // Auto Shot 指spell编号
spell=2764 // Throw 指spell编号
skill=45 1 300 // Bows
spell=264 // Bows 指spell编号
skill=46 1 300 // Guns
spell=266 // Guns 指spell编号
skill=176 1 300 // Thrown
spell=2567 // Thrown 指spell编号

上面的定义中,spell是指数据库中技能魔法的编号,而skill是指的熟练度。但是我不明白skill中3个数值的表示是什么意思。达人指教!

——areatriggers.scp篇

areatriggers.scp文件包含世界跳转的位置。
其含义如下:
[areatrigger 编号]
note=注释
pos=所属地图 x坐标 y坐标 z坐标
topos=目标地图 目标x坐标 目标y坐标 目标z坐标
totrigger=目标转换点

[areatrigger 编号]定义转换点的编号,在totrigger中使用。
note,注释
pos,转换点所在位置
topos,目标转换点所在位置
totrigger,转换到某个转换点

一般更新都是这里的东西了 看看吧 也许有你想要的答案
--------------------------------------------------------------------------
如果用户被卡主,作为GM怎么办?
就是说,客户端中断了,再连接就说此用户已经在线了,不能登陆,作为GM怎么解决?
我以为刷新后就可以了,结果等了半个小时也不行,怎么办呢?

connection_timeout=300的值设置小一点,单位是秒,一般1分半到两分钟就行了!

产生新NPC的方法

先知道相应NPC模板代码 比如99999
用GM账号跑到要放导师的地方:
.addspawn 99999 在GM站立的地方安放一个NPC的刷新点。
.setspawndist 0 0 该刷新点刷新的怪物自主移动范围为0-0
.setspawntime 1 1 该刷新点刷新怪物的时间间隔为 1-1秒。

出现小人 既刷新点
等几秒钟 出现啦

清除刷新点的GM命令

游戏里选定你要删除的小人,输入.del

改经验:
save_text_ppoints=yes
delete_not_used_accounts_days=0
cript目录下的startup.tcl文件
set xp [expr {5*$victim_level 5}]这句
前面的5是倍数,后面的5是直接得到的经验,改哪个都可以
if {$lvldiff <= -5} { return 0 }
-5是怪少与你5级就没经验,你可以该多点,这样就不会打一只怪升了很多级再打没经验了

关于HP,MP及存盘不能正常设置:
1,打开DB2.0安装文件夹
2,打开scripts子文件夹
3,打开emu CONT文件,按照“办法”修改。
大家可能只是修改了主文件夹下的emu CONT,所以造成无法存盘现象。

如何保存

CTRL C之后 过几秒显示saveing的提示后会自动关闭 请注意
或者GM号进游戏打.save

如何联机 或者说如何做服务器让人玩

琢磨一下emu文件 上面有详细解释

我想把卡号的移动到我身边 该用什么命令呢?

.goname 人物名 - 你飞到该人物身旁
.namego 人物名 - 把该人物拉到你身旁

我想玩生产系的。请问怎么样改资源的刷新速度

举个例子来说吧:
输入
.addspawn
.setspawngo 1731 // 加一个 copper vein 铜矿
.setspawntime 100 200 // 100-200 秒 重新生成, 你改小就可以刷的快了
.setspawndist 100 200 // 每次重刷的距离在100-200尺, 这可以避免矿一直出现在同一地方

server_name=Local Server ——>服务器名称
http_host=127.0.0.1 ——>HTTP注册页面(需先搭建IIS服务器)
delete_not_used_accounts_days=0 ——>删除多少天未登录的帐号

WoWEmu 4735 经验修改心得体会修改于WoWEmu_0_4735_1_2


只是提供给大家参考 学习!

namespace eval WoWEmu {
proc CalcXP { killer victim } {
set victim_creature_type [GetCreatureType $victim]
set killer_level [GetLevel $killer]
set victim_level [GetLevel $victim]
if {$victim_creature_type ==8} { return 0 }
if {$killer_level >= 60} { return 0 }×××××××等级上限限制 注1
set lvldiff [expr {$victim_level-$killer_level}]
if {$lvldiff <= -5} { return 0 }××××××××××等级差限制 注2
set xp [expr {5*$victim_level 5}]××××××××总所得经验倍率 注3
if {$lvldiff < 0} { set xp [expr {$xp-($xp/10*(-$lvldiff))}] }
if {$lvldiff > 0} { set xp [expr {$xp ($xp/10*$lvldiff)}] }
if {[GetEntry $victim] == 6491} { return -1000 }
return $xp
}
proc ExplorationXP { player location } {××××××探索地图所得经验倍率
return [expr {[GetLevel $player] * 10} ]
}
proc CalcReputation { killer victim } {
AddReputation $killer $victim -100 ×××声望
}
proc DamageReduction { player mob armor } {
set level [GetLevel $mob] ××××攻击与伤害
set denominator [expr {($level *85.0) 400.0 $armor}]
set damage_reduction [expr { $armor /$denominator}]
if {$damage_reduction <0.0} { set damage_reduction 0.0 }
if {$damage_reduction >1.0} { set damage_reduction 1.0 }
return $damage_reduction
}
proc OnPlayerDeath { player killer } {
}
proc OnPlayerResurrect { player } {
}
}


注1:新版本我原以为又是把这个等级限制弄到某个地方去了,经过仔细分析我才发现原来已经整合进经验代码里了~此处if {$killer_level >= 60} { return 0 }表示如果$killer等级大于或者等于60级则所得经验为0,说白了就是等级到了60级以后就不会有经验了,也就是最高等级上限为60级(默认)
注2:if {$lvldiff <= -5} { return 0 }乍一看似乎就是经验中得某一段普通代码而已~仔细分析,原来就是他控制着我们在游戏里得经验差,这句话得意思就是 如果攻击者与被攻击者之间等级相差有5级或者以上的话,就没有经验,这就是为什么我们现在使用23级的号杀几级的怪没有经验的原因之一,不过我个人认为,这个设置太过死板,应用价值不是说没有,不过始终觉得不如从前好,不知道大家是如何想的。
注3:set xp [expr {5*$victim_level 5}]这个就是调整总体经验的语句了,大家其实只要调整前面一个5的数值就可以了,后面的都可以不管了,不过这个调整力度不是那么明显,不知道是否是我没找对地方,我调整成70左右,进服务器差不多才勉强可以,大家视自己情况调整吧。
官方下客服端超慢啊........
不错不错...技术文章....

不过我没试过,不知怎么样 我现在在用代理玩公服

给个精华支持一下~~~
楼主...我看五明啊!
我昨天就已经建完了,,现在我的机子里有 魔兽世界单机版 RO单机版 传奇全系列私服 传世私服 MU私服 泡泡堂单机 泡泡堂私服 。。。。(简直就是网游垃圾箱了)
可惜只有我一个人玩。。。无聊哦。。。。。。
我有视频教程,,可惜上传权限问题,不可以上传给你们。。。
其实弄起来满简单的~~就是BUG修复方面郁闷
我一早就有拉!!不过不爽啊!!
单机版比起服务器版一般要多BUG。。。因为单机版只是用了个服务器的模拟器代替了服务器端和数据库。。。所以单机版就只是用来玩玩,10个人左右还可以支持,再多就出问题了。。。要做就做私服。。。就是有BUG还可以容易点修复(只要你够高手)。。。建私服很简单。。但如果给你管理就烦人了 。。。以前我帮家里附近的网吧管理私服,烦死人了。。要不就帐号被盗,要不就装备不见了,要不就忽然回档了。。。而且还要注意网吧服务器的安全性。。。所以搞到过几天就要上网去看技术文章。。。还好,可以免费上网和有额外的补贴,还混得挺开心的。。。

我日.......这么多私服.....单机版....就是没有热血江湖的...
楼主有RO单机版??可以发下怎样做吗??谢谢先啦~或者加我Q39350706
ro的私服发展到现在出现过不少优秀的品牌,可是由于种种原因,很多都已经停止了开发(如rose等),剩下的私服当中很多实力不够(制作的人数等各方面因素),所以目前来说,世界上有3大ro私服品牌:aegis,athena,yare
何谓aegis?何谓athena?跟yare有什么关系?
aegis为另一个ro私服模拟器,目前模拟度是最高的,听说是从官方流出的版本, 要比较高的等级及配备还有较耗系统资源才跑的。
athena,为现今的yare前身,为日本朋友自行改良,因其优点远胜於最原始的yare,故原开发者已采用athena并以其为基础加以改良,成为现在的yare,最新版pvpgn为站上一团队名称,此高手如云的团队自行研究改良并收集各方提供修正建议,陆续放出新版程式,供大家使用,功绩良多,非常值得敬佩,以上为yare的小小演进史。
除了aegis,athena,yare pvpgn,还有其它"牌子"的私服模拟器,但大多已停止开发且其效率也不及这三大牌子.

所以要键RO私服,或单机版,先要确定你用的是什么模拟器。。。

我给个比较简单的(个人认为,其他模拟器也大同小异)yare架设单机版。。。。

一. PVPGN-Yare1.0安装

解压zip包后会有个PvPGN-Yare-v1.0,里面有所有服务器端的文件。
目录结构大致如下:
E: |
|_ PvPGN-Yare-v1.0
|
|__ config
|
|__ data

二. 设置
首先,把官方的data.grf和sdata.grf拷贝到PvPGN-Yare-v1.0这个目录下,即和3个可执行文件放在一起。
(把grf-file.txt这个文件删掉,没有还简单点。grf-file.txt文件里的内容是data.grf和sdata.grf这2个文件放的位置。如果你不删掉grf-file.txt,就要进去设置grf文件的路径。)
修改grf-file.txt这个文件内容,grf-file.txt文件里的内容是data.grf文件放的完整路径。


然后要设置char-server-config.txt和map-server-config.txt
1.char-server-config.txt的设置:
默认的内容是:
userid: server
passwd: 20000
server_name: PvPGN-Yare
login_ip: 127.0.0.1
login_port: 6900
char_ip: 127.0.0.1
char_port: 6121

* userid/passwd是服务器启动的帐号。可以在data目录下打开account.txt文件来修改服务器启动帐号。
* server_name是服务器名。比如叫Chaos,看自己的喜欢。
* login_ip/login_port是login-server所在的IP地址和端口。127.0.0.1是本地地址,就是单机模式,不上网也能玩RO。
* char_ip/char_port是char-server所在的IP地址和端口。

2.map-server-config.txt的设置:
默认的内容是:
userid: server
passwd: 20000
char_ip: 127.0.0.1
char_port: 6121
map_ip: 127.0.0.1
map_port: 5121
npc: config/npc_warp.txt
npc: config/npc_npcs.txt
npc: config/npc_shop.txt
npc: config/npc_monster.txt
npc: config/npc_kafra.txt
npc: config/npc_1stjob.txt
map: alb2trea.gat
map: alberta.gat
map: alberta_in.gat
map: alb_ship.gat
map: aldebaran.gat
map: aldeba_in.gat
map: alde_dun01.gat
map: alde_dun02.gat
map: alde_dun03.gat
map: alde_dun04.gat
……

* userid/passwd是服务器启动的帐号。可以在data目录下打开account.txt文件来修改服务器启动帐号。
* char_ip/char_port是char-server所在的IP地址和端口。
* map_ip/map_port是map-server所在的IP地址和端口。
* npc是map-server要读取的npc资料。就是告诉map server在地图上要有哪些npc,如卡普拉,怪物,道具店商人等等。
以上默认的已经按功能建成了几个txt文件,不过按你自己的喜欢还可以再增加txt,语法和上面一样。config是目录。
* map是服务器要读取的map资料。如果想添加新地图,可以在里面加。想知道新地图的英文名字,进官服到新地图打/where就知道了。
如果机器不够好可以删掉一些不去的地图。删地图的方法是在map:前面加“//”。
这样“//map: alberta.gat”就把商人城的地图给删了。

最后是客户端的设置
这部分设置是你和来你的服务器的玩家都要设的,否则不能玩的。
如果有以下目录结构:
C: |
|__ Gravity
|
|__ RO
|
|__ BGM
|
|__ skin

1.修改官方Ragexe.exe
我没有下载修改的工具,所以我用的是已经被别人修改完的。。

2.创建XML文件
需要在RO目录下建一个data目录。进入data目录,用记事本建一个clientinfx.xml
(是clientinfx.xml哦,不是clientinfx.xml.txt自己存盘的时候要注意)。
clientinfx.xml的内容是:

<?xml version="1.0" encoding="gb2312" ?>
<clientinfo>
<desc>Ragnarok Client Information - Chinese Version</desc>
<connection>
<display>My First Ro Server</display>
<desc>Local Server</desc>
<address>127.0.0.1</address>
<port>6900</port>
<version>20</version>
<langtype>3</langtype>
<registrationweb>http://--<;;;/registrationweb>
</connection>

</clientinfo>
把以上内容复制到空的clientinfx.xml文件里,存盘。

3.创建ro.bat
用这个文件来启动游戏。比如你改完官方的EXE后,另存为一个MyRagexe.exe。其内容是:
@start MyRagexe.exe 1rag1
在运行MyRagexe.exe的时候就会去读取data目录下clientinfx.xml文件的内容了。
根据clientinfx.xml文件的配置连接到自己,好友或别人的服务器上。

这样客户端的配置就完成了。
客户端配置的3个文件:ro.bat,MyRagexe.exe,clientinfx.xml必须发放给要登录你服务器的人。
clientinfx.xml也是放在data目录下。clientinfx.xml中的IP地址要和你的服务器地址保持同步更新。
三. 启动服务器
启动char-server.exe,login-server.exe,map-server.exe

四. 启动服务器会遇到的问题(也是我以前遇到的):
1.char-server启动失败,char-server状态窗口消失:
有可能account.txt设置不正确或者是account.txt中的系统登录帐号和char-server-config.txt中的userid/passwd不一致。
2.login-server启动失败,login-server状态窗口消失:
同上
3.login-server启动后无响应,即没有“parse_login : ……”的文字出现:
请检查char-server-config.txt中的login_ip是否设置正确
4.map-server启动失败,map-server状态窗口消失:
这个有很多情况。
主要的有IP设置不正确,accout.txt和map-server-config.txt的不一致,data.grf文件没有拷贝到Server的目录下,
map-server-config.txt读取了不存在的地图设置。
5.还有一些引起服务器当机的是,游戏中执行了非法操作。比如,攻击别人的宠物,或给服侍装备村正,等等。

由于是模拟器,功能当然没有正式的服务器要好。给自己和朋友们过过瘾还是不错的。希望大家能玩的开心。
以后会大致说明一下config目录下的一些配置文件的作用,以及脚本的编写。
对map-server-config.txt的补充:
map: pvp_c_room.gat // pvp_room.gat
map: guild_vs1.gat // job_wizard.gat
map: guild_vs2.gat // job_priest.gat
map: guild_vs3.gat // job_knight.gat
就是这几个地图出的错,因为现在的data.grf中没有这几个地图。
注释掉就可以了。
这样就可以了:
//map: pvp_c_room.gat // pvp_room.gat
//map: guild_vs1.gat // job_wizard.gat
//map: guild_vs2.gat // job_priest.gat
//map: guild_vs3.gat // job_knight.gat
以上是我建的单机版,连数据库都不用建,真简单。。。
楼上的帅哥~~你总该把下载地址也分享一下啊
我也是上baidu搜索到的,好像网站名叫 仙境传说非官方网站

我的机里有那么多私服的东西,而且是来自不同的网站,怎么可能记住地址呢。。。

上一篇:求够一台电脑能玩QQ堂的就行

下一篇:以前泡泡游戏里的一朋友照片.未经过任何处理!