Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MinecraftにP2Pが来るぞ!
Search
Miyamoto Naoyuki
June 20, 2026
Technology
90
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
280
ビデオ通話が繋がる0.2秒で何が起きているのか
supurazako
2
200
HTTPに新しいMethod! QUERY RFC10008
supurazako
0
33
あえてPHPでリアルタイム通信をやってみる
supurazako
0
380
標準化っていいな〜JANOGでの学び〜
supurazako
0
99
Other Decks in Technology
See All in Technology
Kiro Crew で始める マルチエージェント開発
miu_crescent
PRO
0
180
型落ちシンクライアント端末のPoEモジュールを自作したかった話
logica0419
0
410
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
4
26k
【GCC2026】大規模言語モデルを活用した内製検索サービスの社内展開や業務活用
bandainamcostudios
PRO
0
530
8bit CPU 2026
koba789
7
2.8k
AI時代のアウトプット――変わったこと、変わらないこと / Devsumi 2026 Kansai #devsumi
jnchito
0
550
平文パスワードはログに“残り” ── 肝心の侵入は“痕跡すら残らない”
kuroneko13
0
130
Data Hubグループ 紹介資料
sansan33
PRO
0
3.2k
2027年のMetricKit
kantacky
0
170
三人寄ればチューリング完全
puhitaku
6
3.1k
巨大気象データと戦う ― サロゲートモデル学習を高速化する圧縮技術
gpuunite_official
0
260
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3.2k
Featured
See All Featured
So, you think you're a good person
axbom
PRO
2
2.1k
Marketing Yourself as an Engineer | Alaka | Gurzu
gurzu
0
280
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1.9k
Testing 201, or: Great Expectations
jmmastey
46
8.2k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
870
The Limits of Empathy - UXLibs8
cassininazir
1
610
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Rails Girls Zürich Keynote
gr2m
96
14k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
2.5k
The Cult of Friendly URLs
andyhume
79
7k
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
950
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
141
35k
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の記事が出てきます
おまけ