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
万国のサーバ管理者よ, 自動化せよ!
Search
sksat
November 16, 2021
Programming
8.3k
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
同時複数機開発・運用のDevOpsサイクル高速化のための取り組み
sksat
0
1.2k
探査機自作ゼミ2025スライド
sksat
3
2.1k
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
6
2.4k
人工衛星開発のための C2A フレームワークとその開発体験
sksat
1
630
人工衛星の開発体験向上のために、ソフトウェアからできること
sksat
4
1.4k
3ヶ月でできる! 探査機自作ゼミ教材自作入門
sksat
6
4k
セキュリティ・キャンプ全国大会2024 S17 探査機自作ゼミ 事前学習・当日資料
sksat
4
34k
AE Rust 勉強会: github-webhook-rs
sksat
0
320
teleka.suを支える技術
sksat
1
17k
Other Decks in Programming
See All in Programming
壊れたパーサから始める関数型設計と構成的なパーサ
raiga0310
2
140
SREは、MCPとSRE Agentをこう使え!
kazumax55
0
140
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
990
TSKaigi Night Talks 2026_TypeScriptでサプライチェーンの整合性を型に閉じ込める
geekplus_tech
0
430
セキュリティの専門家じゃなくてもできる。「セキュリティ意識」をアップデートして サプライチェーン攻撃への耐性を高めよう。
tk3fftk
5
1k
【やさしく解説 設計編 #0】DDDのコード、読めるのに分からない人へ
panda728
PRO
1
190
エンジニアにデザインハーネスを 〜デザインプロセスを規定するためのハーネス〜 / Design harness from an engineer's perspective
rkaga
2
690
Agentic UI
manfredsteyer
PRO
0
220
Dataformのリポジトリを立ち上げるときにまずやること / dataform-day0-2026
snhryt
0
210
20260623_Loop Engineeringで自分の分身の問い合わせBotを作る
ryugen04
0
110
AI駆動開発を妨げる技術的負債の解消アプローチ / ai-refactoring-approach
minodriven
17
8.6k
AI時代のUIはどこへ行く?その2!
yusukebe
22
7.7k
Featured
See All Featured
Designing for Timeless Needs
cassininazir
1
270
How GitHub (no longer) Works
holman
316
150k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
230
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2.1k
WCS-LA-2024
lcolladotor
0
670
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
340
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
410
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
72
40k
Building Applications with DynamoDB
mza
96
7.1k
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
440
KATA
mclloyd
PRO
35
15k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
240
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からは逃げられない