commit 836007015d71efb47064cb1253fb69fdc76a05c2 parent 4118c6416110c0200a6ecb4ad9e90c096362656b Author: minerva-jupiter <ryouturn@gmail.com> Date: Wed, 17 Jun 2026 07:14:51 +0900 refactor: update and cleanup article metadata - Remove outdated Vim editor post. - Rename Minecraft server post file. - Standardize YAML front matter and update metadata for remaining articles. Diffstat:
| D | public/2025_pim_editor_war_vim_side.md | | | 22 | ---------------------- |
| D | public/a_story_about_setting_up_a_minecraft_bedrock_server_at_home.md | | | 79 | ------------------------------------------------------------------------------- |
| A | public/minecraftBedrockAtHome.md | | | 80 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
| M | public/updated_portage_on_gentoo_from_rsync_to_git.md | | | 70 | +++++++++++++++++++++++++++++++++++----------------------------------- |
4 files changed, 115 insertions(+), 136 deletions(-)
diff --git a/public/2025_pim_editor_war_vim_side.md b/public/2025_pim_editor_war_vim_side.md @@ -1,22 +0,0 @@ ---- -title: 2025年Pimエディタ戦争(Vim側) -tags: -- Vim -private: false -updated_at: '' -id: null -organization_url_name: null -slide: false ---- -# Vim側の意見 -## 自己紹介 -私は収容人数100人超えのチャットサービスとチケット管理サービスのセルフホストを24/365で運用しているチームの一員です. -最近はRust狂信者になるべく,開発を積極的に勧めているところであります. -## Vimとの出会い -私のVimとの出会いは,初めてサーバ業務をしたときでした.テキストエディタviはLinuxに標準的に導入されていて,渡されたドキュメントがviを使って.envファイルを書き直すような内容でした.最初は`how to exit vim`ってなってましたが,モードの概念が導入されてからは,KVMコンソールでサーバに触る機会も多かった私は段々とその便利さに心惹かれていきました. -## メインエディターがNeovimになった経緯 -私はそれまで,VScodeの民だったのですが,vimプラグインを入れて,一行削除などを積極的にするようになっていました.ですが,あるとき,VScodeでTeXファイルを編集して大学のレポートを書いていたとき,AIが勝手にレポートの回答を書き始めてしまったのです.オプションでオフにできるとはいえ,コードを書くときとレポートを書くときで毎回切り替えるのもめんどくさいし,Vibeコーディングというものがあまり好きでない(自分が理解できないコードが溢れてきてデバックさせられるのが嫌)性分でしたので,もはやVScodeから離れたいと思っていたときにNeovimの存在を知りました. -それからは,Neovimの起動の早さと,設定項目の自由度,そして,純粋なるvimの力に浸かるようになりました. -## Vimのいいところ -nanoのようにLinuxの大抵のリポジトリに組み入れられているにも関わらず,便利な機能が多々あり,デフォルトのコンフィグが優秀である点においてVimは素晴らしいエディターです. -EmacsのようにLispの環境を読み込む時間もかかりませんし,拡張機能の種類も非常に豊富です. diff --git a/public/a_story_about_setting_up_a_minecraft_bedrock_server_at_home.md b/public/a_story_about_setting_up_a_minecraft_bedrock_server_at_home.md @@ -1,79 +0,0 @@ ---- -title: 自宅にMinecraft Bedrock Serverを立てた話 -tags: -- Minecraft Bedrock -private: false -updated_at: '' -id: null -organization_url_name: null -slide: false ---- -# 想定読者 -- インフラエンジニア -# 始めに -この記事は半分は備忘録です. -なので,完成品についてだけでなく,試そうとした色々な構成についても書いています. -## 記事の前提 -この記事の前提として,Minecraft Bedrock Server(以下BDS)については知っているものとします. -例えばUDPを使っているみたいな解説はいちいち致しませんのでご了承ください. -# 前記 -以前に使っていたBDSのデプロイ構成を簡単にご紹介したいと思います. -シングルノード上に`Ubuntu Server`をインストールし,その上にdockerを使ってコンテナでBDSのコンテナをデプロイしていました. -コンテナイメージは[`itzg/minecraft-bedrock-server`](https://hub.docker.com/r/itzg/minecraft-bedrock-server)を使用しました. -サーバーを外に出すため,契約していた光回線のポートを一つ解放してUDPバケットを通すような方式にしていました. - -## 反省 -この構成を続けないという決断に至ったのは,この構成でのラグがひどいという報告を受けたからです. -実際にプレイしているところを画面共有見せてもらったりしたのですが,敵をクリックした数秒後にダメージが入った演出があり,その気にはすでにこちらがダメージを負っているみたいなことが珍しくなかったです. -これについて私は深く深く反省し,UXの向上に努めるべく,インフラエンジニアの威信をかけて,次のサーバーをデプロイしようというところであります. - -# 構成の構想 -ひと口にラグを改善するといっても手段は幾通りもあります.ここで注目したいのは,前回LAN内で折り返しをしていた私のプレイだけは非常に快適だったことです.つまりのところサーバー側に関してはほとんど問題なく稼働しており,サーバーが外に出るまでのところについて私どもの改善が見込まれるのではないかなと言う結論に至りました. - -## 上流について -ここで一つ注意なのですが,私が以前に使っていた光回線はソフトバンクで,私が今回使う回線は大家さんの意向で更新されたマーブル光であります.つまり厳密な検証環境ではないということは重々ご承知いただきたいなと思います. -基本的にはソフトバンク光よりもマーブル光の方が通信速度も安定していてパケットロスも少なくて回線の品質は良いです.しかしながらマーブル光はポート開放をすることができません.固定IPオプションを申し込めばもしかしたらみたいな話を聞いたのですが,そこらへんの準備がうまくいってない段階でこの企画を始めてしまったので,ポート開放は諦めて代替の手段を使います. - -## サーバーを外に出す -サーバーを外に出す方式について,本当はCloudflareトンネルを使いたかったのですが,トンネルが場合によってはUDPパケット通さないという仕様があったため,泣く泣く別のトンネルサービスを利用することにします. -それが`playit.gg`です.ゲーム用にサーバーをエクスポートするためのサービスらしくて,これ以外に良さげな選択肢がなかった(あったら教えてほしい)のでこれで頑張るという感じです.今のところそこまで悪い印象はないですが(ソフトバンク回線の時に比べて),本番環境で8人とかが同時ログインしたら話が変わってくるかもしれません. - -## どこを高速にするべきか -以上のことを踏まえまして,今回速度向上のために使用するのは,LAN内部でどれだけロスを減らせるかに尽きるかと思います. - -## 反省点 -前回,ボトルネックになっていた可能性のある箇所について列挙します. - -- Dockerのネットワークを経由してノードネットワークに出ていた -- Ubuntu Serverの過剰な機能がリソースを圧迫した -- Dockerが制御に挟まっていた - -このあたりかなと思っています. -## 改善点 -なんだかDockerが悪者みたいな書き方をしていますが,`docker compose`などは非常によい奴で,自分が最初にシステム管理を担当したときにDockerだったのが心底助かりました.いい奴です. -んでも,このくらいのエッジ環境を作るとなると,色々と改善点が見えてくるのです. -速度というか,直に動かすという意味では`systemd-nspawn`の方が強いですし,そこまでいかなくても`containerd`を直に触るほうが,そりゃ速いですよ. -ということで,Dockerを使わずにcountainerdを直に叩くorベアメタルにBDSをインストールしちゃう,という方策が一つ立ちました.OSももっとキレッキレのものを使う模索をしたいと思います. -### Flatcar -コンテナを動かしたいだけなら,それ専用のOSがあるよという話をKaaSの方から聞いたことがありました.コンテナ専用OSの一つがFlatcarです. -[Flatcar公式サイト](https://www.flatcar.org/) -他のコンテナ専用OSもあって,k8s専用のTalos等です. - -# 構成案s -## Flatcar-systemd-nspawn -FlatcarというOSの上に,systemc-nspawnでBDSをデプロイするという方法です. -Flatcar上で色々と動かす必要があって,イミュータブルなシステムと相性が最悪でした. -今後はこの構成は登場しません. -## Flatcar-containerd -containerdを直接叩こうという試みです. -nerdctlコマンドをインストールするIgnitionを書くところで詰まった(適切なバイナリーを落としてきても,バイナリーの形式が実行可能ではないというエラーが出た)ので,頓挫しました. -## Flatcar-k3s -containerdを直接叩くような挙動をしたいけれど,Flatcarの外から叩きたいという思想です. -k3sを入れたInginitionを書くのが難しかった(検索しても情報が少ない)ので,停止中. -## Gentoo -この記事の中で一番狂った選択肢です. -Linux Kernelのヘルツを変えてパケットさばきを高速にしたり,各種ツールについて,`-Ofast`でビルドするなどの,速くするためのカスタムを最も自由度が高くできるので,おすすめ. -最初に思いついたアイデアですが,作業コストが高すぎるので,テスト期間が終わって余力があったらやろうかなと思っています. -## Alpine-k3s -Alpine Linuxというとても小さなLinuxの上にk3sクラスタを作ってcontainerdをコントロールしようというものです.デプロイが比較的簡単で(ほんとか?),私でも3時間くらいでできました. -ちなみにコントローラーもAlpine Linuxですが,workのAlpine Linuxだけベアメタルにしようかなと思ってます. diff --git a/public/minecraftBedrockAtHome.md b/public/minecraftBedrockAtHome.md @@ -0,0 +1,80 @@ +--- +title: 自宅にMinecraft Bedrock Serverを立てた話 +tags: + - minecraft +private: false +updated_at: '2026-06-17T07:11:33+09:00' +id: 07ca7d9d4b6927bb2df0 +organization_url_name: null +slide: false +ignorePublish: false +--- +# 想定読者 +- インフラエンジニア +# 始めに +この記事は半分は備忘録です. +なので,完成品についてだけでなく,試そうとした色々な構成についても書いています. +## 記事の前提 +この記事の前提として,Minecraft Bedrock Server(以下BDS)については知っているものとします. +例えばUDPを使っているみたいな解説はいちいち致しませんのでご了承ください. +# 前記 +以前に使っていたBDSのデプロイ構成を簡単にご紹介したいと思います. +シングルノード上に`Ubuntu Server`をインストールし,その上にdockerを使ってコンテナでBDSのコンテナをデプロイしていました. +コンテナイメージは[`itzg/minecraft-bedrock-server`](https://hub.docker.com/r/itzg/minecraft-bedrock-server)を使用しました. +サーバーを外に出すため,契約していた光回線のポートを一つ解放してUDPバケットを通すような方式にしていました. + +## 反省 +この構成を続けないという決断に至ったのは,この構成でのラグがひどいという報告を受けたからです. +実際にプレイしているところを画面共有見せてもらったりしたのですが,敵をクリックした数秒後にダメージが入った演出があり,その気にはすでにこちらがダメージを負っているみたいなことが珍しくなかったです. +これについて私は深く深く反省し,UXの向上に努めるべく,インフラエンジニアの威信をかけて,次のサーバーをデプロイしようというところであります. + +# 構成の構想 +ひと口にラグを改善するといっても手段は幾通りもあります.ここで注目したいのは,前回LAN内で折り返しをしていた私のプレイだけは非常に快適だったことです.つまりのところサーバー側に関してはほとんど問題なく稼働しており,サーバーが外に出るまでのところについて私どもの改善が見込まれるのではないかなと言う結論に至りました. + +## 上流について +ここで一つ注意なのですが,私が以前に使っていた光回線はソフトバンクで,私が今回使う回線は大家さんの意向で更新されたマーブル光であります.つまり厳密な検証環境ではないということは重々ご承知いただきたいなと思います. +基本的にはソフトバンク光よりもマーブル光の方が通信速度も安定していてパケットロスも少なくて回線の品質は良いです.しかしながらマーブル光はポート開放をすることができません.固定IPオプションを申し込めばもしかしたらみたいな話を聞いたのですが,そこらへんの準備がうまくいってない段階でこの企画を始めてしまったので,ポート開放は諦めて代替の手段を使います. + +## サーバーを外に出す +サーバーを外に出す方式について,本当はCloudflareトンネルを使いたかったのですが,トンネルが場合によってはUDPパケット通さないという仕様があったため,泣く泣く別のトンネルサービスを利用することにします. +それが`playit.gg`です.ゲーム用にサーバーをエクスポートするためのサービスらしくて,これ以外に良さげな選択肢がなかった(あったら教えてほしい)のでこれで頑張るという感じです.今のところそこまで悪い印象はないですが(ソフトバンク回線の時に比べて),本番環境で8人とかが同時ログインしたら話が変わってくるかもしれません. + +## どこを高速にするべきか +以上のことを踏まえまして,今回速度向上のために使用するのは,LAN内部でどれだけロスを減らせるかに尽きるかと思います. + +## 反省点 +前回,ボトルネックになっていた可能性のある箇所について列挙します. + +- Dockerのネットワークを経由してノードネットワークに出ていた +- Ubuntu Serverの過剰な機能がリソースを圧迫した +- Dockerが制御に挟まっていた + +このあたりかなと思っています. +## 改善点 +なんだかDockerが悪者みたいな書き方をしていますが,`docker compose`などは非常によい奴で,自分が最初にシステム管理を担当したときにDockerだったのが心底助かりました.いい奴です. +んでも,このくらいのエッジ環境を作るとなると,色々と改善点が見えてくるのです. +速度というか,直に動かすという意味では`systemd-nspawn`の方が強いですし,そこまでいかなくても`containerd`を直に触るほうが,そりゃ速いですよ. +ということで,Dockerを使わずにcountainerdを直に叩くorベアメタルにBDSをインストールしちゃう,という方策が一つ立ちました.OSももっとキレッキレのものを使う模索をしたいと思います. +### Flatcar +コンテナを動かしたいだけなら,それ専用のOSがあるよという話をKaaSの方から聞いたことがありました.コンテナ専用OSの一つがFlatcarです. +[Flatcar公式サイト](https://www.flatcar.org/) +他のコンテナ専用OSもあって,k8s専用のTalos等です. + +# 構成案s +## Flatcar-systemd-nspawn +FlatcarというOSの上に,systemc-nspawnでBDSをデプロイするという方法です. +Flatcar上で色々と動かす必要があって,イミュータブルなシステムと相性が最悪でした. +今後はこの構成は登場しません. +## Flatcar-containerd +containerdを直接叩こうという試みです. +nerdctlコマンドをインストールするIgnitionを書くところで詰まった(適切なバイナリーを落としてきても,バイナリーの形式が実行可能ではないというエラーが出た)ので,頓挫しました. +## Flatcar-k3s +containerdを直接叩くような挙動をしたいけれど,Flatcarの外から叩きたいという思想です. +k3sを入れたInginitionを書くのが難しかった(検索しても情報が少ない)ので,停止中. +## Gentoo +この記事の中で一番狂った選択肢です. +Linux Kernelのヘルツを変えてパケットさばきを高速にしたり,各種ツールについて,`-Ofast`でビルドするなどの,速くするためのカスタムを最も自由度が高くできるので,おすすめ. +最初に思いついたアイデアですが,作業コストが高すぎるので,テスト期間が終わって余力があったらやろうかなと思っています. +## Alpine-k3s +Alpine Linuxというとても小さなLinuxの上にk3sクラスタを作ってcontainerdをコントロールしようというものです.デプロイが比較的簡単で(ほんとか?),私でも3時間くらいでできました. +ちなみにコントローラーもAlpine Linuxですが,workのAlpine Linuxだけベアメタルにしようかなと思ってます. diff --git a/public/updated_portage_on_gentoo_from_rsync_to_git.md b/public/updated_portage_on_gentoo_from_rsync_to_git.md @@ -1,34 +1,35 @@ ---- -title: GentooのPortageのアップデートをrsyncからgitにした -tags: -- gentoo -private: false -updated_at: 2025-09-01 17:46 -id: null -organization_url_name: null -slide: false ---- -# TL;DR -1. 必要なパッケージを入れる -``` -emerge --ask app-eselect/eselect-repository dev-vcs/git -``` -2. 元あった設定をクリア -``` -eselect repository remove -f gentoo -``` -3. rsync -> git -``` -eselect repository add gentoo git https://github.com/gentoo-mirror/gentoo.git -``` -3.5. もし、途中で引っかかったら、 -``` -rm -r /var/db/repos/gentoo -``` -4. 更新 -``` -emaint sync -r gentoo -``` -# Ref -- https://wiki.gentoo.org/wiki/Portage_with_Git -- [old resouse](https://www.jamescherti.com/gentoo-speed-up-emerge-sync-with-git/)- \ No newline at end of file +--- +title: GentooのPortageのアップデートをrsyncからgitにした +tags: + - Gentoo +private: false +updated_at: '2026-06-17T07:14:21+09:00' +id: dbdf830dac681a6deec1 +organization_url_name: null +slide: false +ignorePublish: false +--- +# TL;DR +1. 必要なパッケージを入れる +``` +emerge --ask app-eselect/eselect-repository dev-vcs/git +``` +2. 元あった設定をクリア +``` +eselect repository remove -f gentoo +``` +3. rsync -> git +``` +eselect repository add gentoo git https://github.com/gentoo-mirror/gentoo.git +``` +3.5. もし、途中で引っかかったら、 +``` +rm -r /var/db/repos/gentoo +``` +4. 更新 +``` +emaint sync -r gentoo +``` +# Ref +- https://wiki.gentoo.org/wiki/Portage_with_Git +- [old resouse](https://www.jamescherti.com/gentoo-speed-up-emerge-sync-with-git/)