
この記事はJava版のワールド・サーバーデータを触る方向けです
統合版(BE)とは保存形式や場所が違うので注意してください
プレイヤーデータを直接触る前に、必ずワールドのバックアップを取ってください
こんにちは。ゆずかきです。
マイクラJava版でサーバーを触っていると、たまに、
「ログインしたら持ち物が消えた」
「同じ名前なのに別人扱いになった」
「playerdataフォルダにUUIDっぽいファイルがいっぱいあるけど、これ何?」
…みたいなことが起きることがあります。
これ、ワールドが壊れたというより、プレイヤーデータの紐づき先が変わっているだけのケースがけっこうあります。
特に、サーバーのonline-modeを切り替えた時や、オフラインモードのサーバーを運用している時に起きやすいです。
この記事では、オフラインプレイヤーデータとは何か?どこに保存されているのか?触る時に何を注意すればいいのか?を、できるだけ実用目線で整理していきますね。
この記事を読めば、次のことが分かります。
- Java版のプレイヤーデータの保存場所が分かります👍
online-mode=true/falseでUUIDが変わる理由が分かります👌- 持ち物・経験値・エンダーチェスト・進捗などを移行する時の考え方が分かります
- サーバー管理でやりがちな事故を避けやすくなります(^^♪
それでは、やっていきましょう!
※本記事はMinecraft Java版のワールド保存形式を前提に解説しています。
※ファイルを直接編集する場合は、必ずバックアップを取ってから作業してください。
目次
1. オフラインプレイヤーデータとは?
2. プレイヤーデータはどこに保存される?
3. playerdataフォルダの中身を理解する
4. オンラインUUIDとオフラインUUIDの違い
5. online-modeを切り替えると何が起きる?
6. オフラインモード運用で注意すべきこと
7. プレイヤーデータを移行する時の基本手順
8. データを直接編集する前にやること
9. よくあるトラブルとチェックポイント
10. まとめ
11. 引用・参考文献
この記事で分かること
・Java版のplayerdata、stats、advancementsの役割
・オフラインモードでUUIDが変わる理由
・データ移行時に触るべきファイルと注意点

1. オフラインプレイヤーデータとは?
まず最初に、言葉を整理しておきますね。
オフラインプレイヤーデータとは、簡単に言うと、オフラインモードのサーバーで作られたプレイヤー個別データのことです。
ここでいう「オフライン」は、シングルプレイでネットに繋がっていないという意味ではなく、サーバー設定の、
online-mode=false
のことを指している場合が多いです。
Java版サーバーには、接続してきたプレイヤーをMinecraftのアカウント情報と照合する設定があります。
通常は、
online-mode=true
で運用します。
この状態だと、サーバーは接続プレイヤーをMinecraftアカウントとして認証し、そのアカウント固有のUUIDにプレイヤーデータを紐づけます。
一方で、online-mode=falseにすると、サーバーはMinecraftアカウント認証を行いません。
その代わり、プレイヤー名を元にした別のUUIDでデータを作ります。
つまり、同じ「ゆずかき」という名前で入っているように見えても、
- オンラインモードで入った時のUUID
- オフラインモードで入った時のUUID
は別物になります。
ここが一番大事です。
見た目のプレイヤー名が同じでも、UUIDが違えばマイクラ側では別人扱いになります。
その結果、サーバー側では、
- 持ち物が初期化されたように見える
- 経験値が消えたように見える
- エンダーチェストの中身が見えない
- 進捗や統計が別扱いになる
- 権限プラグインや経済プラグインでも別人扱いされる
ということが起きます。
体験談
サーバーの設定を触った後に「荷物が全部消えた!」と焦ることがありますが、実際には旧UUID側の.datファイルに残っているだけ、というケースもあります。
なので、まずは落ち着いてplayerdataフォルダを確認しましょう。

2. プレイヤーデータはどこに保存される?
Java版のワールドデータは、ワールドごとのフォルダにまとまっています。
その中に、プレイヤー個別データや進捗、統計データが保存されています。
シングルプレイなら、基本的には下記のような場所です。
Windows: %appdata%\.minecraft\saves\ワールド名\ macOS: ~/Library/Application Support/minecraft/saves/ワールド名/ Linux: ~/.minecraft/saves/ワールド名/
ただし、シングルプレイの自分自身の状態は、playerdataではなくlevel.dat内のPlayerタグに保存される場合があります。
この記事で主に扱うのは、Java版サーバーやマルチプレイで使われるplayerdata/UUID.datです。
マルチサーバーなら、server.jarを置いているサーバーフォルダ内のワールドフォルダです。
初期設定のままなら、たいていは、
サーバーフォルダ/world/
にあります。
ただし、server.propertiesの、
level-name=world
を変更している場合は、その名前のフォルダがワールドフォルダになります。
例えば、
level-name=yuzukaki_world
なら、
サーバーフォルダ/yuzukaki_world/
が対象です。
👇代表的な保存場所を表にすると、こんな感じです。
| 場所 | 主な役割 | 触る場面 |
|---|---|---|
| playerdata | マルチプレイ時の持ち物・経験値・位置・エンダーチェストなど | サーバー上のプレイヤー状態を移行したい時 |
| stats | 統計データ | 採掘数・移動距離などの記録を移したい時 |
| advancements | 進捗・レシピ解放 | 進捗状況を移したい時 |
| level.dat | ワールド全体の設定・シングルプレイのプレイヤー情報など | 通常は直接触らない |
サーバーデータで初心者さんがまず見るべきなのは、playerdataフォルダです。
ここに、
UUID.dat
という形式でプレイヤーごとのデータが保存されています。
例としては、こんなファイル名です。
069a79f4-44e9-4726-a5be-fca90e38aaf5.dat
この長い文字列がUUIDです。
マイクラはプレイヤー名ではなく、このUUIDを見て「この人のデータはこれ」と判断しています。

3. playerdataフォルダの中身を理解する
playerdataフォルダの.datファイルには、プレイヤーの状態がNBT形式で保存されています。
普通のテキストファイルではないので、メモ帳で開いて編集するものではありません。
中に入っている代表的な情報は、下記のようなものです。
- 現在いるディメンション
- 現在位置
- 体力や満腹度
- 経験値レベル
- インベントリの中身
- 装備品
- エンダーチェストの中身
- リスポーン地点
- ゲームモードに関係する能力情報
特に大事なのは、持ち物とエンダーチェストがここに入っているという点です。
「オンラインモードを切り替えたらアイテムが消えた」と感じる時、ワールド内のチェストや建築物が無事なら、まずこのplayerdataの紐づきズレを疑ってください。
体験談
筆者も最初、playerdataフォルダのUUIDファイルを見た時は「どれが誰のデータなの?」となりました。
でも仕組みは単純で、UUIDごとにプレイヤーの持ち物や状態が分かれているだけです。
ただし、注意点があります。
playerdataだけを移せば全部戻る、とは限りません。
進捗や統計も残したいなら、次のフォルダも一緒に確認しましょう。
advancements/UUID.json stats/UUID.json
つまり、プレイヤーデータを丁寧に移行するなら、基本はこの3点セットです。
playerdata/UUID.dat advancements/UUID.json stats/UUID.json
この3つのUUIDをそろえると、持ち物・進捗・統計をかなり自然に移せます。
※プラグインサーバーの場合は、これに加えてプラグイン側のデータベースや設定ファイルも確認が必要です。

4. オンラインUUIDとオフラインUUIDの違い
ここがこの記事の核心です。
Java版のプレイヤーデータは、基本的にUUIDへ紐づきます。
ただし、このUUIDには大きく分けて2種類あります。
- Minecraftアカウントに紐づくオンラインUUID
- プレイヤー名から生成されるオフラインUUID
オンラインモードのサーバーでは、プレイヤーはMinecraftアカウントとして認証されます。
そのため、プレイヤー名を変更しても、基本的には同じアカウントのUUIDとして扱われます。
一方、オフラインモードでは、Minecraftアカウント認証をしないため、サーバー側がプレイヤー名からUUIDを作ります。
代表的には、
OfflinePlayer:プレイヤー名
という文字列を元にUUIDを生成する仕組みです。
つまり、オフラインモードでは、名前が変わるとUUIDも変わると考えておいた方が安全です。
大文字・小文字の表記揺れも事故原因になりうるので、オフラインモード運用では名前表記を統一するのが大事です。
👇違いを整理します。
| 種類 | 作られ方 | 主な特徴 |
|---|---|---|
| オンラインUUID | Minecraftアカウントに紐づく | 名前変更をしても同じプレイヤーとして扱いやすい |
| オフラインUUID | プレイヤー名を元に生成される | 名前や表記が変わると別人扱いになりやすい |
この仕様を知らないままonline-modeを切り替えると、かなり焦ります。
特に、
online-mode=false
でしばらく遊んだサーバーを、後から、
online-mode=true
に戻すと、プレイヤーのUUIDが変わります。
その結果、サーバーは新しいUUIDの.datファイルを作り、「新規プレイヤーが来た」と判断します。
重要
持ち物が消えたように見えても、古いUUID側の.datが残っていれば復旧できる可能性があります。
すぐにワールドを上書きしまくるより、まずバックアップを取って、旧ファイルを探しましょう。

5. online-modeを切り替えると何が起きる?
online-modeは、Java版サーバーのserver.propertiesにある設定です。
online-mode=true
なら、サーバーは接続プレイヤーをMinecraftアカウントとして認証します。
通常の個人サーバーなら、基本はこの状態で運用するのがおすすめです。
反対に、
online-mode=false
にすると、サーバーはMinecraftアカウント認証を行いません。
この状態だと、名前だけで接続者を扱うため、運用上のリスクが増えます。
online-modeを途中で切り替えると、起きやすいことは下記です。
- プレイヤーの持ち物が消えたように見える
- 初期スポーン地点から始まる
- 経験値や装備が別扱いになる
- エンダーチェストの中身が見えなくなる
- 進捗がリセットされたように見える
- 統計データが別ファイルになる
- ホワイトリストやOP権限のUUIDが合わなくなる
- 権限・経済・保護系プラグインで別人扱いになる
ここで大切なのは、ワールドの建築物が消えたわけではないということです。
ブロックやチェストなどのワールド本体は、基本的にregionなどのワールドファイル側にあります。
一方で、プレイヤーの持ち物や経験値はplayerdata側です。
なので、
「拠点は残っているけど、手持ちだけ初期化された」
という場合は、かなりの確率でプレイヤーデータ側の問題です。
online-modeを切り替える前にやること
サーバー設定を変更する前に、最低限これだけはやってください。
- サーバーを停止する
- ワールドフォルダを丸ごとコピーしてバックアップする
playerdata、stats、advancementsを確認する- 変更前後のUUIDをメモする
- プラグインを使っている場合は、プラグインのデータ保存場所も確認する
特に、サーバーを起動したままファイルを触るのはおすすめしません。
読み書きのタイミングが重なると、思わぬ上書きや巻き戻りが起きることがあります。

6. オフラインモード運用で注意すべきこと
ここは少し厳しめに書きますね。
普通の個人サーバーなら、基本的にonline-mode=trueで運用する方が安全です。
online-mode=falseは、認証を切る設定です。
つまり、サーバーは「本当にそのMinecraftアカウントの持ち主か?」を確認しません。
そのため、環境によっては、他人が別のプレイヤー名で入ってくるリスクがあります。
小規模な身内サーバーでも、ポート開放して外部から入れる状態にしているなら、油断しない方がいいです。
特に注意したいリスク
- 他人が管理者名を名乗って入る
- 他人がメンバー名を名乗ってアイテムを抜く
- OP権限やホワイトリストの管理が崩れる
- プラグインのUUID管理がズレる
- 名前変更や表記揺れでデータが分裂する
もちろん、プロキシサーバー構成などで一時的にオフラインモードを使うケースもあります。
ただしその場合でも、単純にonline-mode=falseへ変えるだけではなく、プロキシ側の認証・IP転送・ファイアウォール設定まで含めて組む必要があります。
初心者さん向けの結論
よく分からないままonline-mode=falseにするのはおすすめしません。
友達と遊ぶだけのサーバーでも、基本はonline-mode=trueで大丈夫です。
オフラインモードでどうしても運用するなら
どうしても必要があってオフラインモードを使うなら、最低限、下記は確認しておきましょう。
- 外部から自由に接続できる状態にしない
- ホワイトリストや認証系の仕組みを用意する
- プレイヤー名の表記を統一する
- 定期的にワールドをバックアップする
playerdataだけでなくプラグインデータも保管するonline-modeを気軽に切り替えない
特に、プラグインサーバーでは注意です。
権限、経済、土地保護、インベントリ管理などは、UUIDをキーにしてデータを保存していることが多いです。
バニラのplayerdataを直しても、プラグイン側のUUIDがズレたままだと、
「持ち物は戻ったけど権限がない」
「保護した土地が自分のものにならない」
「お金だけ消えている」
みたいなことが起きます。

7. プレイヤーデータを移行する時の基本手順
ここでは、オンラインモード・オフラインモード切り替え後に、旧データを新UUIDへ移したい時の考え方を紹介します。
※実作業は環境差が大きいので、必ずバックアップを取ってから行ってください。
1. まずサーバーを停止する
最初に必ずサーバーを停止します。
起動中にplayerdataを触るのは避けましょう。
stop
サーバーコンソールからstopで正常終了してから作業します。
2. ワールドフォルダを丸ごとバックアップする
playerdataだけではなく、ワールドフォルダを丸ごとコピーしてください。
world_backup_作業日/
のような名前で別フォルダに退避しておくと安心です。
体験談
「少し名前を変えるだけだから大丈夫」と思って作業すると、だいたい後で不安になります。
バックアップがあるだけで、かなり安心できます。これは本当に大事です。
3. 新旧UUIDを確認する
次に、移行元と移行先のUUIDを確認します。
よくあるパターンは、
- 旧UUID:オフラインモード時代のUUID
- 新UUID:オンラインモードに戻した後のUUID
です。
一度サーバーへログインすると、新しいUUIDの.datファイルが作られることがあります。
そのため、playerdataフォルダ内の更新日時を見ると、新しく作られたファイルを見つけやすいです。
playerdata/旧UUID.dat playerdata/新UUID.dat
この2つを見分けます。
4. 旧UUIDのファイルを新UUID名へコピーする
基本の考え方は、旧データを新UUID名へコピーすることです。
playerdata/旧UUID.dat ↓ コピーして名前変更 playerdata/新UUID.dat
この時、いきなり上書きせず、新UUID側のファイルも退避しておくと安全です。
例:
新UUID.dat ↓ 新UUID.dat.bak
そのうえで、旧UUIDの.datを新UUID名に変更して置き換えます。
5. 進捗と統計も必要なら同じように移す
持ち物だけで良いならplayerdata中心で見ればOKです。
ただ、進捗や統計も残したいなら、下記も同じように確認します。
advancements/旧UUID.json stats/旧UUID.json
これを、
advancements/新UUID.json stats/新UUID.json
へコピー・リネームします。
6. サーバーを起動して確認する
作業が終わったら、サーバーを起動してログインします。
確認するポイントは下記です。
- 持ち物が戻っているか
- 装備が戻っているか
- 経験値が戻っているか
- エンダーチェストが戻っているか
- 進捗が戻っているか
- 統計が戻っているか
- 位置がおかしくないか
位置データも一緒に移るため、ログイン場所がネザーやエンドになることもあります。
危なそうなら、あらかじめ管理者が安全な場所を確保しておくと良いです。

8. データを直接編集する前にやること
playerdataの.datファイルはNBT形式です。
そのため、普通のテキストエディタで編集するものではありません。
どうしても中身を直接確認したい場合は、NBTを扱えるツールを使うことになります。
ただし、初心者さんには、まずファイル名のコピー・リネームまでにしておくのをおすすめします。
作業前チェックリスト
- [ ] サーバーを停止したか?
- [ ] ワールドフォルダを丸ごとバックアップしたか?
- [ ] 旧UUIDと新UUIDを間違えていないか?
- [ ]
playerdataだけでなくadvancementsとstatsも確認したか? - [ ] プラグインサーバーならプラグインデータも確認したか?
- [ ] 作業後にログインテストする人数を絞ったか?
特に、複数人サーバーでは、全員分を一気に直そうとしない方がいいです。
まず1人分だけ移して、正しく戻るか確認しましょう。
おすすめ手順
1人分で成功確認 → 2人目以降を同じ手順で対応、が安全です。
触らない方がいいファイルもある
ワールドフォルダ内には色々なファイルがありますが、意味が分からないものは触らない方がいいです。
特に、
region/ entities/ poi/ level.dat session.lock
あたりは、今回の「持ち物が別人扱いになった」問題では、基本的に直接編集しません。
regionは地形や建築物、entitiesはエンティティ、poiは村人の職業ブロックやベッドなどに関係するデータです。
ここを不用意に触ると、プレイヤーデータどころではなく、ワールド全体に影響が出る可能性があります。

9. よくあるトラブルとチェックポイント
ここからは、実際に起きやすいトラブル別に整理しますね。
ログインしたら初期スポーンになった
まず疑うのはUUID違いです。
online-modeを最近変えたか?- プレイヤー名を変えたか?
- オフラインモードで入ったことがあるか?
playerdataに似た更新日時のファイルが複数ないか?
このあたりを確認してください。
新しいUUIDの.datが作られているだけなら、旧UUID側のデータを移せば戻せる可能性があります。
持ち物は戻ったけど進捗が戻らない
playerdataだけを移した可能性があります。
進捗は、
advancements/UUID.json
側にあります。
旧UUIDのadvancementsファイルも、新UUID名へコピー・リネームして確認しましょう。
統計だけ戻らない
統計データは、
stats/UUID.json
です。
採掘数、移動距離、モブ討伐数などの記録を残したい場合は、ここも忘れずに移します。
エンダーチェストの中身がない
エンダーチェストの中身は、プレイヤーデータ側に保存されています。
なので、playerdata/UUID.datの対応がズレている可能性が高いです。
旧UUIDの.datを見つけて、新UUID名にコピーしてみましょう。
※作業前バックアップは必須です。
ホワイトリストに入れているのに入れない
オンラインモードとオフラインモードでUUIDが変わるため、ホワイトリスト側の情報が古いUUIDを見ている可能性があります。
whitelist.jsonを使っているサーバーでは、対象プレイヤーを一度削除して追加し直す方が早い場合があります。
また、OP権限についても、
ops.json
にUUID付きで保存されています。
UUIDが変わっている場合は、再付与が必要になることがあります。
プラグインの権限やお金だけ戻らない
これはバニラのplayerdataではなく、プラグイン側のデータ問題です。
権限プラグイン、経済プラグイン、土地保護プラグインなどは、独自のフォルダやデータベースにプレイヤーデータを持っていることがあります。
例えば、
plugins/プラグイン名/
の中に、UUIDごとのデータが保存されていることがあります。
この場合、バニラのplayerdataを直しても、プラグイン側ではまだ別人扱いのままです。
プラグインの仕様に合わせて移行する必要があります。
チェックポイントまとめ
- [ ]
online-modeを切り替えていないか? - [ ] 旧UUIDと新UUIDを把握しているか?
- [ ]
playerdataの.datを移したか? - [ ]
advancementsの.jsonも移したか? - [ ]
statsの.jsonも移したか? - [ ]
whitelist.jsonやops.jsonも確認したか? - [ ] プラグインデータもUUID管理になっていないか?
- [ ] サーバーを停止してから作業したか?
- [ ] 作業前バックアップを取ったか?

10. まとめ
以上、マイクラJava版のオフラインプレイヤーデータの保存場所・仕様・注意点について解説しました。
要点を整理すると、
- Java版サーバーのプレイヤー個別データは主に
playerdata/UUID.datに保存される - 進捗やレシピ解放は
advancements/UUID.json、統計はstats/UUID.jsonに保存される - オンラインモードとオフラインモードではUUIDが変わる
- UUIDが変わると、同じプレイヤー名でも別人扱いになる
online-modeの切り替え前には必ずワールドを丸ごとバックアップする- データ移行では、
playerdata、advancements、statsをセットで見る - プラグインサーバーでは、プラグイン側のUUIDデータも確認する
このあたりを押さえておけば、
「持ち物が消えた!」
「別人扱いになった!」
という時も、かなり落ち着いて対処できます。
特に大事なのは、見た目の名前ではなくUUIDで管理されているという点です。
マイクラは、プレイヤー名だけで持ち物を見ているわけではありません。
なので、サーバー設定を触る時は、
online-mode=true
と、
online-mode=false
の違いをしっかり理解してから変更しましょう。
初心者さん向けに言うなら、基本はonline-mode=true運用がおすすめです。
どうしてもオフラインモードを使うなら、バックアップ・認証・UUID管理までセットで考えてくださいね。
では、本日はここまでで終わります。
最後までご覧いただき、ありがとうございました。
柚子クラでは他にもJava版のサーバー管理や便利装置について解説しているので、是非ご覧くださいね(^^♪

11. 引用・参考文献
この記事を書くにあたり、以下のコミュニティWiki・技術資料を参考にしています。