Minecraft Wiki

除另有声明,转载时均必须注明出处若簡繁轉換出錯,請以遊戲內為準请勇于扩充与修正内容有兴趣逛逛我们的微博沟通交流,欢迎到社区专页需要协助,请在告示板留言

了解更多

Minecraft Wiki
Advertisement
警告 在依照本頁面上的所有步驟架設伺服器之前,請注意如果您不清楚您自己在做什麼而執行伺服器端軟件,將會導致您的系統出現錯誤甚至出現崩潰。[1]
Ic translate
此條目的(部分)內容需要翻譯。

你可以幫助我們來翻譯此條目,但請勿使用機器翻譯

在這個教學中,我們將透過手把手的方式,一步步地幫助你建立屬於你自己的Minecraft伺服器。在該教學中,我們使用Mojang發佈的供玩家免費下載的伺服器端程式,該程式在大部分作業系統(比如Windows,Mac OS以及Linux等)上都可以執行。

首先,你可以根據你所使用的作業系統,前往官方的下載頁面,下載所需的Minecraft伺服器端程式。我們建議你新建一個資料夾用於儲存伺服器端檔案。(下載後請確認下載的伺服器端檔案是否是 minecraft_server.jar 或者 minecraft_server.exe,因為有時你的瀏覽器會將可執行檔案重新命名。)

注意:網上也有許多Minecraft的第三方伺服器端程式,不過它們都是不受Mojang技術支援的。

注意事項

鑑於您正在一步步地開啟您自己的伺服器,您應該要注意所有可能出現的危險性。雖然我們並不能阻止其他人執行伺服器而導致產生各種針對系統的危害,但我們至少可以呼籲各位:如果您不知道您自己在做什麼,請不要根據下面的教學架設伺服器。執行下面的所有教學(應該)不會導致您的系統出錯,但是鑑於本頁面乃wiki頁面,所有人都可以編輯(包括翻譯這段話的我),與此同時我們並不知道您的系統配置與軟件執行情況。我們並不能保證您的系統不會出現問題。為了確保您根據下面的教學架設伺服器而不會出現問題,我們強烈推薦您至少知道以下的內容:

  • 基本的網路搭建術語(IP、DHCP、網路端口等)
  • 您的系統配置
  • 您的網路構成環境
  • (如果您有路由器或交換機等)您的路由器配置

當然,如果您並不希望自己搭建伺服器,我們歡迎您加入其他伺服器,其他伺服器列表可以在這裏找到。

Windows 操作指導

需求:確認你的作業系統安裝了最新版本的Java環境

  1. 確保你安裝了Java 7。除非Sun公司官方發佈,否則不要安裝Java 8/9,除非你想做軟件除錯。為了檢查目前的Java環境,我們可以打開一個指令提示字元(CMD)窗口。
    • Windows Vista/7 系統下,點「開始選單」,在搜尋框中輸入 cmd,回車。
    • Windows XP 系統下,點「開始選單」-> 「執行」,然後輸入 cmd 並回車。你也可以使用「執行」的快捷鍵:Windows鍵 + R。
    • 在指令提示字元窗口,輸入指令java -version並回車。
    • 窗口中應該會顯示目前你的電腦的Java版本,應該為 "Java version 1.7"。
  2. 如果你得到了無效的指令錯誤提示, "'Java' 不是内部或外部命令,也不是可运行的程序或批处理文件",那麼你的電腦上執行的可能是早期Java版本(比1.6早)或者根本就沒有Java環境。
    • 對於32位元系統的使用者,可以到此處下載最新版本的Java。如果你的系統是64位元的,確保你下載的是Windows x64 Java包。
    • 在你安裝了最新版的Java之後,你可以嘗試在指令提示字元窗口再次輸入java -version並回車。
      如果你依舊得到錯誤提示,請嘗試以下步驟,將Java加入到你的系統環境變數中去。
      1. 右鍵點擊「我的電腦」。
      2. 點「屬性」。
      3. 點「高級系統設定」。
      4. 點「環境變數」。
      5. 在「系統變數下」,選中「Path」變數。
      6. 點編輯,在內容的結尾處加上;"c:\Program Files\Java\jre6\bin"。如果你在64位元系統上使用32位元Java,則使用;"c:\Program Files (x86)\Java\jre6\bin"
      7. 重啟電腦。
      8. 再次打開指令提示字元輸入java -version並回車,驗證。

啟動Minecraft伺服器端程式 (.exe 版)

  1. 雙擊「Minecraft_Server.exe」檔案。伺服器程式將會以預設配置啟動。
    • 第一次啟動時,會顯示一些「file not found」(檔案無法找到)的錯誤提示。這是正常的,這些檔案正在建立當中。
    • 第一次啟動之後,我們可以開始配置伺服器檔案了。首先將打開的伺服器程式關閉:在指令窗口裏輸入stop。之後我們開始按照下面的指導進行伺服器配置。

增加Minecraft伺服器端程式所佔用的記憶體

如果你想讓你的伺服器端程式佔用更多的記憶體,你就需要建立一個批處理檔案。沒關係,這比聽起來容易。

  1. 打開「記事本」(不是「寫字板」喲),新建一個文字檔案。
  2. 確認下你的Windows系統是32位元的還是64位元的,可以在控制面板裏面查看。並且確認下你的Java版本是32位元的還是64位元的。
  3. 根據你的系統以及Java版本……
    1. 如果Windows系統是32位元的或者是64位元且安裝的是64位元的Java,複製下面的內容到你的文字檔案中(只佔一行。如果使用Java 6,請根據指令中的目錄):
      "C:\Program Files\Java\jre6\bin\javaw.exe" -Xmx2048M -Xms2048M -jar "Minecraft_Server.exe"
    2. 如果你因為一些奇怪的原因,正在64位元系統上執行32位元的Java,升級你的Java。並且,如果你把Java裝載其他目錄裡了,或者你重新命名了Minecaft伺服器程式檔案,見下:
    3. 如果你在64位元系統上有32位元的Java,Java.com會透過瀏覽器判別你的版本,對於一些32位元的瀏覽器,會推薦給你下載32位元的Java。在這樣情況下,為確保萬無一失,請把32位元和64位元的Java都下載並安裝了吧。
    • 文字檔案這一行到底是什麼意思呢? 這條可執行指令("C:\Program Files\Java\jre6\bin\javaw.exe"))是一個檔案地址,指向你系統最新的javaw.exe。如果你的Java版本是8,你應該把指令中的'jre6'改成'jre8',如果你把Java安裝在了其他地址下,你就需要找到那個地址,複製粘貼過來,替換到上面這個錯誤地址。 下一部分(-Xmx2048M -Xms2048M)表示你分配的記憶體大小。以MB(MegaBytes,兆)計算。預設情況下,你伺服器只會使用100MB記憶體,這對於Minecraft伺服器來說太小了。大部分使用者會分配給伺服器程式1024MB(也就是1GB),或者2048MB(2GB)也是一般推薦的。 下一個,參數-jar,是用來表示Minecraft_Server.exe是Java架構程式的。
    • 在這條可執行指令的最後是我們的.exe檔案的名字(Minecraft_Server.exe)。一般來說,名字是Minecraft_Server.exe. 大小寫不區分,不一樣沒關係,如果你的.恩建已經改名,就把這條指令裡的檔案名也改成你相應的名字。最後,點 檔案->另存為...,將檔案取名為run.bat,並且確保在窗口的檔案類型那,選中為所有文件(*.*)。 然後儲存到和你伺服器端程式所在相同的目錄下。雙擊剛建立的run.bat檔案。如果一切都按照正確步驟坐下來,你就會注意到現在你的伺服器程式申請到更多的記憶體了!

如果Windows沒有識別出檔案類型(你可能會被提示選擇用什麼程式來打開),這也許是因為Minecraft_Server缺少了.exe檔案名後綴。我們可以透過重新命名Minecraft_Server為Minecraft_Server.exe來修正這個問題。如果問題解決,程式的圖示就會變成Minecraft的圖示(方塊)。 如果還是沒解決,你需要打開指令提示字元窗口,點「執行」,輸入cmd回車。然後你需要將指令提示字元窗口目前地址定位到你建立的資料夾地址去。

按照以下步驟來:

  1. 確保你在正確的盤符(一般是C盤)。輸入 C: 然後回車來進入C盤。
  2. 現在你需要打開你的目錄。輸入 cd \"folder name" 然後回車,要包含引號部分。
  3. 確認你在正確的目錄下了,輸入 dir 然後回車你會看到你目前所在目錄下的所有檔案和目錄。如果正確的話,你應該可以看到minecraft_server在其中。
  4. 重新命名Minecraft。輸入 rename minecraft_server minecraft_server.exe 然後回車,這麼做會將.exe後綴加入到檔案名上,使檔案變成可執行檔案。之後就應該可以正確的打開執行了。

啟動Minecraft伺服器端程式 (.jar 版)

  1. 如果你用的是.jar版的伺服器端程式,你需要在環境變數中加入正確的Java地址。要完成這一操作,請回到前面的「確認你的作業系統安裝了最新版本的Java環境」指導章節。
  2. 要在Windows上執行jar版本的Minecraft伺服器端程式,先用「記事本」新建一個文字檔案,然後粘帖以下內容進去:
  3. java -Xms512M -Xmx1024M -jar minecraft_server.jar
  4. 儲存為 startserver.bat,放在與minecraft_server.jar相同的目錄下。 .bat檔案是批處理檔案。
  5. 雙擊 startserver.bat,伺服器就開始執行了。

在不改動環境變數的情況下,啟動jar格式伺服器端程式

要在不改動你系統環境變數的情況下啟動jar格式伺服器端程式,你需要在你的start.bat批處理檔案中加入java路徑。因為不需要改動系統變數,所以這個方法比之前的要方便並且安全。

  1. 首先用「記事本」打開你之前建立的批處理檔案start.bat(或者別的什麼名字)
  2. 在首行,加入
    @echo off
    ,這行指令使得「指令提示字元」窗口隱藏,不會在你啟動批處理檔案時跳出來。
  3. 第二行,確保你的系統上可以找到Java(也叫Java執行庫或JRE)。目前的Windows計算機上最普遍的是"C:\Program Files (x86)\Java\jre7\bin\java.exe",因此,你需要在第二行寫上:
    path=%PATH%;%ProgramFiles(x86)%\Java\jre7\bin\java.exe
    ,在此 %PATH% 包含著已經存在的系統變數,而 %ProgramFiles(x86)% 會指向你的系統Project Files目錄,一般是 "C:\Program Files (x86)"。
  4. 最後,確保最後一行是伺服器啟動指令:
    java -Xms512M -Xmx1024M -jar minecraft_server.jar
  5. 如果你不想使用圖形介面(GUI),只需要在這行結尾加上 nogui。也就是:
    java -Xms512M -Xmx1024M -jar minecraft_server.jar nogui

Mac OS X 設定指南

在Mac OSX上設定Minecraft伺服器,相比Windows上要"更複雜",原因是官方並沒提供簡單的Mac OSX支持的應用程式。我們在此提供了一個完整的影片教學。須知伺服器端在OSX 10.4 Tiger 上無法正確執行並且可能使電腦崩潰。

下載

確保你有最新的伺服器端應用軟件。伺服器端軟件可以到這裏下載。在頁面上的「Multiple Server」下面找到「Minecraft_Server.X.X.X.jar」(X.X.X為伺服器端版本號。)並下載。

安裝Java環境

Mac OS X系統本身已經包含了Java 1.6,如果沒有Java,可以執行Minecraft程式,就會提示是否安裝Java 1.6。 (注意,執行伺服器不需要使用Java 1.7或更高。除非必要,否則不需要下載Java 1.7)

架設Minecraft伺服器

確保你根據已經完成了上面的下載步驟,然後開始接下來的操作:

  • 建立一個資料夾,將minecraft_server.jar放入其中。比如,在桌面上建立一個名為「minecraft_server」的資料夾,然後把.jar檔案拖進去。
  • 打開「文字編輯」,設定格式為純文字(格式 > 製作純文字),然後複製下面的內容到編輯器中:

#!/bin/bash
cd "$(dirname "$0")"
exec java -Xmx1G -Xms1G -jar minecraft_server.jar
  • 儲存檔案到.jar所在的目錄並重新命名為"start.command"。
    • 這個就可以給伺服器端足夠的記憶體來執行。佔用記憶體總數可以透過改變文字中的 1G 來實現,比如把它改成 2G,那麼你的伺服器就會用2G的記憶體來執行。
  • 打開「終端」(在/應用程式/實用工具/終端)。
  • 給予該可執行檔案執行權限給使用者,組和公共。來完成這部,在終端中輸入 chmod a+x ,別忘了後面有個空格;然後拖 start.command 檔案到終端窗口中,然後按下回車鍵。 (這就給了該腳本執行權限。)
  • 雙擊start.command來執行伺服器端程式。
  • 一個新的終端窗口會打開,但你第一次執行該腳本時,會出現很多錯誤資訊,提示你一些檔案(files/directories)無法找到。這是正常的。現在你可以開始配置你的伺服器了。

作為後台進程執行

你也可以讓伺服器程式在系統開機後自動後台執行。

建立Mac OSX開機自動後台執行程式

Linux 設定指南

本章教學部分是給那些對Linux系統不太了解的使用者們準備的。在論壇上,有一個更進階的教學。 這個教學在32位元的Ubuntu 9.10作業系統上測試透過,不過也應該可以適用與其他基於Debian的作業系統。

下載

確保你有最新的伺服器端程式。請前去官方下載頁面下載。

安裝Java

如果你的系統沒有安裝Java或者Java版本低於1.6,請你安裝或更新你的Java。 我們推薦你去Sun公司官網上下載Java。有許多人反映安裝有OpenJDK會造成影響,所以我們建議你在安裝官方Java環境之前,移除OpenJDK。

然而,編譯安裝的OpenJDK常常效能更高(對於-Os -march=native -mtune=native來說),儘管OpenJDK不被官方推薦支持。因此我們推薦在openjdk工作正常時不去額外安裝Sun Java。

Debian

確保非自由軟件庫正被apt掃描到。將non-free加入你的/etc/apt/sources.list檔案。e.g:

deb http://ftp.uk.debian.org/debian/ squeeze main non-free

以root身份更新你的軟件列表: apt-get update

然後簡單地以root身份將以下指令輸入終端並回車來安裝Java: apt-get install sun-java6-jre

Ubuntu

對於 Ubuntu 10.04 LTS及更高版本, sun-java6 安裝包已經從Ubuntu的Multiverse中刪除. 你需要手動加入一下代碼:

  • 對於 Ubuntu 10.04 LTS (Lucid Lynx):

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"

  • 對於 Ubuntu 10.10 (Maverick Meerkat):

sudo add-apt-repository "deb http://archive.canonical.com/ maverick partner"

  • 對於 Ubuntu 11.04 (Natty Narwhal):

Some distros have the command "add-apt-repository" removed. If this is the case, you will need to add the python properties by running the following command:
sudo apt-get install python-software-properties
Then you can proceed to add the source:
sudo add-apt-repository "deb http://archive.canonical.com/ubuntu natty partner"

  • 對於 Ubuntu 11.10 (Oneiric Ocelot):

sudo add-apt-repository ppa:ferramroberto/java

  • Then install the packages:

sudo apt-get update
sudo apt-get install sun-java6-jre
sudo update-alternatives --config java

  • 對於 Ubuntu 12.10 (Quantal Quetzal):

注意:你可能需要安裝 software-properties-common 套件以執行 apt-add-repository 指令,用法如下:
sudo apt-get install software-properties-common
輸入下列指令以加入 PPA 庫,並更新來源列表列表安裝 java:
sudo apt-add-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java7-installer

安裝完成後,輸入下列指令並查看是否出現 java 版本號以確認JAVA是否正確安裝:
java -version
輸出結果類似如下(以版本號 1.7.0 Update 10 為例):
java version "1.7.0_10"
Java(TM) SE Runtime Environment (build 1.7.0_10-b18)
Java HotSpot(TM) 64-Bit Server VM (build 23.6-b04, mixed mode)

更多安裝 Java7 與 Ubuntu 的諮詢或問題排除,請參閱 webupd8s

openSUSE

Use zypper in java-1_6_0-sun

Arch Linux

打開一個終端並以root身份執行pacman -Syu openjdk6

Other Distros

Alternatively, you can visit Java's website directly to download the Java package for Linux. Most distros work with this (either 32 or 64-bit). Instructions for the installation of those different packages are given on the site.

If during installation, it asks for a password, enter your password. If you get asked "Is this OK [Y/N]" Enter Y and press enter if required. Java should now be installed.

啟動Minecraft伺服器

打開指令列模式(terminal),從「所有程式」>「附屬應用程式」>「命令提示字元」。
輸入下列指令:

cd 'minecraft_server'

您可能需要重新命名 minecraft_server 改成您所解壓縮到的資料夾名稱

java -Xms1024M -Xmx1024M -jar minecraft_server.jar nogui

當少於1GB可用的記憶體時

若您的RAM少於1024MB,下列的指令可能會導致虛擬記憶體不斷地交換分頁而最終記憶體用盡,這會使得遊戲更難以執行 cd 'minecraft_server' java-Xms1024M-Xmx1024M-jar minecraft_server.jar nogui

測量您目前所有可用的RAM: free -m It may look like this: File:ram left.png You are interested in the last number in the third line, 2163 in this case free-m

Subtract some RAM as safety

On this computer, the server may use up to 1536 MB RAM

Now, replace the 1024 in the above example with the calculated number: java -Xms1536M -Xmx1536M -jar minecraft_server.jar nogui if minecraft_server.exe is being used you use: java -Xms1536M -Xmx1536M -jar minecraft_server.exe nogui Voila, it should run smoothly now

Tip: If you want to spare more memory, you may set the -Xms parameter even lower, say: java -Xms32M -Xmx512M -jar minecraft_server.jar nogui The parameter controls how much memory is reserved on startup

Your server will start with 32MB RAM and whenever it needs more memory it will allocate some until it reaches the maximum of 512 MB

However, this will result in a little slowdown whenever the allocation is done.

Startup and maintenance script

Alternatively you can automate the startup of the Minecraft server.

Server startup script

M3tal_Warrior Server Startup Script

Configure and connect

Now it is time to configure and connect.

配置Minecraft伺服器

  1. 透過修改 server.properties 檔案來配置Minecraft伺服器, 這個檔案的格式解釋在 這裏. 確保你在編輯的時候使用的文字編輯器不會加入各種格式 (比如,斜體). 額外的配置並不是很有必要,因為大多數的伺服器使用預設配置就能很好的執行
  2. 將您的使用者名稱加入到 admin.txt 和/或 ops.txt 檔案中(新版本的Minecraft中可能沒有 admin.txt 檔案).
    • Ops.txt 和admin.txt 決定了誰可以執行 伺服器指令. 換句話說, 管理員("op") 權限允許你控制遊戲的某些方面 (例如, 傳送玩家).
    • Op 權限也可以透過伺服器圖形介面給予: 輸入"op <username>" 後 <username> 就會自動被加入到 ops.txt 中.

連接到Minecraft伺服器

  • 如果你是在作為伺服器端的電腦上玩Minecraft,先選擇「多人遊戲」,輸入「localhost」或者是「127.0.0.1」,而不是你的IP位址。
    • 這是不推薦的。除非你有一個效能良好,記憶體大於4GB的電腦。(%50給伺服器,%10給用戶端,其餘的給系統)
  • 在你的局域網內的玩家可以透過內網ip來連接到你的伺服器. (因為玩家在局域網內,所以你不需要接口轉發)
  • 從Internet連結的玩家 (也就是,不在你的局域網中的玩家) 必須使用你的外部ip來連結. 你必須為這些從外部連結的玩家使用接口轉發。

IP 地址注釋

  • 除非你為正在做伺服器的電腦設定一個靜態ip, 否則的話,內部ip地址是有可能改變的. 這會影響到接口轉發規則並使得它們失效。 不同的路由器有不同的設定靜態ip的方法。你可以從你的裝置的說明書或者線上文件中獲得更多的幫助。
  • 如果你有連接到你外部IP的玩家, 你應該明白如果你沒有從你的Internet服務商處獲得一個靜態IP,那麼你的外部IP是會變化的. 你可以使用類似MyWANIP的工具來定時的檢查你的外部IP。 你也可以在谷歌中搜尋「my ip address」來顯示你的外部IP(譯者註:百度搜尋「IP位址」更加方便)。此外,你可以嘗試使用DNS服務,這會允許你使用一個固定的域名,而不是動態的IP位址。不管你的外部IP位址是否改變,這個域名會指向你目前的外部IP位址(即,當你的外部IP改變時,DNS會自動更新) 。

伺服器端網路設定

  • 伺服器需要開啟防火牆相應端口(預設為25565)才能使伺服器端正常工作。
  • 確認網路設定正確並使用線上工具如You Get Signal確定伺服器端在國際互聯網的IP。測試端口應與伺服器端設定的端口一致(預設為25565), 測試時請啟動伺服器端

伺服器有可能會遭到惡意攻擊,在伺服器投入使用以前,請務必做好物理保護及資料備份工作,否則有可能會帶來經濟及精神上的損失。

針對使用家庭路由器的伺服器

  • 如果伺服器位於一個家庭路由器的局域網內,則需要在路由器設定相應的端口映射法則。
  • 關於端口映射的具體設定,可以訪問 portforward.com。從網站給出的列表中選擇你使用的路由器型號,網站將給出設定端口映射的相應步驟(有廣告,可跳過)。調製解調器、路由器等網路器材附帶的說明檔案也可能包括了設定端口映射的相關資訊。
    • 部分路由器提供了DMZ選項,與端口映射有同樣效果,但遭到攻擊的可能性相比使用端口映射更大(DMZ主機暴露在外網,不受路由器安全設定保護)。新手使用請諮詢熟悉的業內人士

針對使用動態IP的伺服器

  • 由於中國大陸大部分家庭使用者(部分伺服器代理的伺服器也沒有固定IP)使用ADSL或PPPoE等方式接入互聯網,此種情況下的伺服器無論透過路由器與否,IP位址是不定的。解決此問題可以使用動態DNS服務,屆時玩家只需要知道伺服器使用的域名即可連接到伺服器。
  • 請聯繫網路供應商(家庭使用者)或伺服器代理商確定正在使用的網路接入方式。
  • 使用動態DNS需要進行以下準備工作:
    • 獲得一個域名,可以從dot.tkOray等網站獲得免費域名,也可以支付一定費用註冊;
    • 選擇一個動態DNS服務商,註冊賬號並按服務商提供的操作方法設定伺服器及域名,維基百科有部分動態DNS的服務商列表。

使用動態DNS需要一定網路理論及實踐的基礎,新手在做出決定前,請先諮詢熟悉的業內人士。

  • 設定動態DNS請按照服務商的指示對伺服器、路由器(僅限使用路由器的使用者)進行設定。
    • 路由器設定需要進入管理頁面進行操作,新手請參照說明文件或在業內人士的指導下進行。

常見問題

1) 我連接時伺服器返回這樣的資訊:

                       Connection lost 
        The server responded with an invalid server key

解決方法: 稍後再重新連接,如果重試多遍問題依舊,將伺服器升級到至少1.0.1(1.0.1也稱1.1)以上。


2) 我在Windows系統下雙擊了伺服器啟動的批處理檔案,指令提示字元窗口只閃現一下而伺服器沒有啟動,應該怎麼辦?

解決方法:可能是javaw.exe的路徑沒有設定對。把批處理檔案路徑裡的/jre7/換成/jre6/,確定執行環境在/Program Files/裡還是在/Program Files (x86)/裡,或者根據自己電腦的情況對路徑進行相應調整。多說一句,執行伺服器端需要JRE執行環境,而不是瀏覽器裡的java外掛。


3) 提示「Failed to Bind to Port」錯誤。

解決方法: 可能是路由器端口映射設定有誤,確認路由器為Minecraft開放的端口(預設為25565)正確地映射到你的伺服器上。如果你的伺服器是直接接入網路的且網路服務商不開放你所設定的端口,將 server.properties檔案中的server-port=25565中的「25565」改為其他可用端口號。

最好避免使用1024以下的端口,這些是在IANA(互聯網號碼分配局)註冊的,為重要服務預留的端口;另外因為安全原因,一些網路服務商還會屏蔽3306(MySQL伺服器預設使用)端口等。除此之外,49152-65535段端口屬於「動態端口」範圍,沒有被註冊佔用。如果不確定自己想用的端口是否被佔用,參閱TCP及UDP端口列表


4)我在Solaris/OpenSolaris下執行伺服器端時遇到了以下錯誤資訊:

java.io.InterruptedIOException: Operation interrupted 
at java.net.SocketInputStream.socketRead0(Native Method) 
at java.net.SocketInputStream.read(SocketInputStream.jav解决方法:129) 
at java.net.SocketInputStream.read(SocketInputStream.jav解决方法:182) 
at java.io.FilterInputStream.read(FilterInputStream.jav解决方法:66) 
at gq.a(SourceFile:131) 
at ji.g(SourceFile:197) 
at ji.c(SourceFile:17) 
at oq.run(SourceFile:84) 
2011-05-31 16:57:26 [INFO] /:44673 lost connection

解決方法:只有Solaris系統線上程中斷連接時會發生這種異常,這種異常可以透過改變啟動指令來避免:

java -Xmx1024M -Xms32M -XX:-UseVMInterruptibleIO -XX:+UseConcMarkSweepGC \
 -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=$CPU_COUNT -XX:+AggressiveOpts\
 -jar minecraft.jar nogui

這樣的指令讓Java使用一種可中斷的IO棧來防止異常發生。


5)我沒法放置/破壞方塊!!

解決方法: 離重生點遠一些,除非你是伺服器的Op,否則你不能在重生點附近放置或破壞方塊。

效能最佳化

對於各類JDK(Oracle或Open)使用者,使用JDK的一些參數進行最佳化是可行的。以下參數在一定程度上最佳化GC記憶體操作且利用了一些CPU指令集。 java -server -XX:-UseVMInterruptibleIO -XX:NewRatio=3 -XX:+UseStringCache -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSIncrementalPacing -XX:ParallelGCThreads=(CPU数量,UNIX-LIKE/Linux/*nix可使用$CPU_COUNT) -XX:+AggressiveOpts -XX:+UseFastAccessorMethods -XX:+UseBiasedLocking -XX:PermSize=128m -XX:MaxPermSize=256m -XX:+CMSParallelRemarkEnabled -XX:MaxGCPauseMillis=50 -XX:+UseAdaptiveGCBoundary -XX:-UseGCOverheadLimit -XX:SurvivorRatio=8 -XX:TargetSurvivorRatio=90 -XX:MaxTenuringThreshold=15 -XX:+UseAdaptiveSizePolicy -XX:+DisableExplicitGC -Xnoclassgc -oss4M -ss4M -XX:CMSInitiatingOccupancyFraction=60 -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=1 -XX:SoftRefLRUPolicyMSPerMB=2048-XX:UseSSE=(0/1/2/3/4,视CPU定)-XX:UseAVX=(0/1/2,视CPU定) -Xms1G -Xmx视情况 -jar <jar文件> 以上參數的部分設定可以自行修改。

其他教學

這裏有些別的設定Minecraft伺服器的教學

參考連結

Advertisement