mcpField
S
se-dev

se-dev

github.com/cometworks開発1070 回インストール4 日前に更新
リポジトリ

se-dev について

se-devは、Space Engineers 1向け開発スキル群の入口となるガイドです。スクリプト、Mod、プラグインの方法を整理し、開発者を作成用スキルやゲームコードの参照先へ案内します。

主な機能

  1. 01スクリプト、Mod、プラグインの概要
  2. 02開発目的に応じたスキル選択
  3. 03クライアントとサーバープラグインの手順区分
  4. 04ゲームコードやハンドブックの参照先
  5. 05Graphifyドキュメントへの案内

活用シーン

  1. 01ゲーム拡張の方法を選ぶ
  2. 02Modやプラグイン作業のスキルを選ぶ
  3. 03クライアントまたはサーバー側のコード資料を探す

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/cometworks/skills --skill se-dev

インストール後、Claude Code で/se-devを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

graphify-check.sh
graphify-prepare.sh
GraphifyCheck.bat
GraphifyPrepare.bat
GraphifyPrepare.md
GraphifyUsage.md

詳細

翻訳後に原文が更新されています。最新の内容は原文をご確認ください。

SE Dev — Space Engineers 開発概要

Space Engineers バージョン 1 のみに適用されます。

se-dev-* スキルのエントリーポイント兼目次です。まずこれを読んで全体像を把握してから、タスクに必要な特定のスキルを開いてください。検索やビルド自体は実行せず、実行するスキルを案内します。

ゲームを拡張する 3 つの方法

レイヤー内容実行環境言語の制限スキル
ゲーム内スクリプトプログラマブルブロック(PB)内のコードサンドボックス内でゲームがコンパイルC# 6.0、PB API のホワイトリストse-dev-script
Modワールド/サーバーのコンテンツとスクリプト、Steam Workshopサンドボックス内でゲームがコンパイルC# 7.3、Mod API のホワイトリストse-dev-mod
プラグインHarmony でゲームにパッチを適用するネイティブ DLLサンドボックスなし、完全な .NET制限なし(latestMinor)se-dev-plugin

スクリプトと Mod は API のホワイトリストによる制約を受け、ゲームのサンドボックス内で実行されます。プラグインはサンドボックスなしでネイティブコードを実行でき、何でもできるため、オープンソースで公開され、リリース前にレビューされます。

プラグインの実行先:クライアントとサーバー

プラグインはゲームクライアント、専用サーバー、またはその両方(コードを共有)を対象にします。

ゲームクライアント専用サーバーTorch(レガシー)
ローダーPulsarMagnetarTorch
レジストリPluginHubMagnetarHubtorchapi.net
管理 UIゲーム内の設定ダイアログQuasar(リモートのコントロールプレーン)Torch WPF UI
スキルse-dev-plugin(ClientPlugin)se-dev-plugin(ServerPlugin)+ se-dev-plugin-sdkse-dev-torch
  • Pulsar — ゲームクライアント用のプラグインおよび Mod ローダーです。PluginHub からプラグインの一覧を取得して読み込みます。プレイヤーのマシン上でクライアントプラグインをソースからコンパイルします。
  • Magnetar — 専用サーバー用のプラグインローダーです(Pulsar のハードフォーク)。MagnetarHub からサーバープラグインの一覧を取得して読み込みます。サーバープラグインは Magnetar の PluginSdk を通じて設定を宣言します。
  • Quasar — Magnetar インスタンスを管理する Web UI を備えたコントロールプレーンです。Magnetar と互換性のあるサーバープラグインを MagnetarHub から取得し、管理者がリモートで設定できるようにします。設定 UI は、各プラグインが PluginSdk を通じて宣言するレイアウトです。
  • Torch — 独自のプラグインモデルを持つ、旧式の独立した専用サーバーホストです。Torch プラグインは Magnetar と互換性がなく、その逆も同様です。 既存の Torch プラグインの保守用として、se-dev-torch/se-dev-torch-book スキルでのみ扱います。

スキル一覧

スキルの作成(スクリプト、MOD、プラグイン)
  • se-dev-script — ゲーム内(Programmable Block)スクリプトの開発。PB スクリプトの例を検索します。
  • se-dev-mod — MOD の開発。MOD コードの例と、MOD API のホワイトリストを検索します。
  • se-dev-plugin — クライアントおよびサーバーのプラグイン開発(Harmony パッチ、トランスパイラー、プリローダー)。PluginHub からプラグインのソースを検索します。
  • se-dev-plugin-review — マニフェストのピン留め情報をもとに、PluginHub、MagnetarHub、QuasarHub の PR をレビューします。簡潔でそのまま貼り付けられる指摘を作成し、承認は人間のメンテナーに委ねます。
  • se-dev-plugin-sdk — Magnetar の PluginSdk ハンドブックです。サーバー設定変数の宣言、Quasar がレンダリングする UI レイアウト、サーバー側のチャットコマンド、サーバーのライフサイクル(保存/再読み込み/終了/再起動)、パス解決、環境に依存しないログ記録について解説します。サーバープラグインでは se-dev-plugin と併用してください。(Magnetar リポジトリにあります。)
  • se-dev-torch — Torch プラグインの開発(旧式のサーバーホスト)。Torch 専用で、Magnetar には対応していません。
Graphify グラフ(必要に応じて読み込み)
  • GraphifyPrepare.md — 各サブスキルが独自のサブスキル単位の graphify-out/ を構築する方法。Prepare は、Python 3.12 と高速なネイティブ Rust Leiden クラスタリングバックエンドを使って Graphify をインストールし、そのバックエンドが利用可能な場合(uv を使う Linux/Windows)、グラフを自動的に構築します。クラスタリングは、ゲーム/サーバーのコーパスでも約1〜2分で完了します。高速バックエンドを用意できない環境では、Graphify は任意の機能で、SE_DEV_GRAPHIFY=1 を指定した場合にのみ構築されます(低速な単一コアのフォールバックではさらに約10〜30分かかり、その旨が Prepare から報告されます)。SE_DEV_GRAPHIFY=0 を指定すると完全に無効になります。使用できない(クラスタリングされていない)グラフを検出するヘルスチェックと、クリーンアップして再構築する方法も説明します。
  • GraphifyUsage.md — 既存のグラフをクエリする方法(query/explain/path/affected)、大規模グラフの読み込み上限、クエリのテストスクリプトについて説明します。

この2つのドキュメントは必要に応じて取得します。ユーザーが Graphify グラフを明確に求めている場合を除き、通常の作業中に余分なツールでコンテキストが汚染されないよう、読み込みを完全にスキップしてください。

リファレンススキル(ゲーム内部の読み取り/検索)
  • se-dev-game-code — ゲームのクライアントの逆コンパイルされた C# コードを検索します。内部の仕組みや、呼び出しまたはパッチを適用する正確なコードを確認できます。クライアント MOD/プラグインの作業に併用することをおすすめします。
  • se-dev-game-book(インストールされている場合は非公開)— ゲームのクライアントの内部の仕組みを、サブシステムごとに型単位のページで解説するハンドブックです。ゲームの動作や、関与する型について調べる前に読んでください。
  • se-dev-server-code — 専用サーバーの逆コンパイルされた C# コードを検索します。内部の仕組みや、呼び出しまたはパッチを適用する正確なコードを確認できます。サーバー側の MOD/プラグインの作業に併用します。
  • se-dev-server-book(インストールされている場合は非公開)— 専用サーバーの内部の仕組みを解説し、サーバー専用の部分を明示したハンドブックです。サーバーの動作について調べる前に読んでください。

*-book ハンドブック(se-dev-game-book、se-dev-server-book、se-dev-torch-book)は 非公開/内部向けで、別途配布されており、この公開リポジトリには含まれていません。インストールされている場合は、 ゲームの仕組みに関する質問についてコードを検索する前に読んでください。インストールされていない場合は、 *-code スキルでもそうした質問に回答でき、それらが唯一のリファレンスとなります。ハンドブックは 正式な情報源ではありません。記述に食い違いがある場合は、逆コンパイルされたソースを優先してください。

選び方

  • Programmable Block スクリプトですか? → se-dev-script + API の詳細には se-dev-game-code(インストールされている場合は、まず se-dev-game-book)。
  • Steam Workshop の MOD ですか? → se-dev-mod + 必要に応じて se-dev-game-code / se-dev-server-code(該当する *-book がインストールされている場合は、まずそちら)。
  • クライアントプラグインですか? → se-dev-plugin + se-dev-game-code(インストールされている場合は、まず se-dev-game-book)。
  • サーバープラグイン(Magnetar)ですか? → se-dev-plugin + se-dev-plugin-sdk + se-dev-server-code(インストールされている場合は、まず se-dev-server-book)。
  • PluginHub / MagnetarHub / QuasarHub のレビューですか? → se-dev-plugin-review + 該当するホスト/コードのリファレンス。
  • Torch プラグインのメンテナンスですか? → se-dev-torch + se-dev-torch-book(および se-dev-server-code)。
  • ゲームが X をどのように処理するかを理解する必要がありますか? → インストールされている場合は、まず *-book を参照し、次に *-code で詳細を確認します。それ以外の場合は *-code のみを使用します。

ほとんどの複雑なタスクでは、作成スキルとリファレンススキルを組み合わせます。一方で作成し、もう一方でゲームの内部動作を調べます。

プラグインテンプレート

  • se-client-plugin-template — クライアント専用プラグイン。
  • se-server-plugin-template — クライアント+Magnetar サーバープラグイン(ClientPlugin、ServerPlugin、Shared)。Torch プラグインの場合は、main ではなく、テンプレートの last-torch-compatible タグをベースにしてください。

一般的な注意事項

  • 作業対象のいずれかのパーティションで空きディスク容量が 10GB 未満になった場合は、作業を中断して警告してください。
  • 長いタイムアウトの使用は避けてください。タスクの完了にかかる実時間を意識してください。
  • 時間を無駄にしないよう、たとえば数秒ごとなど、監視スクリプトを使って進捗を頻繁に確認してください。
  • 監視に推論を使用せず、出力を読み、関連するイベントが発生したときに対応してください。
  • ログローテーションやコアダンプのクリーンアップで消去される可能性があるため、証拠(ログ、コアダンプ、トレースバック)はすぐにすべて収集してください。
  • /tmp や %TEMP% などの OS の一時フォルダーは、再起動後に保持されない場合があります。後で取得する必要がある重要なものは保存しないでください。
  • Linux では /tmp フォルダーがメモリ(tmpfs)を消費することがあるため、大きなファイルを保存しないでください。
  • 綿密な計画が必要な場合や、難しい質問・問題に直面した場合は、Fable または Astra のサブエージェントに相談してください。

備考

コメント