初心者がRaspberry Piでminecraftサーバーを立てる

833 Views

July 25, 26

スライド概要

Raspberry Pi(SSD取り付け) + Docker + playitでminecraftサーバーを立てて公開する方法です

profile-image

アニメ、ラノベ、きららが好きです 競技プログラミング、電子工作、Web系のなにかに興味があります。

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

(ダウンロード不可)

関連スライド

各ページのテキスト
1.

初心者がRaspberry Piで minecraftサーバーを立てる わたしが鯖主になれるわけないじゃん、ムリムリ! (※ムリじゃなかった!?)

2.

目次 • まえがき • サーバー用PCは? • SBCについて • サーバーを立ててどうする? • (事前準備)ストレージをSSDに • マイクラサーバ導入 • 今後の展望

3.

情報技術者なら おうちサーバしたい したくない. . .?

4.

鯖主になれるわけないじゃん • 機材なし • グローバルIPなし • サーバ公開したことなし • お金なし • ドメインなし

5.

なんもねえ ©にゃんにゃんファクトリー・講談社/ヤニねこ製作委員会

6.

足りないものは知識とサービスのフリープランで埋める。 これも技術のうち。

7.

docker.ioからイメージをpullできないんですけど(自責:updateしてなかった) サーバー用PCは 楽に環境構築する方法は? サーバーを早くするには メモリ上限は? ユーザ何人まで Dockerのimageとかないんか? 設定ファイルの使い方は? コマンドあっている? ホワイトリストにユーザが入ってへん 知識がないならLLMに聞けばいいじゃない バージョン1.21からいきなり26.2になったのなんで サーバーへのSSD取り付けに必要な機材は? SDカードばいばいなーん 運用方法は? 外部からサーバーを操作する方法は? 外部への公開方法は? Cloudflare でいい? オーバーヘッドがデカすぎます スマホから SSHしたい

8.

サーバー用PCは? • ノートPCは論外 • 理由は怖いから • バッテリーが死ぬ • 発火の恐れ • 秋葉でジャンクPC買ってなんとか • でもデスクトップ常時起動は電気代高そう • 最近だとミニPCとかProxmoxとか流行っているらしいけど、そ こまで手間(?)とお金はかけないつもり

9.

サーバー用PCは? • ノートPCは論外 • 理由は怖いから • バッテリーが死ぬ • 発火の恐れ SBCを使う • 秋葉でジャンクPC買ってなんとか • でもデスクトップ常時起動は電気代高そう • 最近だとミニPCとかProxmoxとか流行っているらしいけど、そ こまで手間(?)とお金はかけないつもり

10.

SBCについて • Single Board Computer(SBC) 整形は関係ない • 一つの基盤にCPUや入出力がある • 電子工作に使用されることが多い • 消費電力が少ない! • 秋月電子、千石電商、シリコンハウスで買えます • 秋葉原、でんでんタウンに行こう!

11.

種類を紹介

12.

Raspberry Pi • 電子工作と言ったらこれ? • Raspberry Piシリーズ • 無印 • 基本シリーズ • 専用OSがある • Compute Module • 工業用 • Zeroシリーズ • 基本シリーズをさらにシンプルにしたもの • 一応Webサーバーとかできる • https://speakerdeck.com/arkw/1500yuan-deshi-meruzi-zhai-uebusaba • Picoシリーズ • OSはない • マイコン

13.

Orange Pi • Raspberry Piのパチモン競合候補 • 割とコスパはいい • アリエクで買いましょう • モデル • 無印 • Plus • Ultra

14.

その他 • Banana Pi • Rock • NanoPi • Libre Computer • Pine64 • NVIDIA Jetson • Google Coral Dev Board • SiFive HiFive

15.

サーバーを立ててどうする? • そもそも静的サイトならNetlify、Vercelとかあるし立てる必要 ある? • こだわりがあるならWebサイトもOK • 通常ならお金のかかるものを(ほぼ)無料にしたいかつ、自分が やりたいことを考えてみる

16.

ゲームしたい...

17.

やりましょう!!!

18.

サーバーの目的 • マイクラを複数人でやりたいがマルチプレイでサーバーを借り るとそこそこかかるので電気代以外無料でやる

19.

ちょっとその前に

20.

SDカードは書き込みが遅いので不適 • Raspberry Piは基本的にmicroSDカードで起動をするが、 microSDカードだと10~30MB/s • 頻繁な読み書きは想定されていない • 多分壊れやすい素材なのであまり使いたくない

21.

(事前準備)ストレージをSSDに • 買ったもの • SSD(USB接続ではない生の) • SSD HAT • 金属ケース • ヒートシンク • 手順 • SDカードのOSからSSDを認識させる • マウント • OS ImagerでSSDへ書き込み

22.

ここから本篇

23.

Java版 vs 統合版 MOD入れられていろいろ試せる Java版一択!

24.

マイクラJava Editionサーバー導入 • 公式が提供しているVanillaではなく機能が改良された PaperMCを使う • クライアント側でライセンスにお金はいるけどサーバーはなん と無料 • もし課金する場合だとReamsがよく使われる • 3人 $3.99 bedrock • 11人 $7.99 bedrock・java • Java EditionだとMODが使える!←重要

25.

仮想化で実施 • ローカルを汚したくないのでDockerを使用する docker compose(サーバー) minecraft playit agent © playit クライアント

26.

マイクラサーバーのイメージ • itzg/minecraft-server • めっちゃ管理されているマイクラサーバのdockerイメージ • docker-compose.ymlの環境変数を設定するだけでいい感じに • メモリ上限 • 最大プレイヤー • ワールド難易度 docker-compose.yml

27.

公開ツールのエージェント • playit • アクセスキーを取得してエージェントとトンネルを作成 仕組み クライアント © playit サーバー

28.

起動!

29.

動いた!

30.

感激のあまり(泣く)

31.

外からSSHできるように設定しよう • トラブルがあったときに、外部からコンテナの再起動などを行 えるようにしたい • 方法 • 鍵を作成、転送 • Tailscale設定 SSH サーバー インターネット 外部端末

32.

鍵を作成、転送 • 鍵を作る • PC • クライアントでkey作成 • Scpとかで、ホスト名やローカルIP指定して転送 • スマートフォン • termiusをインストール • キーを作成する項目から作成 • パスフレーズなし • メールとかで転送 あとはPCと同じ termius

33.

Tailscale設定 • TailscaleというツールでVPN作成 • Tailscaleのインストールと起動 • Rasberry pi • PC • スマートフォン • TailscaleからIPを確認 • IPやホスト名を指定してSSH! サーバー 外部端末 Tailscaleにつないだ端末は 同じネットワークに所属する

34.

まとめ • SBCとは • Raspberry PiのSSD設定 • Dockerによるマイクラサーバ公開 • マイクラサーバ外部公開 • 外部からSSH

35.

今後の展望 • NASに定期バックアップ • Raid1+0が欲しい • SSDをPCle2からPCle3へ • UPS設定 • 有線接続 • VLANでネットワーク分割 or TailscaleでACL設定 • サーバー、NASを隔離したい! • Raspberry Pi OS Liteで運用 • VNCやRaspberry Pi Connectで外部から接続できるように • 外部からの物理再起動設備 • Switch bot プラグミニとか?