轉移至 Sponge
本節內容是為了協助伺服器擁有者從其他的伺服器平台轉移至 Sponge。
警告
請在轉移之前先備份您的伺服器檔案。如果有什麼萬一,至少還有備份!
轉移至 Sponge
如要轉移至 SpongeForge 或 SpongeVanilla,請看下方的章節。大部份的說明兩者皆適用,不同處會另外說明。
從 CraftBukkit 或 Spigot 轉移
備註
Spigot 是 CraftBukkit 的衍生版本。
世界
Forge,同理與 SpongeForge(還有 SpongeVanilla),都和原版的 Minecraft 使用相同的世界結構。原版的 Minecraft 將地獄(通常是 world_nether
)與終界(通常是 world_the_end
)維度放在 world
資料夾。然而 Bukkit 和 Spigot 並不是使用這套系統來儲存世界,因此必須進行轉換。
SpongeForge 與 SpongeVanilla 提供了一個完全自動化的轉換腳本,協助你轉換你的世界。這是它的運作方式:
關閉你的 Bukkit 或 Spigot 伺服器並備份整個資料夾。
在舊伺服器的資料夾裡安裝 SpongeForge 或 SpongeVanilla,並移除 Bukkit 或 Spigot 的 jar 檔。如果你不確定如何正確地安裝 SpongeForge 或 SpongeVanilla,請參閱這裡。
啟動 Sponge 伺服器,轉移工具將會自動載入。
轉移工具將檢視
bukkit.yml
中一個名為world-container
的設定,並搜尋世界的資料夾以進行轉移。如果這些檔案不存在(或由於什麼原因導致無法讀取),那轉移工具將會使用伺服器的root
資料夾(因為這是 CraftBukkit 的預設值)。接著將會進行轉移。在此同時,世界會從我們稱為
world container
的位置複製到以 server.properties 檔案中的level-name
所命名的資料夾。請注意,在world container
中的原始檔案在轉移過程會保持不變,也就是說產生了一個副本。Bukkit 將資料放在奇怪的地方(並賦予其詭異的名字),因此必須套用兩項重要的修正。請記住,這些修正是基於假設(根據 Bukkit 的結構)。
第一個修正是將所有以
level-name
屬性開頭並以原版維度名稱結尾(_nether
/_the_end
)的任何資料夾分別重新命名為DIM-1
與DIM1
。第二個修正是將 Bukkit 原版地獄與終界的
region
資料進行轉移。Bukkit 分別將他們放到DIM-1\region
與DIM1\region
,而原版和 Forge 期望將region
放到世界資料夾結構的根目錄 。
轉移工具無法提供所有所需的設定值。也就是說,你必須手動修改幾個參數以使得世界能夠被 SpongeForge 或 SpongeVanilla 正確載入。強烈建議使用世界管理插件來設定正確的參數與實際載入世界。
備註
正如已經指出的那樣,我們基於幾個假設來轉移你的世界。因此 Sponge 並不會直接載入這些世界,你需要安裝一個插件來處理這件事。
如果一切正常,轉移工具所產生的輸出應該會像這樣:
[17:32:29] [Server thread/INFO] [Sponge]: Checking for worlds that need to be migrated...
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_lol] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_lol] from [.] to [.\world\world_lol]
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_nether] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_nether] from [.] to [.\world\DIM-1]
[17:32:29] [Server thread/INFO] [Sponge]: Migrating [world_the_end] from [.].
[17:32:29] [Server thread/INFO] [Sponge]: Migrated world [world_the_end] from [.] to [.\world\DIM1]
[17:32:29] [Server thread/INFO] [Sponge]: [3] worlds have been migrated back to Vanilla's format.
當一切完成後,你應該會得到能以 Sponge 載入的所有世界副本。為防萬一,原本的世界檔案會保留在原處。
伺服器與世界設定檔案
CraftBukkit 與 Sponge 皆共享由原版 Minecraft 提供的檔案。如果你安裝的 CraftBukkit 中已經存在這些檔案,它們將能夠再次被 Sponge 利用。
server.properties
banned-ips.json
banned-players.json
ops.json
usercache.json
whitelist.json
以下檔案只可供 CraftBukkit 使用,而 Sponge 用不到它們,可以移除:
bukkit.yml
commands.yml
help.yml
permissions.yml
想要從 Spigot 轉移的使用者可能會希望能將 spigot.yml
與 Sponge 中的 global.conf
相互對照。 spigot.yml
中的某些鍵在 global.conf
中有其對應項,可能需要複製同時存在於兩個檔案中的所有鍵值。
插件
Sponge 並未原生支援 Bukkit 插件。然而有些社群成員正在利用特殊的 Sponge 插件重新實作 Bukkit API,或許能讓 Bukkit 的插件作用於 Sponge 伺服器。而這個插件目前還沒有發佈的預定。
Ore 是 Sponge 官方的插件查詢資料庫,建議從 Ore 中下載所有的 Sponge 插件。在查找 Bukkit 插件的代用品時,請牢記以下幾點:
並非所有的 Bukkit 開發者都選擇將插件移植到 Sponge。然而隨著時間的推移,其他人也可能會建立一個合適的替代品。
並非所有從 Bukkit 移植的 Sponge 插件都能自動轉換設定檔。能否自動轉換設定檔取決於每個插件開發者。
有些從 Bukkit 移植的 Sponge 插件可能會有功能上的變化,甚至可能使用不同的設定結構。
從 Canary 轉移
世界
Forge 與 SpongeForge(還有 SpongeVanilla),都和原版的 Minecraft 使用相同的世界結構。原版的 Minecraft 將地獄(通常是 world_nether
)與終界(通常是 world_the_end
)維度放在 world
資料夾。然而 Bukkit 和 Spigot 並不是使用這套系統來儲存世界。
Canary 把地獄和終界放在 world
資料夾外,如果你還想保留它們的話,Canary 提供一個簡單將世界轉換成與 Sponge 相容的結構的指令:/makevanilla
。轉換成功的話,世界檔案會放在 vanilla
資料夾內。
伺服器與世界設定檔案
Sponge 沿用了許多原版 Minecraft 的設定檔,像是 server.properties
等,不過 Canary 並非如此,它唯一沿用的檔案是 usercache.json
,因此只有這個檔案能夠繼續被 Sponge 利用。
即使如此還是能手動轉換部分 Canary 設定檔供 Sponge 使用,可轉換的檔案列表如下。
Canary 檔案 |
對應的 Sponge 檔案 |
---|---|
server.cfg <world>_<dimension>.cfg |
server.properties |
<world>_<dimension>.cfg |
global.conf <dimension>/dimension.conf |
ops.cfg |
ops.json |
db.cfg |
無對應檔案 |
motd.txt |
無對應檔案 |
插件
SpongeVanilla 和 SpongeForge 都沒有對 Canary 插件提供原生支援。未來可能會以特殊 Sponge 插件的形式重新實作 Canary API。
Ore 是 Sponge 官方的插件儲存庫,建議僅從 Ore 中下載的 Sponge 插件。在尋找 Canary 插件的替代品時,請注意以下幾點:
並非所有的 Canary 開發者都想將插件移植到 Sponge。然而隨著時間的推移,其他人可能也會製作適合的替代品。
並非所有從 Canary 移植的 Sponge 插件都能自動轉換設定檔。能否自動轉換取決於插件開發者是否打算實作這個功能。
某些從 Canary 移植的 Sponge 插件可能會有功能上的變化,甚至可能使用不同的設定檔結構。
從 Forge 轉移
從普通的 Forge 伺服器轉移至 SpongeForge 或 SpongeVanilla 十分簡單,且不需太多準備工作。
轉移至 SpongeForge
請先確保你的伺服器正在使用相容於 SpongeForge 的 Forge 版本,你可以在 Forge Downloads 找到建議版。如果你還有其他模組,也得一起更新。
準備好安裝 SpongeForge 後,請進行以下步驟:
如果你的伺服器還在開啟狀態,請停止伺服器。
從 Sponge 網站上下載 SpongeForge,然後從 MinecraftForge 上下載 Forge。
把
SpongeForge.jar
放進伺服器目錄中的mods
資料夾。大功告成,啟動伺服器吧!
備註
如果伺服器上只有安裝 SpongeForge 一個模組的話,玩家們就能使用原版客戶端進行遊戲。如果有其他的模組,可能玩家也得安裝才能進入伺服器。
遷移到 SpongeVanilla
警告
如果選擇轉移至 SpongeVanilla 的話,會遺失所有 Forge 模組的資料、方塊和實體,因為 SpongeVanilla 無法支援 Forge 模組。在選擇要使用 SpongeForge 還是 SpongeVanilla 時請考慮這點。
轉移過程幾乎和上述相同:
如果你的伺服器還在開啟狀態,請停止伺服器。
下載 SpongeVanilla,然後從 Mojang 官網上下載原版伺服器。
把世界和設定檔放在伺服器資料夾中。
透過執行
spongevanilla.jar
以啟動伺服器。
從原版轉移
從原版 Minecraft 伺服器轉移到 Sponge 很簡單,因為 Forge、SpongeForge 和 SpongeVanilla 一樣都使用跟原版 Minecraft 相同的世界結構。Sponge 還使用與原版相同的設定檔,像是 server.properties
等。
首先你該選擇要使用 SpongeForge 還是 SpongeVanilla 。
備註
只要你 SpongeForge 伺服器不安裝會修改客戶端的模組,兩種 Sponge 實作都能支援原版客戶端。
如果你的伺服器還在開啟狀態,請停止伺服器。
下載 SpongeVanilla 或 SpongeForge。
把世界和設定檔放在伺服器資料夾中。
啟動你的新伺服器。
安裝 Sponge
位於 安裝 SpongeForge 以及 安裝 SpongeVanilla 中的指南提供了轉換至 Sponge 的安裝說明。