Minecraft 農村景象

如何架設 Minecraft 伺服器

Minecraft 作為一個開放世界的沙盒遊戲,擁有無限的可能性,而建立自己的 Minecraft 伺服器則是讓你和朋友們一同冒險的最佳方式。如果你是 Minecraft 新手,或是第一次嘗試架設伺服器,別擔心!這篇文章會一步步帶你完成伺服器的架設過程,讓你輕鬆開始自己的 Minecraft 伺服器之旅。

準備工作

在開始架設伺服器之前,你需要準備以下幾樣東西:

  1. 一台可用的電腦:伺服器可以在 Windows、macOS 或 Linux 系統上運行。確保你的電腦具有穩定的網路連線。
  2. Java:Minecraft 伺服器是使用 Java 開發的,所以你需要安裝 Java 21 或更新版本。你可以從 Java 官網 下載並安裝。
  3. Minecraft 伺服器軟體:你需要下載 Minecraft 伺服器的核心檔案。這些檔案可以從 Minecraft 的官方網站下載。

下載 Minecraft 伺服器

官方 Minecraft 伺服器下載
官方 Minecraft 伺服器下載

前往 Minecraft 的官方網站下載 minecraft_server.1.xx.x.jar 檔案,1.xx.x 會依照最新版本變動,撰寫文章時是 1.21.4。下載儲存時檔案名稱會為 server.jar。

尋找儲存位置

建立一個空的資料夾將方才已下載的 server.jar 檔案移動至此,因為啟動伺服器時會產生伺服器需要的檔案。這些檔案有:主世界、地獄世界、終界世界檔案、伺服器設定檔、封鎖名單、白名單等,所以用單一的資料夾將所有伺服器的檔案統一管理,不論在未來的檔案管理上,還是檔案搬遷上都會很方便。

啟動伺服器

此時可以用滑鼠雙擊左鍵執行 server.jar,第一次啟動不會跳出任何視窗是正常的,但是伺服器會產生以下檔案與資料夾:

  • libraries
  • logs
  • versions
  • eula.txt
  • server.properties

同意 EULA

出現這些檔案代表你需要用記事本(或其他純文字編輯器,Office Word 不建議)打開 eula.txt 並修改 eula 為 true 代表同意使用規範。

架設 Minecraft 伺服器必須同意 Mojang 對伺服器的規範,從合約書中簡單來說:不可以擅自修改伺服器檔案以及將其作為商業販售。

如果在意法律問題的話建議詳細的閱讀 Mojang 的合約書。同意其合約書的話要在 eula.txt 中將 eula=false 改成 eula=true。代表你同意合約書的內容。接著再次執行指令檔時,伺服器就會正常的啟動了。

eula=true

正式啟動伺服器

當你同意 EULA 後,再次雙擊左鍵執行 server.jar,稍等一下他會開啟伺服器的使用者介面,在這個介面中左上角是伺服器狀態,其中有「Memory use」代表目前的記憶體使用量,「Avg tick」代表伺服器平均 tick 的時間長,ms 代表毫秒,1 秒 = 1,000 毫秒。

左下角的區塊是目前連線中的玩家清單,當有玩家加入伺服器時會顯示在這個清單中。

右側大區塊是伺服器的日誌(log),伺服器的運作狀態與伺服器內的聊天記錄都會顯示於此。右側日誌底下有一個小的輸入框,他是用來輸入指令與送出指令的輸入框,輸入指令並按下 Enter 鍵即可執行指令。

如何判斷伺服器已經成功啟動呢?如下圖的日誌中可以看到一行:「Done (x.xxs)! For help, …」。當看到這行代表伺服器已經準備完成了,已經可以接收來自玩家的加入申請,此時可以打開 Minecraft 進入多人遊戲的地方,在直接連線裡的輸入框打上「localhost」並進入,這樣你就成功加入這個伺服器了。

Minecraft 伺服器的使用者介面
Minecraft 伺服器的使用者介面

使用啟動指令

在 Windows 或有圖形介面的 Linux 底下可以直接用執行應用程式的方式執行伺服器,可是我建議使用指令的方式執行、啟動伺服器,因為使用指令時能傳入更多自訂的參數,可以控制記憶體使用量、增加執行效率等。

最基本的指令如下:

java -Xmx1024M -Xms1024M -jar server.jar nogui

  • 作業系統是 Windows 請打開內建的記事本或其他的文字編輯器(不可以是 word),接著在記事本的第一行將上方的指令打入後,另存新檔為 start.bat。
  • Linux 下的檔名為 start.sh。
  • Mac OS 下的檔名為 start.command。
  • -Xmx 是用於指定伺服器最大可使用的記憶體大小。
  • -Xms 是用於指定伺服器最小可使用的記憶體大小。
  • -Xmx 與 -Xms 兩者的值建議相同,可以稍微提升伺服器效能。
  • 指令中的 nogui 是指執行時不開啟 GUI 介面。

伺服器設定檔

Minecraft 伺服器設定檔為 server.properties,預設的設定項有 43 項,每一項的格式為:屬性=值

詳細內容表列如下:

屬性資料型態預設值描述
allow-flightbooleanfalse是否允許玩家在安裝有飛行功能的模組情況下在生存模式下飛行。若值為 false,懸空超過 5 秒的玩家會被踢出伺服器。
allow-netherbooleantrue是否允許玩家進入地獄。 若值為 false,地獄傳送門不會被開啟。
announce-player-achievementsbooleantrue玩家獲得成就時,是否在伺服器中進行顯示。true 為可見,false 為不可見。
difficultystringeasy定義伺服器的遊戲難易度。
peaceful:和平
easy:簡單
normal:普通
hard:困難
enable-querybooleanfalse是否允許透過 GameSpy4 通訊協定取得伺服器狀態。
enable-rconbooleanfalse是否允許遠端控制伺服器後台。
force-gamemodebooleanfalse是否強制玩家以為預設的遊戲模式進入伺服器。
gamemodestringsurvival定義預設遊戲模式。
survival:生存
creative:創造
adventure:冒險
spectator:觀察
generate-structuresbooleantrue是否在生成地圖時生成建築。即使設為 false,地牢和地獄堡壘仍然會生成。
generator-settingsstring空白自訂平坦世界的生成。
hardcorebooleanfalse是否啟用極限模式。
level-namestringworld此值將作為地圖名稱及其資料夾名。
level-seedstring空白種子碼。
level-typestringDEFAULT定義生成地圖時的地圖類型,參數如下:
DEFAULT:預設
FLAT:平坦
LARGEBIOMES:大型生態域
AMPLIFIED:同預設,可是高度增高
CUSTOMIZED:自訂。
max-build-heightinteger256玩家在遊戲中能夠建造的最大高度。
max-playersinteger20最大玩家數量。OP 登入時不受此限。
max-tick-timeinteger60000設定每個tick花費的最大毫秒數。
max-world-sizeinteger29999984設定世界邊界的最大半徑值,單位為方塊。
motdstringA Minecraft Server伺服器名稱下方的描述。
network-compression-thresholdinteger256如果封包大小大於此值則會進行壓縮。0 為全部壓縮、-1 為全部不壓縮。建議值在 64~1500 之間。
online-modebooleantrue是否開啟正版驗證。
op-permission-levelinteger4設定 OP 的權限等級。
1:OP 可以無視重生點保護。
2:OP可以使用單人遊戲作弊指令並使用指令方塊。
3:OP可以使用幾乎所有多人遊戲限定的指令。
4:OP可以使用所有指令。
player-idle-timeoutinteger0如果不為 0,伺服器將在玩家的空閒時間達到設定的時間(單位為分鐘)時將玩家踢出伺服器。
prevent-proxy-connectionsbooleanfalse如果伺服器發送的和Mojang的驗證伺服器的ISP/AS不一樣,玩家將會被踢出。即防止透過 proxy 的登入連線。
pvpbooleantrue是否開啟 PvP。
query.portinteger25565設定監聽伺服器的埠號。
rcon.passwordstring空白設定遠端控制的密碼。
rcon.portinteger25575設定遠端控制的埠號。
resource-packstring空白資源包的 URL。
resource-pack-sha1string空白資源包的 SHA-1 值,必須為小寫十六進位,用於驗證資源包的完整性。
server-ipstring空白指定伺服器 IP。
server-portinteger25565指定伺服器埠號。
snooper-enabledbooleantrue是否允許伺服器定期發送統計數據到http://snoop.minecraft.net.
spawn-animalsbooleantrue是否生成動物。
spawn-monstersbooleantrue是否生成怪物。
spawn-npcsbooleantrue是否生成村民。
spawn-protectioninteger16重生點保護半徑(不包括重生點那格,區域為正方形)。邊長公式:2n + 1
use-native-transportbooleantrue是否使用針對 Linux 平台的資料包收發最佳化,此選項僅會在 Linux 平台下生成。
view-distanceinteger10設定伺服器傳送給玩家的各個方向上的區塊數量(以玩家為中心的半徑),等同於伺服器的最大視野距離。
white-listbooleanfalse是否開啟白名單。
enable-command-blockbooleanfalse是否啟用指令方塊
enforce-whitelistbooleanfalse是否在伺服器上強制執行白名單。當啟用後,不在白名單中的玩家將在伺服器重新載入白名單後從伺服器踢出。

以上的設定請依照自己需求做設定喔!

連上伺服器

區域與公開 IP 區分方法

連上伺服器的最重要部分是伺服器的 IP 與 Port(連接埠),而在 IP 的部分可概略分為區域 IP 與公開 IP。

區域 IP 通常為 192.168、10.0 開頭,區域 IP 常用於區域網路內部的 IP 分配,如:Wi-Fi、有線分享器,區域 IP 是無法直接從外部連上,除非在路由器上設定連接埠轉送。

公共 IP 就是單一電腦在網際網路上有自己的 IP,只要其他人有你的 IP,就可以直接連上你的電腦。

如果你的電腦有公共 IP 的,那麼直接把 IP 和連接埠直接傳給其他人,那麼別人就可以加入你的伺服器了。

虛擬區域網路

虛擬區域網路的運作原理是將加入這個區域網路的每個人分配一個虛擬 IP,透過服務商的伺服器轉送資料,所以如果使用虛擬 IP 同樣也可以讓朋友、他人連上 Minecraft 伺服器。

最廣為人知的是 Hamachi,免費版一個群組最多可以容納 5 人。

一般情況下使用虛擬 IP 不用更動 server.properties 裡的 server-ip,如果一直遇到無法連線的情形時,可以試著將 server-ip 更改為虛擬 ip 試試看。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端