mcbot-onekey — Minecraft 保活ワンキー

DevOps

概要

mcbot-onekey は、Minecraft サーバーを常時オンライン状態に保つための簡易ボット群をワンキーでデプロイできるツールです。ベースには @baipiaodajun/mcbot を採用し、プロセスマネージャーとして pm2 を使うことで再起動や監視を自動化しています。複数サーバーの同時接続に対応し、ユーザー名は自動でランダム生成、接続時にサーバーバージョンを推定して適切に接続します。導入手順は非常にシンプルで、リポジトリをフォークして設定を変更後、付属のインストールスクリプトで一気にセットアップできます。テスト用途やサーバーの“保活(ハングアップ防止)”、擬似プレイヤー接続などに便利です。

GitHub

リポジトリの統計情報

  • スター数: 7
  • フォーク数: 13
  • ウォッチャー数: 7
  • コミット数: 30
  • ファイル数: 6
  • メインの言語: Shell

主な特徴

  • 複数サーバー同時運用対応(マルチインスタンス管理)
  • 自動ランダムユーザー名生成により手動設定不要
  • サーバーバージョンの自動検知で互換性を簡素化
  • pm2 によるプロセス管理で自動再起動・安定稼働

技術的なポイント

本プロジェクトは JavaScript(index.js を中心)ベースの mcbot ロジックと、シェルスクリプト(install.sh)によるワンコマンド導入フローを組み合わせています。肝は pm2 を用いたプロセス管理で、各ボットインスタンスを pm2 の「アプリケーション」として登録し、障害発生時の自動再起動やログ管理、複数インスタンスの並列実行を容易にしています。バージョン検出は Minecraft のサーバー応答(プロトコルハンドシェイクやサーバーリスト応答)を解析してサーバーバージョンを推定し、適切なプロトコルで接続することで互換性問題を低減します。ユーザー名自動生成はランダム文字列/プリセット組み合わせで一意に生成し、同一サーバーへの同時接続時の競合を避けます。install.sh は依存インストール(Node.js、pm2、必要な npm パッケージ)の自動化、設定ファイル配置、pm2 による起動設定登録までを行うため、手作業を大幅に削減します。設計上の注意点としては、Paper や Spigot などのサーバー実装への依存(推奨は Paper 1.21.1)、公式利用規約やサーバー管理方針への準拠が必要である点、modded サーバーやプロキシ環境での互換性問題があり得る点が挙げられます。ログの持続化や監視ダッシュボード導入(例:PM2 Plus、Grafana)を追加すれば運用性がさらに向上します。

プロジェクトの構成

主要なファイルとディレクトリ:

  • README.md: file
  • index.js: file
  • install.sh: file
  • myself.txt: file
  • package.json: file

…他 1 ファイル

ファイル概要:

  • index.js: mcbot のエントリーポイント。接続ループ、バージョン判定、再接続ロジック等を実装。
  • install.sh: 環境構築と pm2 によるデプロイ手順を自動化するシェルスクリプト。
  • package.json: 依存関係(@baipiaodajun/mcbot 等)および起動スクリプトの定義。
  • myself.txt: 作者や設定サンプル、注意事項など簡易の補足情報。

使い方(簡単な流れ)

  1. リポジトリをフォークまたはクローン。
  2. 設定ファイル(接続先サーバー一覧、ユーザー名生成ルール等)を編集。
  3. install.sh を実行して依存をインストール、pm2 に登録。
  4. pm2 list / pm2 logs で稼働状況を確認。必要に応じて pm2 restart で管理。

README に記載の推奨事項(Paper 1.21.1 推奨、server.properties の設定確認など)に従うことで安定性が高まります。

注意点と改善提案

  • 利用前にサーバー管理者の許可を得ること(規約違反や負荷問題の回避)。
  • modded 環境ではプロトコル差分により接続失敗する可能性があるためテスト推奨。
  • 今後の改善として Docker 化による環境の一貫性確保、環境変数ベースの設定管理、ログの集中収集(例:ELK)や監視アラートの実装が挙げられます。

まとめ

簡単導入で複数サーバーの保活が可能な実用的なワンキーソリューション。

リポジトリ情報:

READMEの抜粋:

🤖 Minecraft Bot Keep Alive (mcbot-onekey)

基于 @baipiaodajun/mcbot + pm2 的 Minecraft 保活 Bot
让你的服务器永不掉线 🚀

✨ 特性

  • 🌐 多服务器支持 - 同时挂机多个 Minecraft 服务器
  • 🎲 自动随机用户名 - 无需手动配置,自动生成
  • 🔍 智能版本检测 - 自动识别服务器版本
  • 💪 稳定可靠 - 基于 pm2 进程管理,自动重启
  • 一键部署 - Fork 改配置,一条命令完成部署

📋 适用场景

  • 🏠 服务器保活 / 挂机
  • 🧪 服务器测试
  • 👥 模拟玩家在线

🚀 快速开始

第零步:配置你的 Minecraft 服务器

在开始之前,请先确保你的 Paper 服务器配置正确。

📌 推荐版本:Paper 1.21.1(最稳定,兼容性最好)

編集サーバーの server.properties など設定を確認のうえご利用ください。