跳到正文
本頁目錄

模組設定

讀完本頁,你就能在介面裡修改模組的設定,不必去找它們的檔案,也不必手寫 JSON。

「模組設定」頁列出已安裝模組的設定檔。JSON 檔案會展開成一棵由名稱和值組成的樹,你可以逐個修改;其他格式的檔案只顯示內容,需要用文字編輯器修改。

頁面列出哪些檔案

每個模組在伺服器裡都有自己的資料夾 mods/<mod>/,其中 <mod> 是模組的名稱。對每個已安裝的模組,lip 列出:

  • mods/<mod>/config/ 及其子資料夾裡的所有檔案;
  • 如果一個都沒有:直接放在 mods/<mod>/ 裡的 .json、.ini、.toml、.yml、.yaml 檔案(manifest.json 除外),以及 mods/<mod>/data/config.json。

大多數模組在伺服器第一次帶著它啟動時寫出自己的設定檔。lip 不會建立設定檔。

檔案清單

開啟頁面:在側邊欄移到模組設定,按 Enter。

「模組設定」頁:左邊的檔案清單有六行,右邊開啟的是 GMLIB 的檔案,裡面有三個值。

  1. 一個檔案:模組資料夾的名稱,後面是檔案在該資料夾裡的路徑。有多個檔案的模組佔多行。
  2. 沒有設定檔的模組,顯示為灰色。
  3. 選取的檔案。頁面開啟時選取清單裡的第一個檔案。

用 ↑ ↓ 移動,右邊會跟著變化。清單太窄、放不下長名稱時,名稱的末尾會被截掉;右邊的標題是模組名,第一行是檔案的路徑。

沒有檔案的模組沒有內容可顯示:

清單裡選取了 LegacyRemoteCall。右邊寫著「沒有設定檔,啟動伺服器後可能會產生。」

  1. lip 在它查找的位置沒有找到這個模組的檔案。伺服器下次啟動時,模組可能會寫出一個。

如果已安裝的模組都沒有自己的資料夾,或者根本沒有安裝模組,頁面會顯示沒有可設定的模組。 在取得模組上按 Enter 可以開啟取得模組頁。

沒有模組的伺服器的「模組設定」頁:一句「沒有可設定的模組。」和「取得模組」按鈕。

編輯 JSON 檔案

在檔案上按 Enter 或 → 進入它。頁面一次顯示檔案的一層:每個名稱一行,後面是它的值。

LeviOptimize 的檔案,位於「features」這一組裡:有 3 項的 optPushEntity 組,以及五個為 true 的值。

  1. 模組及其檔案。
  2. 檔案裡的值,一次顯示一層。
  3. 儲存和捨棄:儲存之前不會寫入任何內容。
顯示為含義按 Enter
{…} 3 項一組帶名稱的值(JSON 物件)。開啟它。
[…] 1 項一列值(JSON 陣列)。開啟它。
[x] true、[ ] false真或假。切換;按 Space 也可以。
3、0.05數字。輸入新的數字。
"en"文字。輸入新的文字。
null空值。輸入任意類型的值。

各行下面的一行文字說明所選行的值是哪一類。

在檔案裡移動

  1. 移到一個組或一個清單上,按 Enter 開啟。
  2. 按 Esc 或 ← 返回上一層。在最上層按 Esc 回到檔案清單。

在 LeviOptimize 的檔案裡向下走了兩層。第一行是「config/config.json › features › optPushEntity」,下面的行是 enabled、maxPushTimes 和第三個名稱。

  1. 目前位置:檔案,然後是你開啟的每一層。這一行太長時,開頭會換成 …。
  2. 一個真或假的值。
  3. 一個數字。

太長、放不進名稱一欄的名稱會用 … 截斷。

修改值

在數字或文字上按 Enter,會開啟一個帶有目前值的輸入框。輸入新值後按 Enter;按 Esc 關閉輸入框,不作變更。

值的類型不會變。數字只接受數字;文字則是輸入什麼就是什麼,包括空格,所以在文字裡輸入 5,得到的仍是文字 "5"。

def_money 的輸入框,標籤是「數字」,裡面是「a lot」,下面顯示「請輸入數字。」

  1. 這一行的值的類型。
  2. 不接受這個值的原因。改正後再按 Enter。

在真或假的值上,按 Space 或 Enter 立即切換。

修改清單

清單顯示各個值及其序號 [0]、[1]……,最後一行是新增值…。

清單 ignoredDimensions 裡有一個值 "the_end",序號是 0,下面是「新增值…」一行。

  1. 清單中的一個值。
  2. 用來新增值的那一行。

要新增值,在**新增值…**上按 Enter,然後輸入。輸入的內容按 JSON 讀取:42 是數字,true 是真,{"a": 1} 是一個組。不是 JSON 的內容一律當作文字,所以單詞不用加引號。

「新增值」對話方塊只有「值」一個輸入框,裡面是單詞 nether。

新值加在清單末尾。

要修改或移除清單裡的值,在它上面按 Enter。選單裡有編輯…(按值的類型,也可能是切換或開啟)和移除。

序號為 1 的值的選單,有「編輯…」和「移除」兩行。

頁面做不到的事

只有清單可以增減。頁面不能給組新增名稱、移除名稱或改名:檔案裡有哪些名稱由模組決定。需要這樣改時,請用文字編輯器編輯檔案。

version 這一行

很多模組在檔案最上層放一個名為 version 的整數,用來記錄檔案的格式版本。頁面把它顯示為灰色,不允許修改:在這一行按 Enter 沒有反應,下面的一行文字說明了原因。

LeviOptimize 的檔案的最上層。選取的是「version 4」一行,下面的一行文字是「此版本號由模組自行維護。」

  1. 在這一行按 Enter 沒有反應的原因。

儲存或捨棄變更

編輯時不會寫入任何內容。頁面會標出有變更的檔案:

LegacyMoney 的 money.json,其中一個值已被修改。右上角有「未儲存」,清單裡該檔案後面有一個圓點,「儲存」和「捨棄」按鈕變亮。

  1. 第一行右端的未儲存。
  2. 清單裡該檔案後面的圓點 ●(清單放得下時才顯示)。
  3. 現在可以選擇的儲存和捨棄。

儲存的步驟:

  1. 按 Tab,直到焦點落在按鈕上。在最後一行按 ↓ 也會到按鈕。

    焦點在該檔案的「儲存」按鈕上。

  2. 在儲存上按 Enter。lip 寫入檔案,並在右下角顯示已儲存。

    儲存之後的檔案:「未儲存」和圓點都消失了,最下面一行的末尾是「已儲存。」

lip 會重寫整個檔案:值是你改完的樣子,每個名稱留在原來的位置,用四個空格縮進。檔案裡的註釋不會保留。如果檔案在這期間被刪除,lip 不會重新建立它,而是提示檔案已不存在。

捨棄會先詢問,然後重新讀取檔案,你的變更隨之丟棄。

帶著未儲存的變更去別處

一次只能編輯一個檔案。檔案有變更時選擇另一個檔案、前往別的頁面、切換到別的工作區或結束 lip,lip 會問你怎麼處理這些變更。

「未儲存的變更」對話方塊寫著「LeviOptimize · config/config.json」,詢問「要儲存變更嗎?」,有「儲存」「捨棄」「取消」三個按鈕。

按鈕作用
儲存儲存檔案,然後繼續。
捨棄丟掉變更,然後繼續。
取消,或 Esc留在檔案裡,變更保持原樣。

檔案在磁碟上被改動

模組會自己寫設定檔,有些在伺服器執行期間也會寫。如果檔案已經不是 lip 讀到的樣子,儲存時不會不問一聲就覆寫。

「儲存 config/config.json」對話方塊寫著「讀取之後,磁碟上的檔案已被修改。要覆寫嗎?」和「重新讀取會捨棄你的變更。」,有「覆寫」「重新讀取」「取消」三個按鈕。

  1. 覆寫用你的版本覆寫磁碟上的檔案。模組寫入的內容會丟失。
  2. 重新讀取顯示磁碟上現在的檔案。你的變更會丟失。
  3. 取消是 Enter 預設按下的按鈕,什麼也不寫,你的變更仍留在螢幕上。

只能檢視的檔案

不是 JSON 的檔案顯示為文字,上面有一行唯讀,請用文字編輯器修改。 請在 lip 之外用文字編輯器修改它。

LegacyMoney 的 ranking.yml 顯示為文字,上面一行是「唯讀,請用文字編輯器修改。」

不是有效 JSON 的 .json 檔案也這樣顯示,上面是唯讀:不是有效的 JSON。 和 JSON 讀取器給出的說明。註釋(// 和 /* */)以及最後一個值後面的逗號不會讓檔案無效:lip 能讀。

LegacyMoney 的 money.json 顯示為文字。上面一行以「唯讀:不是有效的 JSON。」開頭,後面用英文說明哪裡有錯。

  1. 檔案不能顯示為樹的原因。JSON 讀取器的說明在任何語言下都是英文。
  2. 出錯的地方,這裡是少了一個冒號。用文字編輯器改正後,重新開啟頁面。

文字比顯示區域長時,按 Enter 進入;用 ↑、↓、PgUp、PgDn、Home、End 捲動,按 Esc 回到清單。

伺服器執行期間

與遊戲設定頁不同,這個頁面在伺服器執行期間也可以修改和儲存。這時頁面最後一行會顯示變更可能需重新啟動伺服器才生效。:很多模組只在伺服器啟動時讀取設定。

伺服器執行期間的「模組設定」頁。頁面最後一行是「變更可能需重新啟動伺服器才生效。」,最下面一行的末尾是「已儲存,可能需重新啟動伺服器。」

  1. 提示,伺服器執行期間一直顯示。
  2. 這期間儲存後的提示。

變更是否需要重新啟動取決於模組。拿不準時,到伺服器頁重新啟動伺服器。

在窄終端機裡

終端機太窄(大約不足 90 列)、無法並排顯示清單和檔案時,頁面一次只顯示其中一個。

  1. 檔案清單佔滿頁面。在檔案上按 Enter。

    72 列終端機裡的「模組設定」頁:只顯示檔案清單,側邊欄顯示圖標。

  2. 檔案佔滿頁面,第一行是模組和檔案的名稱。在最上層按 Esc 回到清單。

    同一個終端機裡開啟了 GMLIB 的檔案:第一行是「GMLIB · config/config.json」,後面是它的三個值。

其餘操作與寬終端機相同。關於窄終端機,小終端機裡有更多說明。