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
1
8k
万国のサーバ管理者よ, 自動化せよ!
さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2 のLT枠で発表しました
sksat
November 16, 2021
Tweet
Share
More Decks by sksat
See All by sksat
探査機自作ゼミ2025スライド
sksat
3
840
人になにかを教えるときに考えていること(2025-05版 / VRC-LT #18)
sksat
5
1.2k
人工衛星開発のための C2A フレームワークとその開発体験
sksat
1
460
人工衛星の開発体験向上のために、ソフトウェアからできること
sksat
4
820
3ヶ月でできる! 探査機自作ゼミ教材自作入門
sksat
6
3.3k
セキュリティ・キャンプ全国大会2024 S17 探査機自作ゼミ 事前学習・当日資料
sksat
4
28k
AE Rust 勉強会: github-webhook-rs
sksat
0
280
teleka.suを支える技術
sksat
1
16k
ふつうのLinuxプログラミング-プロセスとハードウェア
sksat
26
8.1k
Other Decks in Programming
See All in Programming
2025 컴포즈 마법사
jisungbin
0
120
モデル駆動設計をやってみよう Modeling Forum2025ワークショップ/Let’s Try Model-Driven Design
haru860
0
150
開発生産性が組織文化になるまでの軌跡
tonegawa07
0
160
Tangible Code
chobishiba
3
560
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
550
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
750
レイトレZ世代に捧ぐ、今からレイトレを始めるための小径
ichi_raven
0
350
Vueで学ぶデータ構造入門 リンクリストとキューでリアクティビティを捉える / Vue Data Structures: Linked Lists and Queues for Reactivity
konkarin
1
290
What's New in Web AI?
christianliebel
PRO
0
130
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
CSC509 Lecture 13
javiergs
PRO
0
250
チーム開発の “地ならし"
konifar
7
4.5k
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Large-scale JavaScript Application Architecture
addyosmani
514
110k
Balancing Empowerment & Direction
lara
5
750
Done Done
chrislema
186
16k
Code Reviewing Like a Champion
maltzj
527
40k
Music & Morning Musume
bryan
46
6.9k
Automating Front-end Workflow
addyosmani
1371
200k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
BBQ
matthewcrist
89
9.9k
Rails Girls Zürich Keynote
gr2m
95
14k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
658
61k
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からは逃げられない