5 分鐘架設 Minecraft 伺服器,適用於原版、craftbukkit、spigot
架設 Minecraft 伺服器不難,本文採用逐步教學法以及圖文的方式解說架設步驟,此方法適用於大部分的伺服器架設,如:官方版、craftbukkit、spigot,文中也會一併介紹若使用虛擬區域網路(如:Hamachi)該如何設定,以及伺服器各項設定的解說。
準備架設 Minecraft 伺服器
下載必要的檔案
在 Minecraft 官網就可以下載到最新版的伺服器架設檔案。進入 Minecraft 官網上方選單的右手邊有個選單,選單點開後有試玩並下載。在下方的「與好友一起遊玩」那兒有「下載 MINECRAFT:JAVA 版伺服器軟體」
尋找儲存位置
開一個資料夾將方才已下載的 server.jar 檔案移動至此,因為執行伺服器啟動檔案(server.jar)時會產生很多檔案,包括:主世界、地域世界、終界資料夾、伺服器設定檔、banned 清單、白名單等,所以用單一的資料夾將所有伺服器的檔案統一管理,不論在未來的檔案管理上,還是檔案搬遷上都會很方便。
撰寫啟動指令
在 Windows 或有圖形介面的 Linux 底下可以直接用執行應用程式的方式執行伺服器,可是我建議使用指令的方式執行、啟動伺服器,因為使用指令時能傳入更多自訂的參數,達到控制記憶體使用量、增加執行效率等。
最基本的指令如下:
java -Xmx1024M -Xms1024M -jar server.jar nogui
- 作業系統是 Windows 請打開內建的記事本或其他的文字編輯器(不可以是 word),接著在記事本的第一行將上方的指令打入後,另存新檔為 start.bat。
- 作業系統是 Linux 步驟同上,但是檔名為 start.sh。
- 作業系統是 Mac OS 的操作方法應該跟 Linux 一樣。
- 指令中的 -Xmx 是用於指定伺服器最大可使用的記憶體大小
- 指令中的 -Xms 是用於指定伺服器最小可使用的記憶體大小
- 指令中的 nogui 是指執行時不開啟 GUI 介面。
啟動伺服器
執行剛剛的啟動指令檔(start.bat 或 start.sh),接著在資料夾內產生一個檔案:eula.txt。
合約書:eula.txt
架設 Minecraft 伺服器必須同意 Mojang 對伺服器的規範,從合約書中簡單來說:
- 不可以擅自修改伺服器檔案以及將其作為商業販售
如果在意法律問題的話建議詳細的閱讀 Mojang 的合約書。同意其合約書的話要在 eula.txt 中將 eula=false 改成 eula=true。代表你同意合約書的內容。接著再次執行指令檔時,伺服器就會正常的啟動了。
伺服器設定檔
Minecraft 伺服器設定檔為 server.properties,預設的設定項有 43 項,每一項的格式為:屬性=值
詳細內容表列如下:
屬性 | 資料型態 | 預設值 | 描述 |
---|---|---|---|
allow-flight | bool | false | 是否允許玩家在安裝有飛行功能的模組情況下在生存模式下飛行。若值為 false,懸空超過 5 秒的玩家會被踢出伺服器。 |
allow-nether | bool | true | 是否允許玩家進入地獄。 若值為 false,地獄傳送門不會被開啟。 |
announce-player-achievements | bool | true | 玩家獲得成就時,是否在伺服器中進行顯示。true 為可見,false 為不可見。 |
difficulty | 整數(0~3) | 1 | 定義伺服器的遊戲難易度。0~3 分別為:和平、簡單、普通、困難。 |
enable-query | bool | false | 是否允許透過GameSpy4通訊協定取得伺服器狀態。 |
enable-rcon | bool | false | 是否允許遠端控制伺服器後台。 |
force-gamemode | bool | false | 是否強制玩家以為預設的遊戲模式進入伺服器。 |
gamemode | 整數(0-3) | 0 | 定義預設遊戲模式。0~3 分別是:生存、創造、冒險、旁觀者。 |
generate-structures | bool | true | 是否在生成地圖時生成建築。即使設為 false,地牢和地獄堡壘仍然會生成。 |
generator-settings | 字串 | 空白 | 自訂平坦世界的生成。 |
hardcore | bool | false | 是否啟用極限模式。 |
level-name | 字串 | world | 此值將作為地圖名稱及其資料夾名。 |
level-seed | 字串 | 空白 | 種子碼。 |
level-type | 字串 | DEFAULT | 定義生成地圖時的地圖類型,參數如下:DEFAULT:預設、FLAT:平坦、LARGEBIOMES:大型生態域、AMPLIFIED:同預設,可是高度增高、CUSTOMIZED:自訂。 |
max-build-height | 整數 | 256 | 玩家在遊戲中能夠建造的最大高度。 |
max-players | 整數(1~2^31-1) | 20 | 最大玩家數量。OP 登入時不受此限。 |
max-tick-time | 整數(0~2^63 - 1) | 60000 | 設定每個tick花費的最大毫秒數。 |
max-world-size | 整數(1-29999984) | 29999984 | 設定世界邊界的最大半徑值,單位為方塊。 |
motd | 字串 | A Minecraft Server | 伺服器名稱下方的描述。 |
network-compression-threshold | 整數 | 256 | 如果封包大小大於此值則會進行壓縮。0 為全部壓縮、-1 為全部不壓縮。建議值在 64~1500 之間。 |
online-mode | bool | true | 是否開啟正版驗證。 |
op-permission-level | 整數(1~4) | 4 | 設定 OP 的權限等級。1:OP 可以無視重生點保護。2:OP可以使用單人遊戲作弊指令並使用指令方塊。3:OP可以使用幾乎所有多人遊戲限定的指令。4:OP可以使用所有指令。 |
player-idle-timeout | 整數 | 0 | 如果不為 0,伺服器將在玩家的空閒時間達到設定的時間(單位為分鐘)時將玩家踢出伺服器。 |
prevent-proxy-connections | bool | false | 如果伺服器發送的和Mojang的驗證伺服器的ISP/AS不一樣,玩家將會被踢出。即防止透過 proxy 的登入連線。 |
pvp | bool | true | 是否開啟 PvP。 |
query.port | 整數(1~65534) | 25565 | 設定監聽伺服器的埠號。 |
rcon.password | 字串 | 空白 | 設定遠端控制的密碼。 |
rcon.port | 整數(1~65534) | 25575 | 設定遠端控制的埠號。 |
resource-pack | 字串 | 空白 | 資源包的 URL。 |
resource-pack-sha1 | 字串 | 空白 | 資源包的 SHA-1 值,必須為小寫十六進位,用於驗證資源包的完整性。 |
server-ip | 字串 | 空白 | 指定伺服器 IP。 |
server-port | 整數(1~65534) | 25565 | 指定伺服器埠號。 |
snooper-enabled | bool | true | 是否允許伺服器定期發送統計數據到http://snoop.minecraft.net. |
spawn-animals | bool | true | 是否生成動物。 |
spawn-monsters | bool | true | 是否生成怪物。 |
spawn-npcs | bool | true | 是否生成村民。 |
spawn-protection | 整數 | 16 | 重生點保護半徑(不包括重生點那格,區域為正方形)。邊長公式:2n + 1 |
use-native-transport | bool | true | 是否使用針對 Linux 平台的資料包收發最佳化,此選項僅會在 Linux 平台下生成。 |
view-distance | 整數(3~15) | 10 | 設定伺服器傳送給玩家的各個方向上的區塊數量(以玩家為中心的半徑),等同於伺服器的最大視野距離。 |
white-list | bool | false | 是否開啟白名單。 |
enable-command-block | bool | false | 是否啟用指令方塊 |
enforce-whitelist | bool | false | 是否在伺服器上強制執行白名單。當啟用後,不在白名單中的玩家將在伺服器重新載入白名單後從伺服器踢出。 |
以上的設定請依照自己需求做設定喔!
連上伺服器
連上伺服器的最重要部分是伺服器的 IP 與 Port(連接埠),而在 IP 的部分可概略分為區域 IP 與公共 IP。區域 IP 通常為 192.168 開頭,區域 IP 常用於區域網路內部的 IP 分配,如:Wi-Fi、有線分享器,區域 IP 是無法直接從外部連上,除非在路由器上設定連接埠轉送;公共 IP 就是單一電腦在網際網路上有自己的 IP,只要其他人有你的 IP,就可以直接連上你的電腦。
如果你的電腦有公共 IP 的,那麼直接把 IP 和連接埠直接傳給其他人,那麼別人就可以加入你的伺服器了。
因為有些人對電腦不熟,所以不建議自行進入路由器更改設定,此時虛擬區域網路就派上用場了,最為人所知的應該是 Hamachi,虛擬區域網路的運作原理是將加入這個區域網路的每個人分配一個虛擬 IP,所以如果使用虛擬 IP 同樣也可以讓朋友、他人連上 Minecraft 伺服器。
一般情況下使用虛擬 IP 不用更動 server.properties 裡的 server-ip,如果一直遇到無法連線的情形時,可以試著更改 server-ip 看看有沒有改善。