先說我對holo不熟
也沒看過任何holo的賣塊影片或實況
以下就我對Minecraft這個遊戲的理解說明一下
※ 引述《attacksoil (第三方程式)》之銘言
: 跟其他伺服器比好像也還好?
: 怎麼伺服器好像快撐不住了
: 屑兔還要把那個產金的門關掉
: 還是其實蓋了很多東西只是平常沒給觀眾看到?
其實Minecraft的寫法有個特性,
幾乎所有的東西都擠在同一條執行緒上面
所以多核心幾乎沒有什麼效果…
要快就只能拿單核效能高的CPU硬上
這也是為什麼你開一個一般的伺服器
通常很難超過30人同時上線…
因為人越多 = 同時載入的地圖越多
同時也會載入更多的 entities
entity是什麼?就是玩家/生物/怪物/礦車/掉地上的道具…那類的東西
跟方塊不一樣,他們每個tick都需要被處理一次
(他們有物理效果/可能有尋徑AI/會與其他東西互動…)
也就是一秒20次,
這些東西只要數量一多
伺服器很容易就撐不住了
另一個東西叫做block entity 或是tile entity
這些東西本身是方塊,
但他們不是一般的方塊
有些block entity同樣有每個tick被處理的需要
像是熔爐/漏斗/…之類的
這些沒有一般的entity吃效能,但數量一多還是可以很明顯的
這兩類是只要在玩家載入範圍,就會持續需要效能處理的東西
人多,載入範圍大,就是那樣囉
至於你說paper還是spigot?
啊…相較於原版的server是有些不錯的小功能/可以用一些插件
跟效能改進/偷吃步(比如說減少漏斗tick頻率的設定那類的)
但本質還是沒有變…牛牽到北京還是牛
一般來說要減輕這個問題
就是你知道會有效能疑慮的東西
盡量蓋到遠離人群的地方
有需要才過去
然後spawn chunks內因為是24小時載入的(即使沒人)
盡量不要在裡面放沒必要24小時載入但又會吃效能的東西
另一個解答就是…
多開幾個server,減少所有人同時出現的機率
同時稍微緩解只吃單核的問題
再用別的外部工具同步玩家資料
有些伺服器會有的資源世界就是這個方案
那些小遊戲伺服器也是這樣的
外面顯示同時在線幾千人,但其實不同的遊戲房間/大廳
都是運作在不同的機器上的
講了這麼多
其實lag程度跟開發程度不一定正相關啦
還是要看你到底做了什麼…