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
万国のサーバ管理者よ, 自動化せよ!
Search
sksat
November 16, 2021
Programming
8.4k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
万国のサーバ管理者よ, 自動化せよ!
さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2 のLT枠で発表しました
sksat
November 16, 2021
More Decks by sksat
See All by sksat
:syncing_time:
sksat
3
1.2k
探査機自作ゼミ2026
sksat
1
680
SIMD
sksat
1
40
同時複数機開発・運用のDevOpsサイクル高速化のための取り組み
sksat
0
1.4k
探査機自作ゼミ2025スライド
sksat
3
2.3k
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
6
2.6k
人工衛星開発のための C2A フレームワークとその開発体験
sksat
1
760
人工衛星の開発体験向上のために、ソフトウェアからできること
sksat
4
1.5k
3ヶ月でできる! 探査機自作ゼミ教材自作入門
sksat
6
4.2k
Other Decks in Programming
See All in Programming
JIS keyboard support in Omarchy
lef237
0
180
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
1
1.9k
Lambda durable functionsでHuman in the Loopを楽に…楽に……
har1101
2
250
Crash Auto Pipelines
veronikapj
1
320
Event is what happens
moro
2
2.9k
クラウドゲーミングのパフォーマンス最適化に挑む / Cloud Gaming Performance Tuning
vivion
0
320
AI時代のFlutter品質設計 — アプリ品質を守るQuality Layers
omatty198
0
340
HTML-in-Canvasで作る未来のWeb UI表現
clockmaker
5
6.1k
複数ドメインを一つのアプリに統合するFlutterの設計と運用_FlutterKaigi2026登壇資料(須永高弘)
takahirosunaga
0
130
Python Lambdaにおけるテストしやすい設計とAI支援の活用 / Designing Testable Python Lambda Functions with AI
kitano_yuichi
1
280
[JA] Domain Modeling with Vanilla Rails: 「操作」から再考するRailsの設計論
yasaichi
4
1.7k
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.4k
Featured
See All Featured
Intergalactic Javascript Robots from Outer Space
tanoku
273
28k
My Coaching Mixtape
mlcsv
0
380
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
550
What does AI have to do with Human Rights?
axbom
PRO
1
2.5k
Into the Great Unknown - MozCon
thekraken
41
2.8k
A better future with KSS
kneath
240
18k
Evolving SEO for Evolving Search Engines
ryanjones
0
350
What the history of the web can teach us about the future of AI
inesmontani
PRO
2
780
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.4k
A Soul's Torment
seathinner
8
3.9k
[Rails World 2026] Durable orchestration on Rails: from continuation to workflow
palkan
2
1k
Ruling the World: When Life Gets Gamed
codingconduct
0
430
Transcript
万国のサーバ管理者よ, 自動化せよ! sksat (mc.yohane.su 管理者) Администраторы сервера всех стран, автоматизируйте!
さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2
自己紹介 ・sksat ・最近はインターンで人工衛星作ってる ・マイクラはあんまりやってない ・マイクラでオーバーエンジニアリングするのはたのしい ・mc.yohane.su 管理者
mc.yohane.su
mc.yohane.su
None
変なドメインで鯖やってます
構成 ・オンプレ ・PaperMC,ほぼバニラ ・ユーザ管理: ホワイトリスト方式 ・サーバ管理: GitHub ・デプロイ: 全自動 ・プラグイン:
自動更新
オンプレ ・コイツ ・コレを直接公開? → No
Cloudflare Tunnel Cloudflare Accessデータシートより
過労死太郎,過労死! 満 を持 して! 今はこのマシンで動いてます ... 発表1週間前に!
実際の構成(過労死前) 家 𝙄𝙣𝙩𝙚𝙧𝙣𝙚𝙩 𝙬𝙞𝙧𝙚𝙡𝙚𝙨𝙨 自室 AP (応用情報ではない) 𝙢𝙞𝙘𝙧𝙤𝙬𝙖𝙫𝙚 𝙤𝙫𝙚𝙣 𝓭𝓸𝓸𝓻
𝓭𝓸𝓸𝓻 過労死太郎 cloudflared papermc mc.yohane.su cloudflared 25565 MySQL sql-exporter オタク共
PaperMC ・Spigotのフォーク(なんか速いらしい) ・paperclipという便利システムがある ・公式のjarに対してバイナリパッチ的にパッチ適用するやつ (初回のみ) ・これを含んだコンテナは再配布しても大丈夫 : papermc-dockerを自作 ・開発速度がそこそこ速い
papermc-docker ・コンテナイメージ作りました ・paperclip.jarしか入ってないので再配布 OK ・GitHub Actionsでpaperclip.jarをビルド ・自動でPaperMC/Paperのmasterに追従 ・複数のベースイメージに対応 ・元々はイメージのビルドも mc.yohane.suでやっていたが分離
デプロイするのダルい
自動デプロイ: compose-cd ・自作の雑自動更新スクリプト : compose-cd ・systemd timerでremote repo見に行って更新あったらgit pull ・イメージも新しいのがあったら
docker pull ・更新したらdocker-compose down/up -d
サーバ更新 ・PaperMC:結構開発速い(し,リリース打たない) ・プラグイン:ほぼバニラなのであんまりない ・とはいえ入れたいものはある ・DiscordSRV,CoreProtect,Prometheus Exporter
更新するのダルい
それ,Renovateでできるよ ・Renovate: 依存関係を監視してプルリク送ってくれる太郎 https://renovatebot.com
Renovateで諸々を更新 ・諸々の言語,設定ファイルに対応 ・Cargo.toml, docker-compose.ymlなど ・対応してないやつも正規表現でマッチできる ・コンテナは別repoにしてdigestを更新 ・https://github.com/sksat/papermc-docker/
ユーザ管理 ・最初はなにも考えずに全開放 ・荒らしが来た →ホワイトリスト
whitelist.json
SSHして追加するのダルい
GitHubに置いてしまえ
whitelist.jsonの検証ダルい
minecraft-whitelist-validator ・Rustで雑に書いた ・GitHub marketplaceに公開(簡単に使える) ・誰が使うんだこんなの
サーバの様子 ・ゲーム内の問題もIssueで! ・やたら昆布がある ・やたら卵がある ・やたら人参がある
やたらって何個?
正しい評価は正しい計測から
無茶振り ・手近な異常プラグイン開発者に依頼
できた
できた ・kory33/itemstack-count-infrastructure
サーバ管理・発表: sksat
僕の無茶振りでプラグインを開発: Kory__3
ロシア語監修: hsjoihs
いくら自動化しようが disk fullからは逃げられない