Minecraft 板


LINE

其實我發現這個問題一直都在 只是通常開服者會固定重啟伺服器 所以這個問題相較之下不是很嚴重 不過我相信還是有很多服開著不關也很少重開的 因為我的服也是這樣 所以也察覺到這個問題的嚴重性 相關的內容我也有同步發到spigot的論壇上 不過官方會不會改我就不清楚了 希望可以改掉這個問題 接下來就說一下這到底是什麼問題好了 就是伺服器如果好幾天不關 我的服是4~5天 這個tracker set的大小在我的伺服器裡就會成長到50萬以上 然後在沒玩家的情況下tps只有10左右 timing裡時間的花費則是30~40ms http://i.imgur.com/K7hvXH5.png 已經超過半個tick了 會LAG不意外? 這個問題我分了2個階段解決 第一階段是track的的平行化 問題是稍微有解決沒錯 但是沒玩家時TPS卻還是降到18左右(use 4 cores) 有玩家就會變成17 但問題是沒有人在線上到底要追蹤啥? 於是我認為應該是這個set裡的entry沒有正確的被刪除所導致 所以第二階段我做了一個全面檢查 目前是在玩家轉換世界時才會觸發這個檢查 因為經過傳送門都會頓我覺得應該沒差吧 XDDD 希望spigot能夠去修正這個問題 如果沒有 我的專案有修正 囧 不過目前還是在觀察階段 之前有確定確實是tracker set太大導致 因為我有測試這個set大於20萬就清空 然後tps一路19以上持續30多天的紀錄 期間玩家登入數跟頻率是差不多的 不過就是一些機關掛點 生物有時會不動這樣 XDDD 希望對大家有幫助 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.116.20.13
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Minecraft/M.1494090377.A.EC7.html
1F:推 olys: 原來如此,之前就奇怪記憶體為什麼回收機制運作不佳 05/07 14:21
2F:推 CardLin: 這問題我有遭遇過!基本上跟CPUtime與MBtime有很大的關聯 05/07 20:16
3F:→ CardLin: 因為有段時間地磁場異常而造成CPU時間與主機板時間不同步 05/07 20:16
4F:→ CardLin: TPS一直以來都不是問題,最主要的是玩家不要為小事吵架! 05/07 20:17
5F:→ CardLin: 畢竟挖礦蓋房屋的TPS一點都不重要,重要的是不能遺漏封包 05/07 20:18
6F:→ CardLin: 這我就更清楚了我有換過六張以上的網卡來運行我的伺服器! 05/07 20:20
7F:→ CardLin: 基於不能透漏太多時間不同步的情況,我會用多組NTP監測喔 05/07 20:20
8F:→ CardLin: 如果電腦能接個USB的GPS接收器到窗台接收GPS時間很不錯! 05/07 20:21
9F:→ CardLin: 這樣你每秒鐘就可接收到數個衛星傳送給你的時間訊號校正! 05/07 20:22
10F:→ CardLin: 如此一來你的TPS就能算得更精確而非軟硬體上的誤差值! 05/07 20:22
11F:→ CardLin: 規則一定要訂的夠嚴謹不能有多個OP會有小圈圈的排擠效應! 05/07 20:24
12F:推 mamaya3: 斷! 05/07 20:26
13F:推 CardLin: 重新啟動主要是確保時間數值不會因為Overflow而發生異常! 05/07 20:30
14F:→ CardLin: 畢竟早上六點重開就是要大家知道可以開始準備早餐去上班! 05/07 20:32
15F:→ CardLin: 但考慮有些是早上要去開門工作的老闆所以五點重開也不錯! 05/07 20:33
16F:→ CardLin: 但我覺得現在都已經電子化時代了,或許可以用日出為依據! 05/07 20:34
17F:推 LPH66: 我怎麼覺得樓上有點搞錯原 PO 在討論的問題了... 05/07 20:38
18F:→ LPH66: 這個 bug 應該是跟世界中的 entity 數量有關, 和時間沒啥關 05/07 20:39
19F:→ LPH66: 時間在這個問題裡只是經過越久問題越嚴重而已 05/07 20:39
20F:→ LPH66: 這裡的時間也是遊戲內時間而不是伺服器機器上的時間 05/07 20:41
21F:推 CardLin: 我知道有些很厲害的玩家會從其他伺服器跑來繁殖別人農場! 05/07 20:41
22F:→ LPH66: 跟 NTP 或 GPS 對時什麼的就更沒有關係了 05/07 20:41
23F:→ CardLin: 致使農場動物過多而有 Small Overlap 的 Collision 情況! 05/07 20:42
24F:→ CardLin: 如果時間異常根本就可能會影響農場中的動物繁殖的速度喔! 05/07 20:43
25F:→ CardLin: 但如果時間異常到有負值的時候根本就會一直重複的繁殖了! 05/07 20:43
26F:→ CardLin: 當然這是在硬體或作業系統Kernel有BUG的時候才會發生異常 05/07 20:48
27F:→ CardLin: 還記得千禧年的時候其實喊得很大聲結果其實根本沒有異常! 05/07 20:49
28F:→ CardLin: 所以其實網路病毒的情況真的要注意與謹慎小心評估再選擇! 05/07 20:50
29F:→ CardLin: 畢竟有些BIOS擁有一些安全性處理器也有自己的時間容器吧~ 05/07 20:51
30F:→ CardLin: 說錯了,有些CPU為了加速啟動而使用了特殊的開機程序較快 05/07 20:52
31F:→ CardLin: 這樣較快的結果就有可能使用了不同的時間容器而發生異常! 05/07 20:53
32F:推 CardLin: 當然網卡若有offload的功能也有自己的時間所以我才換網卡 05/07 20:56
33F:→ CardLin: 讓我想起我的Marvell的網卡很穩定但有段時間開始亂丟封包 05/07 20:58
34F:→ CardLin: 我還有換過Intel網卡但是那個驅動的IRQ使用率實在有點高! 05/07 20:59
35F:→ CardLin: 我還試過Killer的網卡但因為好像沒有放出linux的驅動程式 05/07 21:01
36F:→ CardLin: 所以最後我是選用了較ASIC大面積的Broadcom網卡才較穩定! 05/07 21:02
37F:→ CardLin: 大家應該要清楚以前的Realtek在安裝linux的時候不會出現 05/07 21:03
38F:→ CardLin: non-free driver的提示,代表Linux較能完整支援舊網路卡! 05/07 21:03
39F:推 LPH66: …就說了這是遊戲內經過的模擬時間長, 而不是機器時間異常 05/07 21:11
40F:→ LPH66: 他這個 bug 是在機器時間正常的機器上也會出現 (如一樓) 05/07 21:12
41F:→ LPH66: 那所以跟機器時間有關的校時 / NTP / GPS 定時 / 網卡連線 05/07 21:13
42F:→ LPH66: 等等之類的通通無關 05/07 21:13
43F:推 CardLin: http://i.imgur.com/DBoGlKk.jpg 建議原PO檢查網卡驅動!! 05/07 21:19
44F:推 CardLin: 因為在Traffic Offload的時候一定會反覆地與CPU校準時間! 05/07 21:22
45F:→ CardLin: CPU發現網卡時間與CPU時間不同的話可能會hold住一段時間! 05/07 21:23
46F:→ CardLin: 所以在DPC Latency很低的時候代表IRQ通常沒有異常的情況~ 05/07 21:24
47F:→ CardLin: 大家應該要記得以前有個知名的linux系統有lowlatency核心 05/07 21:26
48F:→ mamaya3: 可以去翻他以前的文 別跟他認真了XDDD 05/07 21:32
49F:→ softpak: 囧 05/07 22:32
50F:推 karuru: 上面到底在供三小 05/08 08:02
51F:推 nick5487: 居然攻略到賣快板來了... 05/08 10:01
52F:→ Kenqr: 其實是自動發廢文AI對吧 05/08 10:19
53F:推 twosheep0603: 躁鬱症發作吧 哀 05/08 13:28
54F:→ m01a011: 上面是複製貼上的感覺... 05/08 15:59
55F:推 david50407: 只有我覺得卡林桑可以一直保持驚歎號在最後很厲害嗎XD 05/08 23:43
56F:推 aalexx: 句尾幾乎都是驚嘆號XD 05/09 02:04
57F:推 tonylo2ooo: 上面一堆廚,上次把你的project po上去,還被砲 05/10 10:00
58F:→ softpak: po到哪被砲啊?我知道我的進度不是很快 05/10 12:30
59F:→ softpak: 是蠻想知道哪個中文討論區有在討論的 XD 05/10 12:31
60F:→ cras4202tw: 我都幾個月重開一次的 spigot 沒出現過你說的問題 05/10 22:00
可以請教一下是哪一個伺服器嗎? 想研究一下你的硬體跟伺服端的一些設定配置 還有遊戲規則 想比較一下差異 希望最後找到的問題不是卡林說的那個 囧 ※ 編輯: softpak (140.116.20.16), 05/11/2017 00:00:18
61F:→ cras4202tw: 不解釋創世神伺服器 伺服器跑在 ESXi 本身是 i7-7700k 05/11 10:16
62F:→ cras4202tw: 32G RAM 我切割 4核心 4G 記憶體給它 05/11 10:16
63F:→ cras4202tw: 系統是 Fedora server 25 05/11 10:16
64F:→ softpak: 硬體看起來是不差,另外我看了一下規則,可能是生物限制 05/11 12:26
65F:→ softpak: 上的問題 05/11 12:26
66F:→ softpak: 前幾天去西瓜看 管理員是說大概是2到4個禮拜 甚至更久 05/11 12:28
67F:→ softpak: 才會重開 05/11 12:28
68F:→ softpak: 他的服跟nl一樣是沒有限制的 05/11 12:29
69F:→ softpak: 而我這幾天發現伺服器一直在觸發全面檢查的機制,所以我 05/11 12:32
70F:→ softpak: 認為應該是傳送門傳送物品這個功能的關係 05/11 12:32
71F:→ softpak: 如果可以的話 麻煩有開服的板友 在lag重開前能否紀錄一 05/11 12:34
72F:→ softpak: 下timing的狀況 然後確認伺服器是否有打開傳送門生怪的 05/11 12:34
73F:→ softpak: 設定 05/11 12:34
經過了5天的觀察 確定是tracker set過大的問題 目前這個SET的大小小於10萬 timings 的結果也很正常 http://i.imgur.com/UD8a5Mf.png 就像剛開時的情況 至於觸發累積的機制還是不太明瞭 不過似乎用bungeecord傳送到別的dimention時不會使這個tracker累積 如果只是想單純的解決這個問題 可以選擇在你喜歡的地方 例如實體經過傳送門時來作全面檢查 程式碼如下(EntityTracker.java): Set<EntityTrackerEntry> remove_untrack = Sets.newConcurrentHashSet(); public void untrackPlayer(EntityPlayer entityplayer) { Iterator iterator = this.c.iterator(); while (iterator.hasNext()) { EntityTrackerEntry entitytrackerentry = (EntityTrackerEntry) iterator.next(); entitytrackerentry.clear(entityplayer); } //remove all untrack here for (EntityTrackerEntry ete: this.c) { int exist_count = 0; for (Entity ent:this.world.entityList) { if (ent.getId() == ete.hashCode()) { exist_count++; } } if (exist_count == 0) { remove_untrack.add(ete); } } this.c.removeAll(remove_untrack); remove_untrack.clear(); } 綠色部分是新增的 意思是當玩家通過傳送門時比較c這個set裡的entry資料 跟當下world裡entityList的有沒有重複 沒有重複就表示這個entity沒有在運作 把這個entry從清單移除 每個dimention也就是每個wolrd都有各自的tracker清單 所以這樣移除是沒有問題的 感謝收看 ※ 編輯: softpak (140.116.16.132), 05/12/2017 09:31:39







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Tech_Job站內搜尋

TOP