Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
万国のサーバ管理者よ, 自動化せよ! sksat (mc.yohane.su 管理者) Администраторы сервера всех стран, автоматизируйте! さくらのマイクロコミュニティ マイクラサーバー管理者の会 #2
Slide 2
Slide 2 text
自己紹介 ・sksat ・最近はインターンで人工衛星作ってる ・マイクラはあんまりやってない ・マイクラでオーバーエンジニアリングするのはたのしい ・mc.yohane.su 管理者
Slide 3
Slide 3 text
mc.yohane.su
Slide 4
Slide 4 text
mc.yohane.su
Slide 5
Slide 5 text
No content
Slide 6
Slide 6 text
変なドメインで鯖やってます
Slide 7
Slide 7 text
構成 ・オンプレ ・PaperMC,ほぼバニラ ・ユーザ管理: ホワイトリスト方式 ・サーバ管理: GitHub ・デプロイ: 全自動 ・プラグイン: 自動更新
Slide 8
Slide 8 text
オンプレ ・コイツ ・コレを直接公開? → No
Slide 9
Slide 9 text
Cloudflare Tunnel Cloudflare Accessデータシートより
Slide 10
Slide 10 text
過労死太郎,過労死! 満 を持 して! 今はこのマシンで動いてます ... 発表1週間前に!
Slide 11
Slide 11 text
実際の構成(過労死前) 家 𝙄𝙣𝙩𝙚𝙧𝙣𝙚𝙩 𝙬𝙞𝙧𝙚𝙡𝙚𝙨𝙨 自室 AP (応用情報ではない) 𝙢𝙞𝙘𝙧𝙤𝙬𝙖𝙫𝙚 𝙤𝙫𝙚𝙣 𝓭𝓸𝓸𝓻 𝓭𝓸𝓸𝓻 過労死太郎 cloudflared papermc mc.yohane.su cloudflared 25565 MySQL sql-exporter オタク共
Slide 12
Slide 12 text
PaperMC ・Spigotのフォーク(なんか速いらしい) ・paperclipという便利システムがある ・公式のjarに対してバイナリパッチ的にパッチ適用するやつ (初回のみ) ・これを含んだコンテナは再配布しても大丈夫 : papermc-dockerを自作 ・開発速度がそこそこ速い
Slide 13
Slide 13 text
papermc-docker ・コンテナイメージ作りました ・paperclip.jarしか入ってないので再配布 OK ・GitHub Actionsでpaperclip.jarをビルド ・自動でPaperMC/Paperのmasterに追従 ・複数のベースイメージに対応 ・元々はイメージのビルドも mc.yohane.suでやっていたが分離
Slide 14
Slide 14 text
デプロイするのダルい
Slide 15
Slide 15 text
自動デプロイ: compose-cd ・自作の雑自動更新スクリプト : compose-cd ・systemd timerでremote repo見に行って更新あったらgit pull ・イメージも新しいのがあったら docker pull ・更新したらdocker-compose down/up -d
Slide 16
Slide 16 text
サーバ更新 ・PaperMC:結構開発速い(し,リリース打たない) ・プラグイン:ほぼバニラなのであんまりない ・とはいえ入れたいものはある ・DiscordSRV,CoreProtect,Prometheus Exporter
Slide 17
Slide 17 text
更新するのダルい
Slide 18
Slide 18 text
それ,Renovateでできるよ ・Renovate: 依存関係を監視してプルリク送ってくれる太郎 https://renovatebot.com
Slide 19
Slide 19 text
Renovateで諸々を更新 ・諸々の言語,設定ファイルに対応 ・Cargo.toml, docker-compose.ymlなど ・対応してないやつも正規表現でマッチできる ・コンテナは別repoにしてdigestを更新 ・https://github.com/sksat/papermc-docker/
Slide 20
Slide 20 text
ユーザ管理 ・最初はなにも考えずに全開放 ・荒らしが来た →ホワイトリスト
Slide 21
Slide 21 text
whitelist.json
Slide 22
Slide 22 text
SSHして追加するのダルい
Slide 23
Slide 23 text
GitHubに置いてしまえ
Slide 24
Slide 24 text
whitelist.jsonの検証ダルい
Slide 25
Slide 25 text
minecraft-whitelist-validator ・Rustで雑に書いた ・GitHub marketplaceに公開(簡単に使える) ・誰が使うんだこんなの
Slide 26
Slide 26 text
サーバの様子 ・ゲーム内の問題もIssueで! ・やたら昆布がある ・やたら卵がある ・やたら人参がある
Slide 27
Slide 27 text
やたらって何個?
Slide 28
Slide 28 text
正しい評価は正しい計測から
Slide 29
Slide 29 text
無茶振り ・手近な異常プラグイン開発者に依頼
Slide 30
Slide 30 text
できた
Slide 31
Slide 31 text
できた ・kory33/itemstack-count-infrastructure
Slide 32
Slide 32 text
サーバ管理・発表: sksat
Slide 33
Slide 33 text
僕の無茶振りでプラグインを開発: Kory__3
Slide 34
Slide 34 text
ロシア語監修: hsjoihs
Slide 35
Slide 35 text
いくら自動化しようが disk fullからは逃げられない