CoreProtect

一般解放コマンド


調査モードを有効/無効にする。

/co inspect
/co i
  • パンチしたブロックや空間の操作ログを確認できます。
  • 右クリック:対象ブロックのログを確認する。
  • 左クリック:対象空間のログを確認する。
  • 調査モード中は、ブロックの設置や破壊は行えません。


運営用コマンド


釈放やunbanの可能性もあるため、基本的には明らかな荒らしにのみ適用して下さい。
もしくは、適用範囲を限定して実行して下さい。


自身から半径5ブロックの操作ログを検索する。

/co near



指定したパラメータに該当する操作ログを検索する。

/co lookup [パラメータ]
/co l



指定したパラメータに該当する操作ログの変更をロールバックする。

/co rollback [パラメータ]
/co rb



指定したパラメータに該当する操作ログにロールバックを取り消す。

/co restore [パラメータ]
/co rs



直前のロールバック/リストアを取り消す。

/co undo



パラメータ


パラメータ意味説明
uuserユーザー名u:kubotan、u:#enderman、u:#creeper、u:#lava、u:#TNT...など
rradius半径、ワールド等r:10(半径10ブロック)、r:#world、r:#WE(ワールドエディット選択範囲)...など
ttime時間t:1s(1秒)、t:1m(1分)、t:1h(1時間)、t:1d(1日)、t:1w(1週間)...など
aaction検索する行動の種類a:行動リスト
bblocks検索するブロックIDb:IDリスト
eexclude除外するブロックIDe:IDリスト


  • #:ハッシュタグ

    #count   検索に該当するログの数を表示

    #preview  ロールバック/リストアをプレビュー

    #verbose  ロールバック/リストア中の追加情報を表示

    #silent   ロールバック/リストア中の追加情報を非表示

行動


行動説明
a:blockブロックの設置/破壊
a:+blockブロックの設置
a:-blockブロックの破壊
a:chatチャット
a:clickクリック(ドアの開閉やレバーなど)
a:commandコマンド
a:containerチェストなどからのアイテムの取り出しや収納
a:+containerチェストなどからのアイテムの収納
a:-containerチェストなどからのアイテムの取り出し
a:inventoryitems dropped or picked up by players
a:+inventoryitems picked up by players
a:-inventoryitems dropped by players
a:itemitems dropped, picked up, taken from, or put in chests
a:+itemitems picked up or put in chests
a:-itemitems dropped or taken from chests
a:killmob/動物の殺害
a:sessionプレイヤーのログイン/ログアウト
a:+sessionプレイヤーのログイン
a:-sessionプレイヤーのログアウト
a:signmessages written on signs
a:usernameユーザーネームの変更


使用例


指定した範囲をロールバックします。

/co rollback u:[playername] t:[timerange] r:[placerange]



ワールド全体に対して、プレイヤー「xX_orewa_arasi_da_Xx」の所業を1日前に戻します。

/co rollback u:xX_orewa_arasi_da_Xx t:1d r:#global



半径10ブロックに対して、プレイヤー「xX_orewa_arasi_da_Xx」の所業を1分前に戻します。

/co rollback u:xX_orewa_arasi_da_Xx t:1m r:10



ロールバックの取消し

/co restore u:xX_orewa_arasi_da_Xx t:1m r:10



kubotanの100日前までのworldでのかぼちゃの収穫ログを表示

/co lookup u:kubotan t:100d r:#world a:-block b:pumpkin


  • sqlite3で直接見る
SELECT
  DATETIME(co_command.time, 'unixepoch', '+9 hours')
  , * 
FROM
  co_command 
WHERE
  co_command.user = (SELECT co_user.id FROM co_user WHERE co_user.user = 'kubotan');
SELECT
  DATETIME(co_block.time, 'unixepoch', '+9 hours')
  , co_world.world
  , co_block.x
  , co_block.y
  , co_block.z
  , CASE
    WHEN co_block.action = 1
      THEN 'placed'
    WHEN co_block.action = 0
      THEN 'broke'
    ELSE co_block.action
    END
FROM
  co_block
  , co_world
  , co_material_map
WHERE
  co_block.user = (
    SELECT
      co_user.id
    FROM
      co_user
    WHERE
      co_user.user = 'kubotan'
  )
  AND co_block.type = co_material_map.id
  AND co_block.wid = co_world.id
  AND STRFTIME('%s', '2021-08-17 00:00:00', 'utc') <= co_container.time 
  AND co_container.time <= STRFTIME('%s', '2021-08-17 23:59:59', 'utc')
ORDER BY
  co_block.time DESC;
SELECT
  DATETIME(co_block.time, 'unixepoch', '+9 hours')
  , co_world.world
  , co_block.x
  , co_block.y
  , co_block.z
  , CASE
    WHEN co_block.action = 1
      THEN 'placed'
    WHEN co_block.action = 0
      THEN 'broke'
    ELSE co_block.action
    END
FROM
  co_block
  , co_world
WHERE
  co_block.user = (
    SELECT
      co_user.id
    FROM
      co_user
    WHERE
      co_user.user = 'kubotan'
  )
  AND co_block.type = (
    SELECT
      co_material_map.id
    FROM
      co_material_map
    WHERE
      co_material_map.material = 'minecraft:item_frame'
  )
  AND co_block.wid = co_world.id
ORDER BY
  co_block.time DESC;
SELECT
  DATETIME(co_container.time, 'unixepoch', '+9 hours')
  , co_world.world
  , co_container.x
  , co_container.y
  , co_container.z
  , CASE
    WHEN co_container.action = 1
      THEN 'added'
    WHEN co_container.action = 0
      THEN 'removed'
    ELSE co_container.action
    END
  , co_material_map.material
  , co_container.amount
FROM
  co_container
  , co_world
  , co_material_map
WHERE
  co_container.user = (
    SELECT
      co_user.id
    FROM
      co_user
    WHERE
      co_user.user = 'kubotan'
  )
  AND co_container.type = co_material_map.id
  AND co_container.wid = co_world.id
  AND STRFTIME('%s', '2021-08-17 00:00:00', 'utc') <= co_container.time 
  AND co_container.time <= STRFTIME('%s', '2021-08-17 23:59:59', 'utc')
ORDER BY
  co_container.time DESC;
SELECT
  DATETIME(co_item.time, 'unixepoch', '+9 hours')
  , co_world.world
  , co_item.x
  , co_item.y
  , co_item.z
  , co_user.user
  , CASE
    WHEN co_item.action = 3
      THEN 'picked'
    WHEN co_item.action = 2
      THEN 'dropped'
    ELSE co_item.action
    END
  , co_material_map.material
  , co_item.amount
FROM
  co_user
  , co_item
  , co_world
  , co_material_map
WHERE
  co_item.user IN (
    SELECT
      co_user.id
    FROM
      co_user
    WHERE
      co_user.user = 'kubotan'
    OR
      co_user.user = 'hogehoge'
  )
  AND co_item.type = co_material_map.id
  AND co_material_map.material = 'minecraft:rose_bush'
  AND co_item.wid = co_world.id
  AND STRFTIME('%s', '2021-08-17 15:00:00', 'utc') <= co_item.time
  AND co_item.time <= STRFTIME('%s', '2021-08-17 17:00:00', 'utc')
  AND co_item.user = co_user.id
ORDER BY
  co_item.time DESC;