クラッシュしたとき
latest.logを共有する
・latest.log(最後に起動したときのログ)には起動から終了/クラッシュまでの動作の記録や、PCの環境、クラッシュレポートなどが記録されている。
・通常は、.minecraft(ゲームディレクトリ名)/logs/ にある。
![]()
・これをmclo.gsというサイトにUPして、リンクを共有することで、他の人はわざわざダウンロードしなくてもログを閲覧できる。
・また、mclo.gsにUPするとPCのユーザー名やMCID、IPアドレスなどが隠されるのでセキュリティ的にも安心。
modリストを共有する
・一部の非公式ランチャー(PrismLauncher)では、ランチャー上のログにmodリストや使用したライブラリ、Javaのバージョンや引数が載っていたり、modリストを簡単に作成できる機能があったりする。
・そのような機能が無い場合、Windowsでは、modsフォルダで、エクスプローラー上部のアドレスバーの何もない所をクリックし、「cmd」と入力してEnterを押し、modsフォルダ上でコマンドプロンプトを開く。

・コマンドプロンプトで、dir /b >mods.txt を実行すればmodリストが作成される。
![]()
・macOS/Linuxでは、modsフォルダ上でターミナルを開き、ls >mods.txt を実行すればmodリストが生成される。
・これをそのままUPすればOK。
動作が重いとき
前提知識
・画面がずっとカクカクしているときは、FPS(一秒あたりに行われる画面更新の回数)が低下している。クライアントのCPUやGPUに大きな負荷がかかっていると起こる。
・画面が定期的に酷くガクッとなるときは、不要なメモリを解放するGC(ガーベッジコレクション)が起こっている。CPUに大きな負荷がかかっていたり、メモリ使用率が高かったりしてGCをするのが大変なときに起こる。
・チェストを開くのが遅かったり、敵を攻撃してもすぐにダメージが入らないときは、TPS(1秒あたりに行われるティック処理の数)が低下している。(内部)サーバーに大きな負荷がかかっていて、通常1秒に20回行われるサーバー側の処理が遅れるとこうなる。
・TPSが低下しているときは、MSPT(1ティックにかかる時間、ミリ秒)が増加している。1秒=1000ミリ秒で、正常な20TPSの時は1ティックが50ミリ秒未満で処理されるが、サーバーに大きな負荷がかかると、MSPTが50ミリ秒を超えて、TPSが下がる。
Observable/LagGogglesで重いものを調べる
クライアント/サーバーに負荷をかけているものを、ワールド上で視覚的に分かりやすく表示するmod。バージョンによって名前が違うが、全部機能は同じ。
Observablse(1.16.5以降)
ForgeではArchitectury APIとKotlin for Forge、
FabricではArchitectury APIとFabric Language Kotlinが必要。
Architectury API - Minecraft Mod
Kotlin for Forge - Minecraft Mod
Fabric Language Kotlin - Minecraft Mod
LagGoggles(1.12.2)
TickCentralが必要。
TickCentral - Minecraft Mods - CurseForge
LagGoggles Legacy(1.7.10)
FalsePatternLibとUniMixinsが必要。
FalsePatternLib - Minecraft Mod
UniMixins - Minecraft Mods - CurseForge
注意:マルチプレイでは権限があるプレイヤーしか使えない。OP権限以外にも専用の権限を設定できる。
・説明はLagGoggles Legacyで行う。
・キー設定の「laggoggles」の「Profile GUI」に適当なキーを割り当てる。
・メニューを開く。左右の+/ー5で計測の時間を調整する。
・「Profile for 30 seconds」をクリックする。
・出て来た、「FPS」がクライアント側、「World」がサーバー側の計測。

・計測出来たら、「Show latest scan results」で先程の結果をワールド上に表示する。負荷が高いほど、緑が赤になって行き、uS/tの数字が増えていく。
・「Analyze results」では結果を文字で一覧表示する。負荷が高いほど、緑が赤になって行き、uS/tの数字が増えていくのは同じ。ダブルクリックで原因となるものへ直接テレポートできる。
・他の人への共有はスクリーンショットで行う。
Spark/Flareで重いものを調べる
Observable/LagGogglesより扱いが難しいが、より高機能で細かい計測が出来る。
Spark(1.7.10と1.15.2以降)
1.7.10版はCurseForgeにしかない。
Flare(1.12.2)
1.12.2では互換性の関係でFlareの使用が推奨される。
注意:マルチプレイでは権限があるプレイヤーしか使えない。OP権限以外にも専用の権限を設定できる。
・公式の説明ドキュメント。
・色々書いてあるが、よく使うのは、
/spark tps
/spark profiler --timeout 30
/sparkc profiler --timeout 30
である。
・Flareでは、
/flare tps
/flare sampler --timeot 30
/flarec sampler --timeout 30
のように変わるので注意。
・/spark tps で現在のTPSを表示する。/forge tps もあるが、Sparkの方が情報が細かく、色分けで見やすい。
・/sparkでサーバー側、/sparkcでクライアント側になる。--timeout 30 は、30秒で計測を終了するという意味。
・計測が終了すると、チャットにリンクが出るので、Tか/でチャットを出した状態でリンクをクリックすれば開ける。リンクをUPすれば他の人と共有できる。
・サーバー側の計測結果(1.7.10)。
・入れているmodによっては「Server(Client)Thread」以下の中身の配置が変わる。

・ここからはより%が高く、より赤い場所をたどって行く。
・Thread.sleepなどと書いてあるのは、負荷がかかっていない割合なので無視。
![]()
・net.minecraftではないmod名などが出てきたらストップ。
・jp.ngt.rtm(RealTrainMod)のelectric(信号、電気関係)、特にタイルエンティティ(ブロックエンティティ)のConnectorBase(碍子モデル)が負荷をかけているのが分かる。
・jp.ngt.rtm.electric.TileEntityConnectorBaseのようなmodのIDとファイル名は、modの.jarファイルをZipファイルとして解凍し、フォルダを探していけば見つかる。
・GitHubなどでソースコードが公開されている場合はそっちを見た方が良い。
