冒頭の直接回答
マイクラJava版サーバーでリソースパックを強制配布するには、リソースパックZIPをCDNなどで公開し、その直リンクURLとSHA-1ハッシュ値をserver.propertiesのresource-pack / resource-pack-sha1に設定し、require-resource-pack=trueで強制適用を有効化します。この記事ではWindows/macOS/Linux別のSHA-1取得方法と、実際に使えるCDN構成・レンタルサーバー選びまで一気に解説します。(マインクラフト ウィキ)
要点
resource-pack/resource-pack-sha1/require-resource-pack/resource-pack-promptの役割と具体的な設定例を理解する- Windows/macOS/LinuxでリソースパックZIPのSHA-1ハッシュを安全に計算し、server.propertiesに反映する手順を押さえる(Qiita)
- Googleドライブ等の不安定な配布元を避け、CDNやレンタルサーバーを使った高速・安定配布構成とサーバー選びまで完了させる(揚げポテほかほかクラフト)

強制リソースパック配布の全体像と前提条件
強制リソースパックは「サーバー側が指定した見た目・音を、参加プレイヤーに半強制的に適用させる」仕組みです。ワールド観を統一できる一方で、パック容量や配布元URL、クライアント設定を間違えると「永遠にダウンロード中」「接続できない」などのトラブルが出やすいため、仕様を押さえてから設定するのが安全です。(マインクラフト ウィキ)
強制リソースパックとは何か
サーバーリソースパックは、マルチサーバーに接続したプレイヤーへ自動的にダウンロード・適用させるリソースパックです。
resource-pack: クライアントがダウンロードするZIPのURLresource-pack-sha1: ZIPのSHA-1ハッシュ値(整合性確認+キャッシュ制御に使われる)(マインクラフト ウィキ)require-resource-pack: trueで「パックを受け取らないなら接続不可」にできるresource-pack-prompt: ダウンロード時に表示するカスタムメッセージ
これらを組み合わせることで、「接続時に自動ダウンロードし、拒否したら弾く」という“強制配布”が実現します。(ひきこもろん)
Java版1.21時点の仕様とサイズ制限
公式Wikiではサーバーリソースパックのサイズ上限は100MiBとされていますが、最新の開発者向けドキュメントやプラグインでは、1.18以降のクライアントで最大約250MiBまで適用できると説明されています。(マインクラフト ウィキ)
ただし実運用では以下を強く推奨します。
- 目安: 50〜100MB以下
- ダウンロード時間やラグ、モバイル・低回線ユーザーを考えると、この範囲に抑えるのが無難
- 4Kテクスチャなど超重量級は「任意導入用パック」と分ける
必要なものチェックリスト
強制リソースパック運用には、最低限次の3点が必要です。
- Java版と互換性のあるリソースパックZIP(
pack.mcmetaで1.21系のpack_formatに対応しているもの) - HTTP/HTTPSで直接ZIPを返す配布URL
- ブラウザで開いてそのままZIPダウンロードが始まる、もしくは即ZIP保存されること(mc.server-memo.net)
- リソースパックZIPのSHA-1ハッシュ値(40文字の16進数・小文字推奨)
ここまで揃っていれば、あとはserver.propertiesを正しく書くだけです。
server.propertiesで強制リソースパックを設定する
このパートでは、server.propertiesのどこをどう書き換えれば良いかを、完成形のサンプルとともに解説します。server.propertiesの編集ミスが原因のトラブルも多いので、値の意味まで押さえておくと後々のデバッグがかなり楽になります。(マインクラフト ウィキ)
主要パラメータの意味
server.propertiesで関わる主な項目は次の4つです。(マインクラフト ウィキ)
resource-pack- サーバーリソースパックのダウンロードURL。
resource-pack-sha1- ZIPのSHA-1ハッシュ値。
- クライアント側でファイル整合性を検証し、内容が変わったかどうかの判定に使われる。
require-resource-packtrueにすると「リソースパックを有効にしないなら接続できない」挙動になる。(support.aternos.org)
resource-pack-promptrequire-resource-pack=true時に表示されるメッセージ(JSON形式のチャットコンポーネント)。
実際の設定例(サンプルconfig)
例えば、CDNにアップしたmyserver-pack.zipを強制配布する場合の例です。
# サーバーリソースパック設定例
resource-pack=https://cdn.example.com/mc/myserver-pack.zip
resource-pack-sha1=1a2b3c4d5e6f7890abc1234567890def12345678
require-resource-pack=true
resource-pack-prompt={"text":"このサーバー専用リソースパックが必要です。ダウンロードしてから参加してください。","color":"gold"}
ポイント:
resource-pack-sha1は小文字の16進数40文字で記載(大文字でも動く例もありますが、公式ドキュメントは小文字を推奨)(マインクラフト ウィキ)- 一部の古いバージョンではURL内の
:や=にバックスラッシュエスケープが必要だったため、古いサーバーを流用している場合は注意(マインクラフト ウィキ)
よくあるミスとログの見方
起動ログやコンソールに次のような症状が出る場合があります。
Invalid sha1 for resource-pack-sha1と黄色い警告が出る- → 設定したSHA-1とZIPの中身が食い違っている。ZIPを作り直したら必ずSHA-1を再計算する。(マインクラフト ウィキ)
- クライアント側で「リソースパックダウンロードに失敗しました」
- → URLがログイン必須のサービス(Googleドライブ/Dropboxなど)の共有リンクになっている、またはHTTP→HTTPSリダイレクトやエラー画面が返ってきているケースが多い。(揚げポテほかほかクラフト)
require-resource-pack=trueなのに、拒否しても入れてしまう- → 古いクライアントや改造クライアントでは完全には強制できない例も報告されており、プラグイン側で2重チェックする運用もある。(Reddit)
SHA-1ハッシュ値の計算方法(Windows / macOS / Linux)
SHA-1はファイル内容を元にした「指紋」のような値で、1ビットでも中身が変わると全く別の値になります。サーバーリソースパックでは、ZIPが書き換えられていないかの検証と、クライアント側のキャッシュ制御に使われるため、必ずZIPを確定させてから最後に1回だけ計算するのがポイントです。(Quicca Plus)
SHA-1を設定するメリット
- ZIPが変更されたときだけ再ダウンロードされるため、接続ごとの無駄なダウンロードを減らせる
- 配布途中で破損したファイルをクライアントが弾いてくれる
- 改ざん検出の一助になる(セキュリティ目的としてはSHA-2の方が望ましいが、マイクラ側仕様に合わせてSHA-1を利用)(マインクラフト ウィキ)
WindowsでのSHA-1計算(標準機能のみ)
Windowsでは追加ソフト無しで、コマンドプロンプトかPowerShellからSHA-1を取得できます。(Qiita)
- PowerShellでの例(おすすめ)
# カレントディレクトリにある server-pack.zip のSHA-1を取得
Get-FileHash .\server-pack.zip -Algorithm SHA1
Hash列に表示された40桁の値を、小文字に変換してresource-pack-sha1に貼り付けます。
- コマンドプロンプト(cmd)での例
certutil -hashfile C:\minecraft\server-pack.zip SHA1
SHA1 ハッシュの行に出てくる16進数の列がSHA-1です。スペースを除いて1行にくっつけたものを使います。(Qiita)
macOS / LinuxでのSHA-1計算
macOSとLinuxでは、標準で入っているshasumまたはsha1sumコマンドを使うのが簡単です。(twelite.gitbook.io)
# macOS 推奨
shasum -a 1 server-pack.zip
# Linux でよく使われるコマンド
sha1sum server-pack.zip
先頭に表示される40桁の値がSHA-1です。こちらも小文字のままresource-pack-sha1に設定します。
ハッシュが合わないときの確認ポイント
- ZIPを再圧縮した、ファイルを1つ追加/削除した
→ そのたびにSHA-1は変わるので、再計算してserver.propertiesを書き直す - OSが違う複数のマシンで計算して値が一致しない
→ ZIPファイル自体が別物になっていないか(パスが違う/古い版を参照している)を確認
CDN・外部ストレージでリソースパックを高速配布する
サーバーリソースパックは、サーバー参加者全員が接続時にダウンロードします。そのため「どこに置くか」は非常に重要で、無料ストレージの共有リンクをそのまま使うと、遅い・失敗する・突然リンクが変わるといった問題を起こしがちです。(揚げポテほかほかクラフト)
なぜGoogleドライブやDropboxは非推奨か
日本語の解説記事でも、GoogleドライブやDropboxの共有リンクをresource-packに指定してトラブルになった事例が多数紹介されています。(揚げポテほかほかクラフト)
主な理由は以下のとおりです。
- 共有URLがHTMLページを返しており、直接ZIPを返していない
- ユーザーのログイン状況・アクセス数に応じて挙動やURLが変わる
- ダウンロード制限に引っかかると、一時的にブロックされる
結果として、クライアントからは「ダウンロード失敗」にしか見えません。サーバー側にもエラーは残らないので、原因が追いづらくなります。
MCPacksなどの「リソースパック専用CDNサービス」
最近はMCPacksのように、リソースパックをアップロードすると直リンクURLとSHA-1を同時に発行してくれるサービスも増えています。(揚げポテほかほかクラフト)
特徴:
- ブラウザからZIPをアップロード → CDN経由のURLが発行される
- サーバー向けに
resource-pack用URLとresource-pack-sha1用のハッシュ値をそのままコピペできる - キャッシュや高速配信まわりをほぼ丸ごと任せられる
※海外サービスも多いため、規約や保存期間、容量制限(例:100MBまで)を確認の上で使うのがおすすめです。
GitHub + jsDelivr構成(無料枠での定番)
Quicca+の解説などでも紹介されている定番構成が、GitHubリポジトリでZIPを管理し、jsDelivrをCDNとして噛ませるパターンです。(Quicca Plus)
大まかな流れ:
- GitHubのプライベート/パブリックリポジトリに
resourcepacksフォルダを作り、my-pack.zipを置く https://cdn.jsdelivr.net/gh/<ユーザー名>/<リポジトリ名>/resourcepacks/my-pack.zipのようなURLをresource-packに設定- ZIPを更新してコミットすると、CDNに自動反映
GitHubで変更履歴を管理できるため、「いつ/誰が/何を変えたか」が明確になります。
本格運用:オブジェクトストレージ+CDN
プレイヤー数が多いサーバーや複数サーバーを束ねるネットワークでは、S3互換オブジェクトストレージ+CDN(例:AWS S3+CloudFrontなど)を使う構成が定番です。
- オブジェクトストレージにZIPをアップロードして静的ファイル公開を有効化
- CDN側でキャッシュ+高速配信を行う
- 期限付きURL(署名付きURL)を使えば、外部への直リンクを制限することも可能
古いクライアントでは一部のSSL証明書(Let’s Encrypt系など)で問題が起きた事例もありますが、1.17以降は新しいJavaランタイム採用により多くが解消されています。(Modrinth)
実践手順:ゼロから強制リソースパック配布を完成させる
ここからは「この通りにやれば、とりあえず動く」ことをゴールに、手順を一気にまとめます。細かいチューニングは後からでも良いので、まずは1つのパックを強制配布できる状態を作りましょう。
手順1:リソースパックZIPを用意する
- シングル用に作ったリソースパックや配布パックをベースにする
pack.mcmetaのpack_formatが現在のサーバーバージョン(例:1.21.x)に対応しているか確認- 内容が固まったらZIPを作り直し、今後は中身を変えない
手順2:配布先(CDNまたはレンタルサーバー)にアップロード
- MCPacksやGitHub+jsDelivrなどを利用して、ブラウザからアクセスすると即ZIPがダウンロードされるURLを用意します。(揚げポテほかほかクラフト)
- すでにWebホスティング(ロリポップ!やColorfulBoxなど)を契約しているなら、そこに
/resourcepacks/ディレクトリを作り、FTP/SFTPでアップロードしてもOKです。
ブラウザでURLを開き、保存ダイアログや自動ダウンロードが発生することを確認してください。
手順3:SHA-1ハッシュを計算する
OSに応じて前述の手順でSHA-1を取得します。
- Windows:
Get-FileHash -Algorithm SHA1またはcertutil -hashfile ... SHA1(Qiita) - macOS / Linux:
shasum -a 1またはsha1sum
得られた40桁のハッシュ値を控えておきます。
手順4:server.propertiesを編集する
server.propertiesを開き、以下の4行を追加・修正します。
resource-pack=https://あなたの配布URL/myserver-pack.zip
resource-pack-sha1=取得した40桁のSHA1
require-resource-pack=true
resource-pack-prompt={"text":"このサーバーでは専用リソースパックが必須です。ダウンロードしてから遊んでください。","color":"gold"}
保存したらサーバーを再起動します。
手順5:クライアント側の設定と動作確認
- マルチプレイ画面でサーバーを選び、「編集」→「サーバーリソースパック」を
確認または有効に変更(Minehut Forums) - サーバーに接続し、ダウンロード~適用までの流れを確認
require-resource-pack=trueにしている場合、拒否すると接続が切断されることも確認
より具体的なイメージを掴みたい場合は、サーバーリソースパックの導入を解説している日本語動画も参考になります:
- 例:サーバーリソースパックを紹介する日本語解説動画
- https://www.youtube.com/watch?v=AhlrnY_xkXw (リソースパック導入の流れを視覚的に確認)
比較表・料金表(配布方法別の特徴)
ここでは、「どこにZIPを置くか」という観点で代表的な配布方法を比較します。
| 配布方法 | 初期難易度 | 想定コスト | 容量の目安 | 向いているケース |
|---|---|---|---|---|
| MCPacksなど専用CDNサービス | 低 | 無料〜月額少額 | サービスごとの上限(例:〜100MB程度) | とりあえず簡単に始めたい個人サーバー |
| GitHub + jsDelivr | 中 | GitHub無料枠 | GitHubの上限まで | バージョン管理もしたい技術寄りの管理者 |
| 共有レンタルサーバー(HTTP公開) | 低〜中 | 数百円〜 | プラン容量次第 | 既にWebサイトを持っており一緒に管理したい |
| S3互換ストレージ+CDN | 高 | 従量課金 | 実質大容量 | 大規模サーバー、複数鯖ネットワーク |
マイクラの強制リソースパック運用に向いたレンタルサーバー・VPSの例(5社まで)

ここからは、実際にマイクラサーバーとリソースパック配布を運用しやすい国内サービスを5つピックアップして紹介します。
どれを選ぶか迷う場合は、質問に答えていくだけで自分に合うサーバーを絞り込める「AIサーバー診断ナビ」(https://comparison.quicca-plus.com/)も併用すると、人数や予算に合わせた候補を素早く比較できます。
XServer VPS for Game(ゲーム特化VPS)
公式:https://www.quicca-plus.com/svnavi/rdrt.php?ad=5098
- Minecraft(Java版・統合版)や他ゲームに特化したVPSで、管理パネルからマルチサーバーを数クリックで構築可能(vps.xserver.ne.jp)
- 高性能CPU(AMD EPYC)+NVMe SSDで、大人数や高負荷MOD環境でも余裕があるスペック構成が特徴(games.xserver.ne.jp)
- マイクラだけでなく、Rustや7 Days to Dieなど他ゲームも同じVPSで動かしたい場合にも相性◎
強制リソースパックとの相性
Java版サーバーをPaper/Spigotで構築しつつ、別途WebホスティングやCDNと組み合わせれば、負荷の高いゲーム処理と静的配布を分離できます。
ConoHa for GAME(初心者フレンドリーなゲームサーバー)
公式:https://www.quicca-plus.com/svnavi/rdrt.php?ad=5051
- ブラウザ上の「Minecraft manager」から、バージョン変更・難易度・ホワイトリスト・バックアップなどをGUI操作で管理できる(ConoHa)
- 月額数百円台から始められ、MOD対応や自動バックアップも用意されている
- コマンド操作に慣れていない管理者でも、短時間でサーバーを立ち上げ可能
強制リソースパックとの相性
SSHでサーバーに入れるため、server.propertiesの編集も容易です。まずConoHa for GAMEでマルチサーバーを構築し、本記事の通りにresource-packなどの設定を加えるのがシンプルな流れです。
LOLIPOP! for Gamers(マネージャー連携の手軽さ重視)
公式:https://www.quicca-plus.com/svnavi/rdrt.php?ad=5096
- 「Minecraftマネージャー」で、サーバーバージョン変更やOP権限、難易度変更などをブラウザから直感的に操作可能(gamers.lolipop.jp)
- Java版・統合版どちらにも対応し、管理画面のUIがわかりやすい
- すでにロリポップ!の共用サーバーを使っている人は、同じGMO系基盤でまとめやすい
強制リソースパックとの相性
GUIで基本設定を行いつつ、サーバーコンソールからserver.propertiesを調整すればOK。リソースパックのZIPは共用レンタルサーバー側(ロリポップ!やColorfulBox)に置いてCDN的に利用する構成も取りやすいです。(gamers.lolipop.jp)
さくらのVPS(自由度と長期安定運用)
公式:https://www.quicca-plus.com/svnavi/rdrt.php?ad=1236
- スタートアップスクリプト「Minecraft Server(Java版)」で、最初の構築が自動化されている(さくらのマニュアル)
- 小規模1GBプランから大人数向けプランまで細かく選べ、長期にわたって安定運用している例が多い(ひきこもろん)
- 他の用途(Web・VPN・開発環境)との併用もしやすく、自分でLinuxを書き換えたい中級者以上に向く
強制リソースパックとの相性
root権限ありのVPSなので、Paper導入・プロキシ導入・CDN連携など自由度が高く、将来的にBungeeCord/Velocity+WorldResourcepacks系プラグインで高度なリソースパック配布をしたい人にもおすすめです。(Modrinth)
カラフルボックス(Web配布先+サーバー用途をまとめたい人向け)
公式:https://www.quicca-plus.com/svnavi/rdrt.php?ad=3428
- 共用レンタルサーバーとして、転送量無制限・無料SSLなどWebサイト運用に強い特徴があり、リソースパックの静的配布にも向いています。(Quicca Plus)
- 別途VPSやゲームサーバーでマイクラ本体を動かし、ColorfulBoxにはブログ&リソースパック配布をまとめると管理が楽
強制リソースパックとの相性https://example.com/resourcepacks/my-pack.zip のように自分のドメインから配布できるため、URLの管理がしやすく、ブランド感も出せます。
よくある質問(FAQ)
Q1. resource-pack-sha1を空欄のままでも動きますか?
結論:動きますが、毎回ダウンロードが走る可能性が高く非推奨です。resource-pack-sha1を設定しない場合、クライアントは「前回と同じパックかどうか」を判断できないため、ログインのたびにZIPをダウンロードし直す挙動になりやすく、接続時間が伸びたり、回線の細い人ほど負荷を感じやすくなります。
Q2. GoogleドライブやDropboxの共有リンクをそのままresource-packに入れても良いですか?
結論:トラブルの元なので避けた方が良いです。
これらの共有リンクはブラウザ向けのHTMLページやログイン確認画面を返すことが多く、Minecraftクライアントから見ると正しいZIPとして解釈できません。その結果、ダウンロード失敗で接続できない・突然動かなくなるといった問題につながります。静的ファイル配信に向いたCDNやレンタルサーバーに置くのが安全です。
Q3. require-resource-pack=trueにしているのに、リソースパックを拒否しても入れてしまうのはなぜですか?
結論:クライアントバージョンやクライアント側設定によっては完全には強制できないためです。
公式の挙動としては、リソースパックを必須にすると「適用する/切断する」の選択ダイアログが表示されますが、一部の古いバージョンや改造クライアントでは、プラグイン等を併用しないと完全な強制にならないケースがあります。その場合は、入室時に自作プラグインでチェックしてキックする、対応バージョンをサーバー側で制限するといった対策が必要です。
まとめ
強制リソースパック配布を安定させる鍵は、**「信頼できる配布元」+「正しいSHA-1」+「server.propertiesの4項目設定」**の3点です。この記事の手順通りに、ZIPをCDNにアップロードし、SHA-1を計算してresource-pack / resource-pack-sha1 / require-resource-pack / resource-pack-promptを設定すれば、今すぐ自分のサーバーで統一された見た目を実現できます。
あとは、プレイヤー数や予算に合わせてXServer VPS for GameやConoHa for GAME、LOLIPOP! for Gamers、さくらのVPS、ColorfulBoxなどからサーバー環境を選び、必要ならAIサーバー診断ナビ(https://comparison.quicca-plus.com/)で候補を絞り込んでください。
今日中に「リソースパックZIPのアップロード → SHA-1取得 → server.properties編集 → 動作確認」まで一気に終わらせて、あなたのサーバーの世界観を完成させましょう。
出典
- Minecraft Japan Wiki「Server.properties」(マインクラフト ウィキ)
- Minecraft Wiki「Server.properties(英語版)」(マインクラフト ウィキ)
- 揚げポテトのブログ「GoogleドライブやDropBoxを使わずにサーバーリソースパックを設定する方法」(揚げポテほかほかクラフト)
- Quicca+「マインクラフトサーバー強制リソースパック配布方法:SHA-1とCDN設定」(Quicca Plus)
- Qiita「Windows の標準機能でファイルのハッシュ値を取得する方法」(Qiita)
- さくらのVPS公式マニュアル「Minecraft Server(Java版)」(さくらのマニュアル)
- ConoHa for GAME公式サイト / Minecraft manager解説(ConoHa)
- XServer VPS for Game公式情報および比較記事(vps.xserver.ne.jp)
- LOLIPOP! for Gamers公式サイトおよびサーバー設定解説(gamers.lolipop.jp)

