作者kasdia (Leverage好好看!)
看板Minecraft
標題[討論] 伺服器view-distance與怪物生成上限調整
時間Sat Aug 3 15:25:06 2013
最近在研究伺服器如何在怪物數量跟系統效能之間去做調整
首先提一下計算公式....
公式
MobLimit = Constant * Activated Chunk / 256
數量上限 固定變數 載入的chunk數量
Constant為固定變數
生物分成四個類別會受這個規則影響
monster: 70
animal: 15
water-animal: 5
ambient: 15
而server.properties中的View-distance則是最直接影響到Activated Chunk數量的參數
這個數字最大到15,最小到3
它每個玩家所觸發的Activated Chunk工作半徑
是以當下所在的Chunk為中心,前後左右字各延伸這個距離
所以以原始設定值10來看
一個玩家所啓動的Chunk數量會是
21*21=441
代入上面的公式,會知道怪物的數量上限會是120
調整到9的話就會是
19*19=361
這個數字差不多打了八折
代入上面的公式,會知道怪物的數量上限會是98.7
調整到8的話就會是
17*17=289
代入上面的公式,會知道怪物的數量上限會是79
為了提升效能,降低了讀進來的Chunk數量,卻也影響到怪物數量上限
間接會造成怪物跟生物無法好好的分布在各個區域
於是部份區域出現顯著的生怪效率下降(因為quota被別的地方用掉了)
目前找到調整的方式是透過Craftbukkit內的bukkit.yml的參數來調整
在bukkit.yml中有一個參數是
spawn-limits:
monsters: 70
animals: 20
water-animals: 5
ambient: 15
在這裡透過改變各個生物的數量上限系數,來補償因為Activated Chunk數量過少所減少的生物數量上限
這個數字就隨人填了吧
不過因為調高生怪上限,會因為Activated Chunk的半徑變小,導致怪物變得密集
所以這個設定上限的變數可能要實際測試才能抓到適當的數值
目前是直接將少掉的部份補回去,可能要再視狀況斟酌這個數字的大小
補充一點就是
多人環境下,玩家身邊重疊到的Activated Chunk範圍是不會重複計算的
所以當玩家群聚再一起的時候,server整體的Activated Chunk的數量不是倍數成長
而會扣除交疊的部份
以上純心得文 請鞭小力一點XD
--
Wordpress: http://kasida.tw/
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 175.181.110.249
推 HMKRL:最近server調過嗎?感覺怪便少了 08/03 17:27
→ kasdia:我只有感覺野外怪物變多 洞穴好像還好 08/03 18:34