精華區beta Minecraft 關於我們 聯絡資訊
以下改寫自:http://goo.gl/uwkq3 本次的教學注重如何降低、修正延遲的問題,並減少"Can't keep up!"的警告訊息。 這次的教學適用於CraftBukkit跟官方Vanilla伺服器 但本教學不會改善玩家電腦的Lag以及網路延遲 同時我也會解釋如何修復破損的世界 ‧調整Java的啟動參數,以便進行適當的垃圾回收(記憶體管理)   以下適用64位元的JAVA:(32位元的另寫補述) java -Xmx1024M -XX:ParallelGCThreads=4 -server -Xincgc -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:+AggressiveOpts -XX:+CMSParallelRemarkEnabled -XX:+DisableExplicitGC -XX:MaxGCPauseMillis=500 -XX:SurvivorRatio=16 -XX:TargetSurvivorRatio=90 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -Xnoclassgc -XX:UseSSE=3 -XX:PermSize=128m -XX:LargePageSizeInBytes=4m -jar craftbukkit-0.0.1-SNAPSHOT.jar nogui (以上皆是同一行,請勿斷行)   這條指令需要依你的電腦更改:   1.【分配的記憶體大小】     看到 -Xmx1024M 這部分     分配1G的記憶體則填入 -Xmx1024M。(或-Xmx1G)     如果要分配更多記憶體給伺服器,比如說2.5G就是 -Xmx2560M     但如果你是64位元的系統,你可以指定大於4G的記憶體。   2.【垃圾回收的線程(核心數)】     看到 -XX:ParallelGCThreads=4 這部分     如果你是雙核心,這部分就不用動了     如果你是4核心,把4改成8,比如-XX:ParallelGCThreads=8   3.craftbukkit-0.0.1-SNAPSHOT.jar請改成你實際的檔名。 ‧你應該清除世界裡沒用的東西。   使用WorldGuard + WorldEdit 然後輸入   /butcher   /remove drops -1   /remove arrows -1 (如果你有裝MultiWorld,請在每一個世界都輸入上述指令) ‧不要使用太多插件。   我認為最多50個插件就是極限了。   不要雙開相同功能的插件(像是Permissions 跟 GroupManager)   而且不要安裝用不到的插件。   【編按:重點】你也不應該使用寫得很差的插件。   (寫得很差的像是Essetials,試著暫時移除Essetials。   如果真的因此降低LAG,那你可以考慮改用 CommandBook 來取代 Essentials。)   【編按:替代插件的部分會另寫新文章】 ‧過多流動的水流與岩漿流是相當浪費資源的。   如果你斷線時得到overflow的訊息,那你肯定有這個問題。   當你鄰近一個區域並開始LAG或斷線,   你可以使用 WorldEdit的 /removenear movingwater 90 跟 /removenear water 90   來解決這個問題。 ‧範圍性的火焰(特別是一整片森林發生大火災)會導致不小的LAG。   這問題在Java 6並不明顯,若要移除火焰,   靠近火焰並使用WorldEdit的 /ex 指令,火焰就會熄滅。 ‧安裝Java 7。 http://goo.gl/0tHct   下載請選JRE,並記得點agree才能下載   安裝Java 7之前,請確定你已經移除其他版本的Java。 ‧去弄個伺服器作業系統像是CentOS或Ubuntu。   Windows及Mac OS X都不是很好的伺服器作業系統。   【編按:個人不反對用Mac OS X。】 【補充:啟動指令解釋】 java =   告訴作業系統我要啟動Java -Xmx1024M =   告訴Java使用記憶體不要超過1G -XXarallelGCThreads=8 =   告訴Java用8條線程同時進行垃圾回收,而不是暫停伺服器來做垃圾回收。 -server =   告訴Java以伺服器模式執行(64位元限定,或使用32位的JDK) -Xincgc =   告訴程式使用小一些或剛好所需的記憶體,並不要超過-Xmx的設定。 -Xnoclassgc =   告訴Java保留記憶體內所有.jar的class。 -jar craftbukkit-0.0.1-SNAPSHOT.jar =   告訴Java執行一個叫做 craftbukkit-0.0.1-SNAPSHOT.jar 的jar檔 nogui =   告訴 craftbukkit 不要啟動圖形介面 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.127.122.196
gcobc12632:快寫32位元(敲碗 01/19 21:56
zseineo:推 01/19 21:57
kaj1983:水流和岩漿流耗的資源多嗎? 01/19 22:03
miau9202:更正"流動的"水流 01/19 22:06
olys:推 等待32位元版 01/19 22:11
※ 編輯: miau9202 來自: 122.127.122.196 (01/19 22:18)
gcobc12632:這些參數設置是要輸入在哪裡? 01/19 23:24
miau9202:輸入前 http://i.imgur.com/xA2Bm.png 01/21 00:27
miau9202:輸入後 http://i.imgur.com/lxixA.png 01/21 00:27