2016/02/13

【教學】從編譯開始,使用 Spigot 架設 Minecraft 伺服器,延續Bukkit (for Windows)


Spigot (俗稱:水龍頭)是一個架設Minecraft伺服器的一個軟體,他跟官方出的伺服器軟體不一樣的地方在於它可以為伺服器裝上插件(Plugin),穩定性負載性也比較好,還支援多伺服器串接。現在的百人伺服器幾乎都是使用它來架設的喔!現在透過下載、編譯、安裝、設定、控制五個步驟來教個為如何架設自己的伺服器!



一、下載

因為Spigot官方沒有放編譯好的檔案,所以必須自己下載編譯,「BuildTools」是官方提供的編譯工具,需要用git的bash來執行,所以除了下載「BuildTools」外還要安裝「Git」。讀者可以直接使用我提供的連結下載或者自行至官方下在,但基本上是一樣的。

Git:https://git-for-windows.github.io/
BuildTools.jar:https://hub.spigotmc.org/jenkins/job/BuildTools/

不知道BuildTools怎麼下載的請看下圖


二、編譯(Build)

請先安裝Git,安裝步驟這邊就不多做說明了,相信各位都很聰明。


安裝完後請開啟筆記本將下面五行複製進去,儲存成"Build.bat"放在跟BuildTools.jar同一個目錄中,其中1.8.1請改成你要編譯的伺服器版本或者改成latest來編譯最新版本
@echo off
set startdir=%~dp0
set bashdir="C:\Program Files\Git\bin\bash.exe"
%bashdir% --login -i -c "java -jar ""%startdir%\BuildTools.jar"" --rev 1.8.1"
pause


注意:請檢查你的Git安裝目錄是不是這個"C:\Program Files\Git",剛剛安裝預設值64位元就是這個,而32位元在"C:\Program Files (x86)\Git"。





執行Build.bat後如果沒有問題就會看到它在編譯囉,它會下載一些東西所以會比較久。


等它跑完之後就會看到如下圖的文字,其中會有你剛剛設定的版本。

在同一個目錄裡就可以看到編譯完成的spigot-1.8.8.jar囉

三、安裝

現在將剛剛編譯完成的spigot-1.8.8.jar放到你要放伺服器的目錄,並改名成spigot.jar,之後請開啟筆記本將下面三行複製進去,並儲存成Start.bat放置在與spigot.jar同一個目錄中。

@echo off
java -Xms512M -Xmx1024M -XX:MaxPermSize=128M -jar spigot.jar
pause
注意:紅色字要跟剛剛檔名一樣,藍色字可以依照自己設備來做修改,橙色的部分可以改但建議不要動。(Xms 最小記憶體, Xmx 最大記憶體)



第一次執行一定會出現這個,請按任意鍵關閉。


目錄會新增一些東西,請把eula.txt打開


將 false 修改成 true 之後存檔。


再次執行就可以成功開啟囉


如果防火牆擋java的視窗,按"允許存取"就可以了

四、設定


接下來先說明幾個比較重要的目錄及檔案:
logs 記錄檔目錄
plugins 插件安裝目錄
world 預設地圖目錄
world_nether 預設地域地圖目錄
world_the_end 預設終界地圖目錄
banned-ips.json 禁IP的json
banned-players.json 禁玩家的json
ops.json OP的json
permissions.yml 權限設定
spigot.yml Spigot設定
whitelist.json 玩家白名單
server.properties 伺服器設定檔
commands.yml 指令設定擋

這邊推薦一個軟體,可以方便修改設定檔:Notepad++

server.properties伺服器設定檔詳細說明:詳細請洽 中文Minecraft Wiki 或 Spigot Wiki
## 參考中文Minecraft Wiki ##
generator-settings=   #自訂超平坦世界
op-permission-level=4 #OP權限等級 1-無視重生點保護, 2-可以使用 /clear、/difficulty、/effect、/gamemode、/gamerule、/give 以及 /tp 指令,可以編輯指令方塊, 3-可以使用 /ban、/deop、/kick 以及 /op 指令, 4-可以使用 /stop 指令
allow-nether=true     #是否允許地域
resource-pack-hash=   #材質包的hash
level-name=world      #主世界目錄名稱
enable-query=false    #允許使用GameSpy4協議
allow-flight=false    #允許一般玩家使用 /fly
announce-player-achievements=true #玩家獲得成就時伺服器會顯示
server-port=25565     #伺服器埠號
max-world-size=29999984 #世界半徑
level-type=DEFAULT    #生成的世界類型
enable-rcon=false     #允許RCON
level-seed=           #世界種子碼
force-gamemode=false  #強制默認遊戲模式
server-ip=            #伺服器IP
network-compression-threshold=256 #網路傳輸壓縮值
max-build-height=256  #最大建設高度
spawn-npcs=true       #生成NPC
white-list=false      #開啟白名單
spawn-animals=true    #生成動物
hardcore=false        #伺服器極限模式
snooper-enabled=true  #允許發送數據到http://snoop.minecraft.net.
online-mode=true      #開啟正版驗證
resource-pack=        #材質包URL
pvp=true              #允許PVP
difficulty=1          #遊戲難度0-和平 1-簡單 2-普通 3-困難
enable-command-block=false #允許指令方塊(137)
gamemode=0            #默認遊戲模式0-生存 1-創造 2-冒險 3-旁觀
player-idle-timeout=0 #玩家閒置時間(min)
max-players=20        #最大玩家數
spawn-monsters=true   #允許生成怪物
generate-structures=true #允許生成建築
view-distance=10      #玩家可視距離
motd=A Minecraft Server #伺服器資訊


五、控制

指令的部分我只列出幾個基本的,其他更詳細請洽:中文Minecraft Wiki 或 CraftBukkit Wiki 或 Spigot
指令區指令介紹
kill自殺
ban <玩家ID>把一個玩家加入黑名單
ban-ip 把一個IP加入黑名單
banlist [ips]顯示目前的黑名單,若指令加入ips則顯示目前的ip黑名單
kick <玩家ID>踢掉一個玩家
deop <玩家ID>移除一個管理者的權限
op <玩家ID>給一個玩家管理者權限
gamemode <玩家ID> <0>設定一個玩家的遊戲模式(0生存 1創造)
give <玩家ID> <物品ID> <物品數量>給一個玩家道具
help OP ?叫出命令清單
list顯示目前連線的玩家
pardon <玩家ID>在黑名單中移除一個玩家
pardon-ip 在黑名單中移除一個ip
save-all強制伺服器儲存目前狀態至地圖資料夾
save-off讓伺服器不儲存狀態
save-on開啟伺服器儲存狀態
say <要說的話>管理者廣播
stop正常關閉伺服器
time set <參數>設定伺服器的時間(參數=0~24000)
time add <參數>增加伺服器的時間(參數=自訂)
toggledownfall切換天氣(下雨=下雪)
tp
傳送一個玩家至另一個玩家(A傳B)
whitelist add 加入一個玩家至白名單
whitelist remove 移除一個玩家的白名單
whitelist list顯示白名單
whitelist 開啟或關閉白名單(on=開 off=關)
whitelist reload重新載入白名單
xp <玩家ID> <經驗值數量>增加一個玩家的經驗值(0~5000)

13 則留言:

  1. 安裝完後請開啟筆記本將下面五行複製進去,儲存成"Build.bat"放在跟BuildTools.jar同一個目錄中,其中請改成你要編譯的伺服器版本或者改成latest來編譯最新版本。
    是指那裡改?

    回覆刪除
  2. 請問有辦法可以使用1.7.2版本

    回覆刪除
  3. 打開build.bat時,顯示系統找不到指定的路徑

    回覆刪除
  4. bash: java -jar "D:\MYDOC\Desktop\minecraft\server\水桶服\BuildTools.jar" --rev
    1.8.8: No such file or directory
    請按任意鍵繼續 . . .

    怎麼辦

    回覆刪除
    回覆
    1. 把你的水桶服資料夾改成英文或數字
      似乎不支援中文字

      刪除
  5. bash: java -jar "E:\使用者\Trevor\應用程式\Minecraft\Server\Spigot\BuildTools.jar" --rev latest: No such file or directory
    請按任意鍵繼續 . . .

    我也是遇到這個問題ww

    回覆刪除
    回覆
    1. E:\使用者\Trevor\應用程式\Minecraft\Server\Spigot\BuildTools.jar"
      這段不能有中文字 看你放在C 或D都行 路徑不能是中文資料夾

      刪除
  6. 請問 開完服後要怎麼指定自己是op

    回覆刪除