Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
MinecraftにP2Pが来るぞ!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Miyamoto Naoyuki
June 20, 2026
Technology
98
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
MinecraftにP2Pが来るぞ!
えびてく #7
Miyamoto Naoyuki
June 20, 2026
More Decks by Miyamoto Naoyuki
See All by Miyamoto Naoyuki
私がブラウザを自作したくなった理由
supurazako
1
300
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
220
HTTPに新しいMethod! QUERY RFC10008
supurazako
0
35
あえてPHPでリアルタイム通信をやってみる
supurazako
0
390
標準化っていいな〜JANOGでの学び〜
supurazako
0
100
Other Decks in Technology
See All in Technology
Minecraft JavaのMODをSwiftで作る
1mash0
0
170
新機種発売前に見直そう!端末移行で再ログインが要るアプリ・要らないアプリは何が違うのか 〜シームレスに再開できる設計と実装〜
zozotech
PRO
0
200
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
0
130
OpenTelemetryのメトリクスをCloudWatchに送ってPromQLで見てみた
ota1022
0
150
幾何アルゴリズムで なめらかなピン操作を / iOSDC Japan 2026 / smoothpin
kazumanagano
0
350
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
1.7k
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
120
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
31
26k
AI 時代のスタートアップエコシステ厶から考究する技術的負債との向き合い方
m3m0r7
PRO
3
2.2k
白金鉱業Meetup Vol.25 アウトカムが二値のデータに対するCausal Impact
brainpadpr
0
220
LLMに渡さなかった仕事
nanaism
0
530
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
12k
Featured
See All Featured
How to Ace a Technical Interview
jacobian
281
24k
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
300
16th Malabo Montpellier Forum Presentation
akademiya2063
PRO
0
380
Bash Introduction
62gerente
615
220k
Paper Plane
katiecoart
PRO
4
53k
How STYLIGHT went responsive
nonsquared
100
6.3k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
1
530
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
63
46k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
330
Transcript
2026-06-20 えびてく #7 MinecraftにP2Pが来るぞ! 宮本直幸@MSprzk
$ cat profile.service [Unit] Description=Self Introduction After=network.target [Profile] Name="Miyamoto Naoyuki"
Twitter="@Msprzk" Affiliation="北海道情報大学2年" Interest="Network",”Security”,”WebRTC”
None
MinecraftにP2Pがくるぞ!
従来(サーバが必要) 「P2Pがくる」とは 今後(P2Pも可能) ←なくてもOK 直接通信を行い、遊ぶことができる
自分でサーバーを建てる & 参加することの危険性 - ポート開放やUPnPが必要な場合がある - ルーターの設定が必要で、初心者には難しい - 設定をミスって意図しない通信を受け付ける可能性がある -
「友達と少し遊びたい」だけにしては重い - UPnPは便利だが、何が外に開くのか理解せずに使うのは危険
裏で動いている技術 - リアルタイム通信技術 - Zoom, Discord, オンラインゲームなどで 使われている - 基本的に、P2P前提(※)
(※) もちろん、P2Pだけではリアルワールドのサービスは成り立たないので、サーバクライアントモデルをできるよ うにSFUと呼ばれるものが存在したりする
WebRTCの仕組み
待ち合わせ: Signaling
- いきなりゲームデータは送れない - まず「どうつながるかの情報を交換する - これを signaling と呼ぶ Minecraftでは、Mojang側のサービスらしきものを 使っているように見えた
待ち合わせ: signaling
- 直接つながれるなら、そのままP2P接続 - 直接が無理な場合もある →ここからが面白いところです 繋げ方
直接つながらない!
NAT 直接つながらない 詳しく知りたい方はこちらをどうぞ https://www.infraexpert.com/study/ipsec15.html
P2Pを利用する上での問題: 解決策 通信できない
P2Pを利用する上での問題: 解決策 TURNサーバ 通信を迂回させる
P2Pを利用する上での問題: 解決策 TURNサーバ 通信を迂回させる あれ?サーバ必要じゃね?
P2Pだけど、サーバーは必要! Minecraft側がTURNサーバを用意している(太っ腹,多分) シグナリングサーバもMinecraft側(太っ腹,多分) まとめ
Minecraftの通信→TCP WebRTCの通信→UDP(正確にはSCTP) これをうまく流し込んでいるの面白そう 詳細はこちら→ MinecraftのP2Pを調べてみた Googleで[ Minecraft p2p ] でZennの記事が出てきます
おまけ