跳轉至
伺服器版本1.21.x · paper
📥 取得模組CurseForgeGitHub

CoreProtect — 完整教學#

適用版本:CoreProtect CE 23.2 | 平台:Paper / Spigot / Folia 1.21.x


目錄#

  1. 安裝與設定
  2. 基本使用:檢查與查詢
  3. 回滾操作
  4. 進階篩選技巧
  5. 伺服器管理設定

安裝與設定#

前置需求#

  • Paper / Spigot 1.21.x(或 Folia / Purpur)
  • Java 17 或以上
  • 如使用 MySQL:已建立的 MySQL 5.7+ 或 MariaDB 10.3+ 資料庫

安裝步驟#

將 jar 放入伺服器根目錄下的 plugins/ 資料夾:

安裝目錄結構:servers/plugins/CoreProtect-CE-23.2.jar

  1. Modrinth 下載 CoreProtect-CE-23.2.jar(wiki)
  2. 將 jar 複製到伺服器的 plugins/ 目錄。(wiki)
  3. 啟動或重啟伺服器,CoreProtect 會自動生成 plugins/CoreProtect/config.yml(wiki)
  4. 確認控制台出現以下訊息代表安裝成功:需人工實測
[CoreProtect] CoreProtect 23.2 by Intelli has been enabled!
[CoreProtect] Using SQLite for data storage.

基礎設定(SQLite,適合大多數情況)#

CoreProtect 預設使用 SQLite,無需額外設定即可運作。開啟 plugins/CoreProtect/config.yml 確認以下設定:(wiki)

use-mysql: false
table-prefix: co_
verbose: true

MySQL 設定(進階)#

如需使用 MySQL,修改 config.yml需人工實測

use-mysql: true
mysql:
  host: localhost
  port: 3306
  database: coreprotect
  username: your_user
  password: your_password

執行 /co reload 套用設定,控制台應顯示 Using MySQL for data storage需人工實測

安裝完成!接著學習如何使用 CoreProtect 的核心功能——檢查與查詢。

基本使用:檢查與查詢#

檢查模式(Inspect Mode)#

檢查模式是最快速了解特定方塊歷史的方法。

啟動檢查模式:

/co inspect

或使用別名:

/co i

執行後,手持任意物品(或空手):

  • 右鍵點擊方塊 — 查看該位置的方塊放置記錄
  • 左鍵攻擊方塊 — 查看該位置的方塊破壞記錄
  • 右鍵點擊容器(箱子等) — 查看容器內物品存取記錄

需人工實測

輸出範例:

----- CoreProtect Lookup Results -----
 2024/01/15 14:32:10 - Griefer123 broke grass_block.
 2024/01/15 14:32:08 - Griefer123 broke dirt.
 2024/01/15 14:30:00 - Steve placed dirt.

再次執行 /co i 即可退出檢查模式。(wiki)

搜尋記錄(Lookup)#

/co lookup 讓你在不回滾的情況下搜尋歷史記錄,常用於確認破壞範圍。

指令格式:

/co lookup -t <時間> [-u <使用者>] [-r <半徑>] [-a <動作類型>]

範例 1:查詢半徑 10 格內過去 2 小時的所有方塊變更

/co lookup -t 2h -r 10 -a block

需人工實測

範例 2:查詢特定玩家的所有動作

/co lookup -t 24h -u Griefer123

(wiki)

翻頁:

搜尋結果以每頁顯示,在聊天框中點擊 [Next Page] 或輸入 /co lookup <頁碼> 瀏覽。需人工實測

時間格式說明#

格式 意義
30s 30 秒前
10m 10 分鐘前
2h 2 小時前
1d 1 天前
1h30m 1 小時 30 分鐘前
2d12h 2 天 12 小時前
熟悉查詢功能後,下一步是學習如何安全地執行回滾。

回滾操作#

回滾(rollback)是 CoreProtect 的核心功能,可將指定範圍恢復到過去的狀態。

重要提示:回滾前建議先用 /co lookup 確認範圍,避免誤操作。

基本回滾流程#

步驟 1:先用 lookup 確認範圍需人工實測

/co lookup -t 2h -u Griefer123 -r 50 -a block

確認結果符合預期後再執行回滾。

步驟 2:執行回滾需人工實測

/co rollback -t 2h -u Griefer123 -r 50 -a block

回滾完成後,CoreProtect 會顯示處理的方塊數量:

[CoreProtect] Rollback completed. 243 block(s) changed.

步驟 3:確認結果需人工實測

在遊戲中前往受影響區域,目視確認回滾是否正確。

回滾後悔藥:Restore(復原)#

如果回滾後發現範圍不對或誤操作,可以使用 /co restore 撤銷回滾:需人工實測

/co restore -t 2h -u Griefer123 -r 50 -a block

Restore 會將剛才回滾的動作重新套用,恢復到回滾前的狀態。

僅回滾特定動作類型#

# 只回滾方塊破壞(保留放置)
/co rollback -t 24h -u Griefer123 -a -block

# 只回滾方塊放置(還原放置,適合清除刷物機等)
/co rollback -t 24h -u Griefer123 -a +block

# 回滾容器(箱子)內物品竊取
/co rollback -t 12h -u Thief -a container

需人工實測

掌握回滾與復原後,接著學習進階篩選技巧以應對複雜情境。

進階篩選技巧#

多使用者同時篩選#

以逗號分隔多個玩家名稱:(wiki)

/co rollback -t 24h -u Griefer1,Griefer2,Griefer3 -r 100

排除特定使用者(-e 參數)#

回滾全部玩家動作但排除特定人:(wiki)

/co rollback -t 2h -r 50 -u # -e TrustedAdmin

-u # 表示所有使用者,-e TrustedAdmin 從結果中排除該玩家。

指定特定方塊類型(-b 參數)#

只回滾特定方塊的變更:(wiki)

/co rollback -t 24h -r 100 -a block -b minecraft:tnt

全圖搜尋(-r #global#

不限制半徑,搜尋整個世界:需人工實測

/co lookup -t 1d -u Griefer123 -r #global

注意:全圖搜尋可能非常慢,建議配合 -a 縮小範圍。

指定世界(-w 參數)#

搜尋特定世界的記錄:(wiki)

/co lookup -t 24h -r 50 -w world_nether -a block

複合條件範例#

# 查詢過去 3 天、下界、半徑 30 格內、TNT 相關的方塊記錄
/co lookup -t 3d -w world_nether -r 30 -a block -b minecraft:tnt

# 回滾 SuspiciousPlayer 過去 12 小時在主世界的所有容器操作
/co rollback -t 12h -u SuspiciousPlayer -a container -r #global -w world

需人工實測

進階篩選讓你精準定位問題。最後,了解日常維護管理設定。

伺服器管理設定#

清除舊日誌(Purge)#

隨著伺服器運行,資料庫會持續增大。建議定期清除超過一定天數的舊日誌。

# 刪除 30 天前的所有記錄
/co purge -t 30d

需人工實測

警告:purge 操作不可逆,被刪除的日誌無法恢復。建議先備份資料庫再執行。

建立定期 Purge 排程#

使用其他插件(如 EssentialsX 的排程功能或 ScriptRunner)在每週固定時間自動執行 purge。或在系統層級用 cron 呼叫 RCON:需人工實測

# 每週日凌晨 3 點透過 RCON 清除 30 天前的日誌
0 3 * * 0 mcrcon -H localhost -P 25575 -p password "co purge -t 30d"

查看系統狀態#

/co status

(wiki)

輸出範例:

[CoreProtect] CoreProtect 23.2 by Intelli
[CoreProtect] ========================================
[CoreProtect] Database: SQLite
[CoreProtect] Database Size: 234 MB
[CoreProtect] Queued Transactions: 0
[CoreProtect] Total Logged Actions: 4,521,832

如果 Queued Transactions 持續偏高(> 1000),代表記錄寫入跟不上,考慮切換至 MySQL 或減少記錄項目。

權限設定建議#

建議使用 LuckPerms 或 PermissionsEx 設定權限。

一般管理員(能查詢與回滾):

coreprotect.inspect
coreprotect.lookup
coreprotect.rollback
coreprotect.restore
coreprotect.status

超級管理員(額外能 purge 與 reload):

coreprotect.*

(wiki)

API 整合#

若其他插件(如 GriefPrevention、WorldGuard)需要整合 CoreProtect 日誌,確保設定中 api-enabled: true(預設值)。(wiki)

CoreProtect API 可讓第三方插件程式化查詢日誌,詳情參閱 CoreProtect API 文件


常見問題#

Q:回滾後世界沒有變化?

A:確認 -r 半徑是否涵蓋受影響區域,或使用 -r #global 再試;也確認 -t 時間設定正確。需人工實測

Q:CoreProtect 讓伺服器 TPS 下降?

A:嘗試在 config.yml 關閉高頻事件記錄(click: falseitem: false),並考慮切換至 MySQL。需人工實測

Q:資料庫檔案很大怎麼辦?

A:執行 /co purge -t 30d 清除舊資料,並評估切換至 MySQL 以獲得更好的資料管理能力。需人工實測

Q:能回滾 TNT 爆炸嗎?

A:CoreProtect 記錄方塊破壞,包括爆炸造成的破壞。使用 /co rollback -t <時間> -a block -b minecraft:air -r <半徑> 可還原被炸掉的方塊(需配合 -u # 包含所有來源)。需人工實測