Re: [wizs] 系統撰寫概要
看板mud_sanc (Sanctuary - 聖殿)作者laechan (小太保)時間17年前 (2009/02/03 15:29)推噓1(1推 0噓 0→)留言1則, 1人參與討論串3/6 (看更多)
用到 restore_object 與 save_object 時要注意幾件事...
一、資料量的大小
二、restore/save 的頻率
三、哪些資料可以不用儲存
四、保護機制
一切都可以用「玩家的指令 save」來說明。當系統重開時瞬間會
擁入許多玩家,這時 restore 的量以及頻率是很高的,以前曾發
生過有些 mud 才剛重開沒多久就又馬上 crash 的情況,這些mud
之後就有做登入的分流 or 間歇登入管控的措施。
(聖殿可以同一地點一分鐘內一百多個玩家登入洗畫面當然也是有
做必要措施啦...)
基本上玩家資料多在數 k 之譜,但這是沒加算 temp_data 的情況
,以前連 isk(即熟練度欄位) 也是沒算進去的,也就是說,我們
考慮到 temp_data 是不必然要儲存的資料,就把它宣告為「不可
儲存」,則玩家 save 時自然就不會存到 temp_data。
怎麼宣告呢?
static mapping temp_data=([]);
(放在 /std/ob/user.c)
簡單的說就是多宣告一個 static 就行了。這個語法是很重要的
,因為「不是所有的資料都有儲存的必要性」。
最後,什麼是保護機制呢?簡單的說就是備份,玩家有個指令叫
做 backup 基本上就是做這用途的,因為玩家所有的資料都存在
xxx.o 裡頭,如果這檔某天壞了又沒其它備份在的話,這玩家的
資料就救不回來哩。
所以重要的資料要勤作備份。
Laechan
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.225.28
推
02/03 16:56, , 1F
02/03 16:56, 1F
討論串 (同標題文章)
mud_sanc 近期熱門文章
PTT遊戲區 即時熱門文章
15
19