se-dev について
se-devは、Space Engineers 1向け開発スキル群の入口となるガイドです。スクリプト、Mod、プラグインの方法を整理し、開発者を作成用スキルやゲームコードの参照先へ案内します。
主な機能
- 01スクリプト、Mod、プラグインの概要
- 02開発目的に応じたスキル選択
- 03クライアントとサーバープラグインの手順区分
- 04ゲームコードやハンドブックの参照先
- 05Graphifyドキュメントへの案内
活用シーン
- 01ゲーム拡張の方法を選ぶ
- 02Modやプラグイン作業のスキルを選ぶ
- 03クライアントまたはサーバー側のコード資料を探す
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ cometworks/ skills --skill se-devインストール後、Claude Code で/se-devを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
graphify-check.shgraphify-prepare.shGraphifyCheck.batGraphifyPrepare.batGraphifyPrepare.mdGraphifyUsage.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(レガシー) | |
|---|---|---|---|
| ローダー | Pulsar | Magnetar | Torch |
| レジストリ | PluginHub | MagnetarHub | torchapi.net |
| 管理 UI | ゲーム内の設定ダイアログ | Quasar(リモートのコントロールプレーン) | Torch WPF UI |
| スキル | se-dev-plugin(ClientPlugin) | se-dev-plugin(ServerPlugin)+ se-dev-plugin-sdk | se-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 のサブエージェントに相談してください。
備考
- これらのスキルの原典:https://github.com/CometWorks/skills