mcbe-anti-cheat(Minecraft Bedrock 用アンチチート:Rubedo)

Security

概要

Rubedo(mcbe-anti-cheat)は、Minecraft Bedrock Edition 1.19以降を対象としたアンチチート・アドオンです。ハッククライアント(Horion、Toolbox 等)や不正なスクリプトによるアイテム改竄、ヌーク行為、サーバークラッシュやグリーフ行為を検出・防止することを目的に設計されています。TypeScriptで実装されており、配布パックをワールドやRealmsに適用した後、オペレーターが専用コマンドで初期設定を行うことで動作を開始します。権限管理やパフォーマンス調整のためのツールも備え、現場での運用を考慮した設計になっています。

GitHub

リポジトリの統計情報

  • スター数: 35
  • フォーク数: 3
  • ウォッチャー数: 35
  • コミット数: 30
  • ファイル数: 17
  • メインの言語: TypeScript

主な特徴

  • Horion、Toolbox 等の代表的なハッククライアントに対する検出・防御機能を実装
  • 不正アイテム、ヌーカー、クラッシュ・グリーフ行為に対する自動対処(検出・無効化・ロールバック等)
  • Realms/サーバー/シングルワールドに対応する配布用パック構成と、オペレーター用コマンドでの設定
  • TypeScriptでソース管理、ビルドスクリプトでパッケージ化(運用しやすいワークフロー)

技術的なポイント

RubedoはTypeScriptで管理されたソースを、Minecraft Bedrock用のアドオン/スクリプトに変換して配布するワークフローを持ちます(リポジトリに build.ts があり、ビルド・パッケージ化を想定)。アンチチートの検知ロジックは、ゲーム内イベントやプレイヤー状態、アイテムデータの不整合を基にしたヒューリスティック検出と、問題が発生した際の自動修復(アイテムの削除、変更のロールバック、プレイヤーのキックや権限剥奪等)を組み合わせる設計です。Realmsやサーバー環境で動作させるために、パフォーマンスを考慮した軽量な監視や頻度調整、管理者向けのトグル・許可リスト機能を提供します。

実装上の注意点としては、クライアント側の改変(表示や入力)自体を完全に防ぐことは困難なため、サーバー/ワールド側で発生する影響(不正アイテム、異常ブロック変化、過剰なエンティティ生成など)を検出する防御を中心に据えている点です。TypeScriptでの開発は、静的解析やモジュール化を容易にし、ビルドスクリプトでアセット(manifest、スクリプト、リソース)を最終パッケージにまとめることで導入を簡便にしています。ログ出力や管理コマンドにより運用時の調査やチューニングも行いやすく設計されています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .mcattributes: file
  • .vscode: dir
  • LICENSE: file
  • README.md: file
  • build.ts: file

…他 12 ファイル

(補足)typical な Bedrock アドオン構成では manifest.json、scripts/ または functions/、resourcepack/ 等が含まれ、build.ts は TypeScript をコンパイルしてこれらのパッケージを生成する役割を持ちます。リポジトリ内の README に導入手順やオペレーター用コマンドの説明があるため、導入前に目を通すことを推奨します。

まとめ

現場運用に配慮した、実用的なBedrock向けアンチチート実装です。

リポジトリ情報:

READMEの抜粋:

Rubedo Version 3.0.0-beta

Welcome to Rubedo, an anti-cheat designed to protect your world from cheaters. Rubedo is designed to be smarter than cheaters by giving users access to advanced tools to protect their world from hacked items, nuker, crashes, griefing, and so much more. Rubedo makes it possible to protect permissions and manage performance with the click of a button!

Getting Started:

Upon applying the pack and joining the world the operator should run the command below which gives…