セフィリアのMODを自分で作ってみたいけれど、何から始めればよいか分からない。ワークショップに出したら審査で止まった、という場面もあります。
セフィリアのMODは公式の制作ガイドとサンプルで作れる
セフィリアのMODは、開発元の TEAM HORAY の公式のMOD制作ガイド(日本語あり)と、翻訳・衣装・DLLのサンプルで作れます。自分のPCで作り、ゲーム内のボタンでSteamワークショップに上げる仕組みで、2026年10月29日のバージョン1.1.0で入りました。
1.1.0 からのアップデートは、セフィリアのアップデートまとめにまとめています。
作れるMODの種類と必要なもの
公式のサンプルがあるのは次の3つで、翻訳と衣装はコードを書かずに作れます。
| 種類 | できること | 必要なもの | 審査 |
|---|---|---|---|
| 翻訳 | 文字の書き換え、言語の追加 | テキストエディター | なし |
| 衣装 | 新しい衣装、今ある衣装の外見 | テキストエディター、PNGの絵 | なし |
| DLL | C#のコードでアイテムや敵を足す | .NET SDK 8以降、C#のエディター | 自動で申請 |
初めてなら翻訳か衣装から始めます。DLLは、プログラミングの基礎が分かる人向けです。
はじめてのMODを作る手順(WorkshopLocal と metadata.json)
MODは、インストールフォルダに作る WorkshopLocal の中で作り、そのままゲームで試します。
- Steamライブラリでセフィリアを右クリックし、「管理」→「ローカルファイルを閲覧」でインストールフォルダを開く
WorkshopLocalフォルダを作り、その中に自分のMOD用のフォルダを作る- MODのフォルダに
metadata.jsonをUTF-8で作り、翻訳や衣装のファイルを置く - ゲームを起動し、タイトル画面の「Steamワークショップ」ボタンからパネルを開く
パネルの「自分のMOD」の欄に名前が出れば、読み込めています。最初から有効なので、オンにする操作は要りません。
metadata.json で決めること
metadata.json は、MODの名前と動き方を決める中心のファイルです。
| 項目 | 決めること | 気をつけること |
|---|---|---|
| modId | MODを見分ける名前 | 小文字の英字・数字・.・-・_ で64文字まで。公開後は変えない |
| version | MODのバージョン | 更新のたびに上げる |
| installation | マルチで誰が入れるか | local_only、everyone、host_only から選ぶ |
modId は、ほかのMODとぶつからないよう yourname.my-mod のように先頭に自分の名前を付けます。
MODが反映されないときの確かめ方
パネルに出ない、ゲームで変わらないときは、JSONのかっこやカンマの誤り、path の大文字・小文字がフォルダ名と同じか、metadata.json が UTF-8 か、ゲームの言語と言語ファイルの名前が合っているかを確かめます。
翻訳MODの作り方
翻訳MODは、MODのフォルダの Localization に、言語の名前のJSONファイル(日本語なら ja-JP.json)を置いて作ります。
ファイルには、変えたい文字の「キー」と新しい文字の組だけを書きます。キーは、インストールフォルダの Sephiria_Data/StreamingAssets/Localization/ にある元のファイルで探します。
metadata.json の modules(MODの部品)は localization、installation は local_only にします。
{VALUE} のような波かっこ、<color=…> などのタグ、改行の \n は訳さず、大文字・小文字も変えずに残します。
ゲームに無い言語は、元の en-US.json を写してすべてのキーを訳します。訳の無いキーは英語で出ます。
衣装MODの作り方
衣装MODは、PNGの絵とJSONで作ります。MODのフォルダに Costumes を作り、衣装ごとにフォルダを作ります。
衣装のフォルダには、costume.json、アイコンの絵、動き(モーション)ごとの絵を置きます。必ず要る動きは idle(待機)と move(移動)です。
絵は動きごとに1枚のPNGにまとめ、コマを横に隙間なく並べます。1コマが 20×16 で6コマなら、120×16 の絵になります。
costume.json には schemaVersion、id、name、icon、animations を必ず書きます。1コマが既定の 16×16 でないときは、frameSize に1コマの大きさも書きます。
name には言語ファイルのキーを書き、名前の文字は同じMODの Localization に置きます。キーがどの言語のファイルにも無いと、衣装が読み込まれません。modules には costume と localization の両方を書きます。
できあがったら、村の「衣装変更」で新しい衣装があるかを見ます。直したらゲームを再起動します。
DLL MODを作るとき
DLL MODは、.NET SDK 8以降で netstandard2.1、C# 9 のプロジェクトを作ってビルドします。ゲームのDLL(Sephiria_Data/Managed/ の中)は参照だけにして、MODへは写しません。
入口のクラスは WorkshopModBase を受け継いで作り、そのクラス名を名前空間つきで entryClass に書きます。
マルチで値を同期させるなら、バージョン1.1.2から使えるMOD用の SyncVar<T> と ModRpc を使い、installation を everyone にします。
ワークショップに公開する手順
公開は、パネルの「ワークショップにアップロード」で行います。上げる前に、1MB未満のプレビュー画像(PNGかJPG)を用意し、ゲームのDLLの写し、.pdb、ビルドの途中のファイルを外します。
- タイトル画面の「Steamワークショップ」からパネルを開く
- 自分のMODを選び、「ワークショップにアップロード」を押す
- ワークショップのページで自分のMODを購読し、動くかを確かめる
- 公開範囲を「公開」に変える
上げたばかりのMODは「Unlisted」(限定公開)で、DLL入りなら自動で審査に申請されます。
コード入りのMODの審査と、却下されるもの
審査では、DLLに通信、ファイルの読み書き、難読化、悪意のある動きがないかが見られます。
難読化したファイルと、C/C++ でコンパイルしたDLLは、中身を読めないため却下されます。フォルダを圧縮した大きさは20MB以下にします。
却下されたときは、パネルの「却下理由を確認」で理由を見て、直してから上げ直します。
遊ぶ側に出る表示と対処は、セフィリアのMODの入れ方|ワークショップの購読・有効化と起動しないときにまとめています。
MODを更新するとき
更新も「ワークショップにアップロード」で行い、そのたびに version を上げます。modId は変えません。
上げ忘れると、中身の違うMODの人どうしが同じロビーに入り、進行が止まることがあります。
上げた後にMODのフォルダにできる uploadticket.json は消しません。無いと、同じフォルダが別のアイテムとして上がります。
MODを作るときのルール
TEAM HORAY の9項目のルールがあり、違反するとMODの公開やゲームのプレイが制限されることがあります。売り物にしない、マルウェアや無断で情報を外へ送る機能を入れない、他人の権利を侵す中身や性的な中身を入れない、ゲームから抜き出した絵や音をそのまま配らない、他人のMODを同意なく改変・再配布しない、などです。
公式のサンプルは MIT ライセンスで、自分のMODの土台に使えます(ゲーム本体の絵や音は対象外)。
作ったMODをマルチで試すとき
WorkshopLocal のMODを読み込んでいる間はマルチで遊べないので、MODを Unlisted のまま上げ、WorkshopLocal を空にして、購読したMODで試します。参加する人もページのリンクから同じMODを購読して有効にし、ゲームを再起動して入り直します。
フレンドの招待のしかたは、セフィリアのマルチのやり方|招待の手順と参加できないときの対処にまとめています。
この記事は、2026年11月11日時点のバージョン1.1.2をもとにしています。