TUS存储原理讲解(AC站现状的分析)--By AC(AC站原ADMIN)
TUS系统, 是一个免费的模拟官方服务器端软件, 存在着很多BUG,而且文件的储存方式也很不合理(没有利用数据库管理),下面给大家讲解一下它的存储原理:世界内所有的玩家信息和物品信息被储存在一个特定文件中,格式如下:
|
范例 |
解释 |
TITLE=TUS World
VERSION=0.48e
TIME=32896389
SAVECOUNT=3651 |
抬头 |
[WORLDITEM 03e4e]
SERIAL=040001ae6
ATTR=010
MORE1=040009514
MORE2=02710
P=1420,10,10 |
一个最简单的物品,就包括六行的描述.这中间有该物品的ID,属性,所有者和位置等等信息. 那么,如果在你家里, 十个药草放在一堆, 和十个药草放成十堆有什么区别? 后者能使世界文档再膨胀10倍! |
WORLDCHAR 0190]
CREATE=01f57a20
SERIAL=010313
NAME=AC
COLOR=083ea
TIMER=0
ACCOUNT=ac
P=1425,1557,30 DIR=6
OBODY=0190
OSKIN=083ea
FLAGS=0a0012000
HITPOINTS=150
STAMINA=11
MANA=12
FOOD=14
HOME=1496,1629,10
STR=150
INT=12
DEX=11
KARMA=1
Alchemy=1000
Anatomy=1000
AnimalLore=1000
ItemID=1000
ArmsLore=1000
Parrying=1000
Begging=1000
Blacksmithing=1000
Bowcraft=1000
Peacemaking=1000
Camping=1000
Carpentry=1000
Cartography=1000
Cooking=1000
DetectingHidden=1000
Enticement=1000
EvaluatingIntel=1000
Healing=1000
Fishing=1000
Forensics=1000
Herding=1000
Hiding=1000
Provocation=1000
Inion=1000
LockPicking=1000
Magery=1000
MagicResistance=1000
Tactics=1000
Snooping=1000
Musicianship=1000
Poisoning=1000
Archery=1000
SpiritSpeak=1000
Stealing=1000
Tailoring=1000
Taming=1000
TasteID=1000
Tinkering=1000
Tracking=1000
Veterinary=1000
Swordsmanship=1000
Macefighting=1000
Fencing=1000
Wrestling=1000
Lumberjacking=1000
Mining=1000
Meditation=1000
Stealth=1000
RemoveTrap=1000
Necromancy=1000 |
一个基本角色的记录信息. 大家可以看一下,每一个技能都被详细记录了, 所以即使是一个新人档,他的资料也是和老玩家所占用的文件空间一样大的. 如果一个帐号下有五个角色,那么世界文件就膨胀了5倍.....
依此类推,即使是一匹马, 它也能占到一个角色所用的一半行数, 而这样的马, 玩家有无数, 更有无聊的玩家利用BUG不断地复制,复制,复制... |
[WORLDITEM 047be]
SERIAL=04000d177
NAME=Dull Copper Nose Helm crafted by AC
COLOR=060a
ID=0140e
TYPE=10
ATTR=04008
MORE1=0660066
CONT=010313
QUALITY=200 |
盔甲类: 与上面那个物品不同,它不能叠加, 所以一个就是一个. 想象一下,如果某个玩家家里囤积了上百套盔甲,那么世界文件又该膨胀多少呢?..... |
[EOF] |
结束标志 |
好了, 看过这个例子之后, 大家再来猜一猜现在AC站的世界文件存档有多大? 答案是115MB!
这就是为什么AC站的速度这么慢的根本原因!
为什么会这么大? 很简单, 每个玩家可能有五六个帐号,每个帐号下有五个垃圾新人档,每个新人档下面还有若干无用的物品;以及房子里成千上万的财产(一点也不夸张, 我曾经看到过几千的药水, 几百个人头, 上千的珠宝等等), 就如同滚雪球一样, 世界文档越来越臃肿, 执行效率越来越低下, 所以, 速度越来越慢!可以解决吗? 当然能! 首先把没用的新人档删除, 把家里整理干净, 把能重叠的物品重叠放置(如钱, 矿, 药等等), 不能重叠的物品或垃圾则能卖的卖,不能卖的丢... 但是,这一切都要靠玩家的自觉, 自觉啊! 这个词看起来很简单, 可是真正要实现, 太难了. 满地用过的绷带( 其实可以用水一次性洗干净), 无用的垃圾(难道AC站的垃圾桶很少吗? 难道AC站的清洁工很悠闲吗?), 家里大量囤积的物品, NPC(比如马). 当然了, 装修所带来的负面效果更加明显, 一次大规模的装修至少可以让世界文件增加1MB, 这就是为什么AC站停止装修的原因了.这是AC站的现状之一, 而这个说明,不知道有多少人会看, 会理解. 特别是有些人(按:这里Lieu改了一点点), 甚至连如何发邮件都不知道, 你怎么可能指望他们能约束自己的行为呢? 在此我恳请各位玩家, 能够自觉地执行,并且带动其他身边的AC站玩家,用自己的双手去创造一个良好的游戏环境--虽然这样的声音很无力, 但我还是希望, 因为AC站的明天, 在你们自己手里啊! 难道你们真的希望,自己付出了这么多的精力时间金钱, 到头来却换到一个速度慢得无法玩的世界吗?当玩家们在叫嚷着速度慢的时候, 他们却没有想过, 造成AC站今天这个地步的是谁? 不正是你们自己吗?言尽于此, 各位玩家不知有什么感想. 哀莫过于心死, 当我对这个站的一切痛心疾首,却无力去改变的时候, 我能做些什么呢? Admin AC2000/05/14
-----------------------www.ChinaUO.com----------------------------------
Lieu:本文除了技术上的内容外,还有很多其他的东西值得我们思考。我不知道大家看了AC上面的话有何感想。我觉得UO的世界是我们每一个玩家自己的世界,我们参与,我们建设,我们破坏......看了很多对GM、ADMIN的抱怨,但我们普通玩家是不是应该自己也反省一下呢?一个好的UO世界,固然需要好的ADMIN,好的GM,但我想更重要的是还要有好的玩家。我相信,AC的问题,也是国内每一个UO SERVER的问题,AC的愿望,也是每一个UO管理者的愿望,甚至也是绝大多数UO玩家的愿望。 |
<<返回 |