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
Miyamoto Naoyuki
June 20, 2026
Technology
100
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
310
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
230
HTTPに新しいMethod! QUERY RFC10008
supurazako
0
37
あえてPHPでリアルタイム通信をやってみる
supurazako
0
410
標準化っていいな〜JANOGでの学び〜
supurazako
0
100
Other Decks in Technology
See All in Technology
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
210
子育てエンジニアの可処分時間が減っても成長を諦めない戦い方
sudoakiy
4
4.1k
おそらく日本で唯一のDevRelインターン生として
husengs7
0
170
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
1
590
分析の民主化を支えるメタデータ整備の実践
kakehashi
PRO
3
1.1k
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
210
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
5
2.1k
LocalStack を使ったサーバーレスアプリケーション開発 / Serverless Development with LocalStack
kakakakakku
1
320
継続的なAIコスト最適化
bgpat
1
260
二歩目のフロントエンド・ウェブアクセシビリティ
camiha
2
210
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
110
Featured
See All Featured
Navigating the moral maze — ethical principles for Al-driven product design
skipperchong
2
610
Navigating Weather and Climate Data
rabernat
0
550
The Cult of Friendly URLs
andyhume
79
7k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
490
Agile that works and the tools we love
rasmusluckow
331
22k
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
6.1k
Docker and Python
trallard
47
4.2k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
420
Context Engineering - Making Every Token Count
addyosmani
9
1.2k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
4.2k
A better future with KSS
kneath
240
18k
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の記事が出てきます
おまけ